You are on page 1of 73

LUS HOMEM

TOPICS IN PROGRAMMING LANGUAGES


A PHILOSOPHICAL ANALYSIS THROUGH THE CASE OF PROLOG

Topics in Programming Languages

Topics in Programming Languages


A philosophical analysis through the case of Prolog

LUS HOMEM

Chartridge Books Oxford Hexagon House Avenue 4 Station Lane Witney Oxford OX28 4BN, UK Tel: +44 (0) 1865 598888 Email: editorial@chartridgebooksoxford.com Website: www.chartridgebooksoxford.com Published in 2013 by Chartridge Books Oxford ISBN ISBN ISBN ISBN print: 978-1-909287-72-3 digital (pdf): 978-1-909287-73-0 digital book (epub): 978-1-909287-74-7 digital book (mobi): 978-1-909287-75-4

L. Homem 2013 The right of L. Homem to be identified as author of this work has been asserted in accordance with sections 77 and 78 of the Copyright, Designs and Patents Act 1988. British Library Cataloguing-in-Publication Data: a catalogue record for this book is available from the British Library. All rights reserved. No part of this publication may be reproduced, stored in or introduced into a retrieval system, or transmitted, in any form, or by any means (electronic, mechanical, photocopying, recording or otherwise) without the prior written permission of the publishers. This publication may not be lent, resold, hired out or otherwise disposed of by way of trade in any form of binding or cover other than that in which it is published without the prior consent of the publishers. Any person who does any unauthorised act in relation to this publication may be liable to criminal prosecution and civil claims for damages. Permissions may be sought directly from the publishers, at the above address. Chartridge Books Oxford is an imprint of Biohealthcare Publishing (Oxford) Ltd. The use in this publication of trade names, trademarks service marks, and similar terms, even if they are not identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to proprietary rights. The publishers are not associated with any product or vendor mentioned in this publication. The authors, editors, contributors and publishers have attempted to trace the copyright holders of all material reproduced in this publication and apologise to any copyright holders if permission to publish in this form has not been obtained. If any copyright material has not been acknowledged, please write and let us know so we may rectify in any future reprint. Any screenshots in this publication are the copyright of the website owner(s), unless indicated otherwise. Limit of Liability/Disclaimer of Warranty The publishers, author(s), editor(s) and contributor(s) make no representations or warranties with respect to the accuracy or completeness of the contents of this publication and specifically disclaim all warranties, including without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or promotional materials. The advice and strategies contained herein may not be suitable for every situation. This publication is sold with the understanding that the publishers are not rendering legal, accounting or other professional services. If professional assistance is required, the services of a competent professional person should be sought. No responsibility is assumed by the publishers, author(s), editor(s) or contributor(s) for any loss of profit or any other commercial damages, injury and/or damage to persons or property as a matter of products liability, negligence or otherwise, or from any use or operation of any methods, products, instructions or ideas contained in the material herein. The fact that an organisation or website is referred to in this publication as a citation and/or potential source of further information does not mean that the publishers nor the author(s), editor(s) and contributor(s) endorses the information the organisation or website may provide or recommendations it may make. Further, readers should be aware that internet websites listed in this work may have changed or disappeared between when this publication was written and when it is read. Typeset by Domex, India Printed in the UK and USA

Dedication
Para o Afonso, meu filho

Contents
Dedication Abstract Acknowledgements v ix xi

Section I Arguments ) The phonetics and philosophical argument ) The symbolic or rational argument ) The difficulty argument ) The content-and-form artificial intelligence argument ) The efficient cause argument ) The model theory argument Notes

1 7 7 8 8 9 9 10 11 13 26 26 27 28 30 33 35 39 39

Section II Arguments ) The endogenous to exogenous language argument ) The efficient cause continuance argument ) The reviewing incommensurability argument ) The functional and declarative programming languages argument Notes

Section III Arguments ) The -calculus argument

vii

Topics in Programming Languages

) The Prolog argument Notes 4 Section IV Topics in programming languages: a philosophical analysis through the case of prolog Summary State of the art Goal Detailed description Bibliography

41 50 51

51 51 51 53 54 59

viii

Abstract
As opposed to the rhapsodically recounted myth of the Tower of Babel it is commonly held that Programming Languages have superseded Natural Languages in concentrating on two fundamental aspects that have arisen from Recursion Theory. Not that Natural Languages did not cleave to similar cases in point, but the status of one Universal Language in which all problems could be declared, and one decision method to solve them were, as literature specifies, and respectively, a sort of Declarative demand and Procedural request of the Philosophy of Language and Computation that most constituted last centurys prominent boundary. We search for the Classical Antiquity of the functional Paradigm, wherefrom Programming Languages were born, willingly inviting the Philosophical starting place as a Science and Language, since the existence of the modern Alphabet, after which we wish to account more consistently Programming Languages Topics. The last question entails the well-known Church-Turing Thesis, and the status of effectively calculable functions, to which we will offer one Philosophical route of Understanding, convoking what we have decided to address as the Calculus and the Computus traditions and their sharp distinctions. The first question addresses a much deeper problem, especially because, inasmuch as only partial functions pervade, Universality is a restricted concept in what relates to possible constituted Languages. This is why the premise of this Thesis is the immiscibility of Natural and Programming Languages, not restricted to the Syntax and Semantics partaking from each to the other, as is the habit, but, more imperatively, astride both in a conjoined ascent from one Sound of Speech Analysis. In such a way, the status of the Programming Language Prolog will, by the end, be elevated, not through typical Computer Science jargon, but, inversely, through an Analysis of the conceptual intricacy of Arguments that such Artificial Intelligence privileged historical Language seizes upon. These Arguments being exposed in isolation, our aim is to offer a consistent Philosophical list that can best take on, in problematising one
ix

Topics in Programming Languages

such unbreakable knot as the balance between Natural and Programming Languages, from the core of Prolog, an original purposed NaturalLanguage Analysis tool. Notwithstanding being prevented from adventurous conclusions, this book holds responsively its finale, having clearly ascertained that the Philosophy of Computation is to find its place.

Acknowledgements
I wish to express my sincere gratitude to Mara Manzano Arjona PhD, adviser for this book, not only for having served as a hard-working reader and critic, but overall, for having, since the very first moment, welcomed me in the warmest and most humbling manner, accordant with her profound wisdom and selfless concern, for having assisted so much through her motivation and encouragement, through her prompt and cogent replies, as much as in content, and first and foremost for having influentially guided this project. The author would like also to convey thanks to all involved in the design of the Epimenides Official Postgraduate Program in Logic and Philosophy of Science of all Universities and Departments, and particularly those with whom I took lessons. The interdisciplinary focus was very useful, the coordination and mediation was excellent, and the richness of depth invoked was truly worth the Quality Grant, something that, very much appreciable to the Students, must have been seen to have called for no small investment and true dedication. I would like also to sincerely thank Olga Pombo PhD, presently Head of the Executive Committee of the Centre for Philosophy of Science at the University of Lisbon, for having invited me to be a member in the summer of 2010, and for having assisted me with gifts of understanding, direction and continuous support. To all, my deepest sense of gratitude.

xi

Section I

In the transcription of Ancient Greek characters and words, we have chosen to use the conventional Middle Ages form [which includes both majuscule and minuscule letters; in graphical terms, equivalent to the use of uppercase and lowercase letters], as opposed to the original exclusive use of the capital form of Classical times. It was also precluded the use from the original Ancient Classical form the absence of any space between words or paragraphs, with only one string of capital letters in the case of expressions for reasons of comprehension. Following the text, what might come up first is the Greek word, or the synonym in English, in terms of words or expressions, until the end of the best-conveyed occurrence by the author. Often, in such a context, when absolutely required, it shows the proper transliteration in English inside brackets. Greek words forgo the use of brackets. (endoxa) in alliance with the word Aristotle used the term (topos) with the aim of addressing the title The Topics of one of the six works on Logic, known as the Organon. The sense of common-placed assumptions was, thus, as if Arguments in Logic had found the same locus as Space itself, that is, presumably backed by the Euclidean Geometrizing rigour, binding together Logic (topos) was close to the sense of with Physics, not only because Elements () (stoichea) precisely the title of Euclides Geometry ) but also due to the existence of prior notes Book ( credited by Aristotle himself, as when he echoed Zeno of Elea: We say that a thing is in the world, in the sense of in place, because it is in the air, and the air is in the world; and when we say it is in the air, we do not mean it is in every part of the air, but that it is in the air because of the outer surface of the air which surrounds it;

Topics in Programming Languages

for if all the air were its place, the place of a thing would not be equal to the thing-which it is supposed to be, and which the primary place in which a thing is actually is. (Aristotle, Phys. IV, 209a) According to the Eleatic School Representative, whom Aristotle called Dialectic in person, each things place (topos) is sculpted by the closure of air, as if things were luminescent intervals of one Monism, and one (kinesis) thought to be a content-and-form paradox. Movement, spelling illusion of the one and only principle by Parmenides and Zeno both chief and long-lasting references of the Eleatic School was, too, a considerably difficult concept for Aristotle, which denotes, moreover, striking affinities with sensory experience. This is supremely important, (topos) in the as it is in the same work that Aristotle defines place following manner, Now if place is what primarily contains each body, it would be a limit, so that the place would be the form or shape of each body by which the magnitude or the matter of the magnitude is defined: for this is the limit of each body. (Aristotle, Phys. IV 212a). However, Aristotle, by choosing the title The Topics for one of the six Books of the Organon, was doing so under the overall dominance of Dialectic or Argumentative Studies. Under these circumstances (topos) was taken as a commonly held argument of determined instances laid down to favour the approval of the several propositions that entailed the same argument. This had much more to do with Persuasion than Demonstration, and much more to do with the intermittent Dialectic Studies than with the scrupulous rigour of Geometry. (topos) was close to the sense of the void, Therefore, it seems that bereft of anything, and the content-and-form paradox of every being, to the extent that Logical Arguments, themselves bereft of the ideal Geometrising locus of syllogism and demonstration, would fall under this judgement. The sense that something is intermittently absent is evident not only in the (topos) was a heading under which truncated claim by Aristotle that syllogisms would be revealed, such as enthymemes, but also in the fact that one critical reader would find it more appropriate referring to it as proper places scientific syllogisms, instead of rhetoric riddles. ) is, thus, a touchstone concept that serves to Dialectic ( (topos). unveil properly the use of Plato envisaged the concept, rescuing it, as well, from the Eleatic School, as a path to Truthful sources, and acknowledgeable Truth firsthand. Inasmuch Plato promoted the concept from the Eleatic sense of one inflamed wrangling altercation, eristic in essence (Plato, Soph. 224e-226a, Rep. 499a, Phaedrus, 216c), to the pathway of the Good, so

Section I

(Dialectic), too Aristotle crafted scientifically the concept of expurgating it from alien symbolism. (Dialectic) has been relative, Hereafter, and since Aristotle, not to the Good in substance under one holistic Theory of Forms in Platonic fashion, but merely to the truth of the dialogue, with reasonable arguments being paramount. This aspect, by gravitation, shifted also the profound semantics of the elenchus of all other terms, and, most notably, the proper meaning of Elements (stoichea), extensively perdurable in Europes History and Philosophy of Science as to have retained in Latinised form its lexical provision in the title Philosophiae Naturalis Principia Mathematica by Isaac Newton in the seventeenth century, emulating Euclid. Elements (stoichea), as an ancient term, that is, prior to Euclids and Aristotles time and intellectual ambience, denoted and connoted various things, to the degree that it meant each of the atomised twenty-four letters of the Greek alphabet. This is true not only of this, but, usually also of other properties and relations, other than the common letterform and respective utterance. These genres of other properties and relations were affiliated with the idiosyncratic Hellenistic Atomist tradition on one side, and on the other side, to others, most especially Pythagoreanism. Pythagoreanism was very receptive to the domains of Gymnasium exercising Sapience as Astronomy or Music, not excluding hermetical investigations, and was first entrenched-synchronically in Hellenistic Egypt. For Aristotle and Euclid, Elements (stoichea), were not taken as having risen out of these conjuring spirits, nor did they have a magical nature anymore, but were strictly scientific. Maybe all that lasted with abiding force was the irreplaceable vital metaphor, distributed among various traditions of the world, being composed not quite by letters or (taxis) (order) and atoms but, instead, by their generated (thesis) (position), which have led, as well, by Philosophical consentaneity, to the introduction, coherently, of one linear interpretation from indivisible (harmony or cosmos). (atoms) to wholly ordered (Logos). The arch between both was nothing but This is in accordance with the on-going course of our dissertation that (topos) suitably will eventually guide us to better understand how goes as the head of the content-and-form paradox, pursuing the sense of this undetermined evanescent limit the content-and-form paradox ascribed most predominantly to (dynamics), otherwise known as potentia through the Latin literary legacy, and, in contrast with the expected, not that much conditioned by the force of Geometry, the

Topics in Programming Languages

primary interested field that would presumably welcome, precisely by (topos) in the first place. reasonable assumption, the concept of This approach will hopefully stage its abundantly evident kinship with (Logos), to serve as a medium for our prior the concept of desideratum, that of further discussing what it means, then, to be speaking about Topics in any Language. Continuing to reason about what it means to be speaking about Topics in Programming Languages will be, henceforth, a complementary problem. None of the latter can be accomplished if we cannot grasp the fundamentals behind Aristotles (topos) for a Work on Logic, once it fairly constitutes the choice of preliminary ground of our thesis. One fundamental assertion is recognising that the emancipation of the Alphabet as one natural Philosophical Language, neutrally or scientifically constricted to mere formality, additionally of a more constringent connotation to one being or abstract, predominantly functional, provided in Aristotles and Euclids time, was, thus, verifiably concurrent with the Euclidean Geometrising notion of ruling Principia, and also Aristotles envisagement of transforming the archaic exterior principle from the (arch), to the Parmidean (all that is one), comprising Pre-Socratic almost four centuries of Greek Philosophy into the inherent, autonomously intrinsic element at the core of Physics by asserting as follows in , (Lectures on Nature), (or simply, The Physics): Of things that exist, some exist by nature, some from other causes. By nature the animals and their parts exist, and the plants and the simple bodies (earth, fire, air, water) for we say that these and the like exist by nature. All the things mentioned present a feature in which they differ from things which are not constituted by nature. Each of them has within itself a principle of motion and of stationariness (in respect of place, or of growth and decrease, or by way of alteration). (Aristotle, Phys. II, 192b). I claim, hence, both to be equivalent: (Logos) The former Symbolical and Semantic exteriorisation in (here as Language) placed instead by one scientifically and philosophically interiorised Alphabet permitted, in similitude, in the all-encompassing realm of Nature and Physics, to interiorise the verge of one principle that had since the pre-Socratics seen several and plentiful intellectual ownerships, in all forms of externalised principles, basically contending to dissert on (the origins), was now redirected to a principle by nature and within itself.

Section I

Thales of Miletus water, Anaximanders of Miletus unlimited (apeiron), Anaximenes of Miletus air, Xenophanes of Colophons earth, Heraclitus of Ephesus fire, Pythagoras of Samos number, Empedocles of Agrigentums four elements, Anaxagoras of Clazomenaes (nous), (intellect, mind, common sense), Democritus of Abderas (atoms), are all stepping stones to further achieving a sufficiently from within all (the origins) to elements of the Nature principle, thus catapulting the meaning of (stoichea) (elements). This shift pointed sharply to the need Aristotle had to respond to the problem already mentioned of (dynamics). The vulnerable and volatile character of change, movement and sense experience was, in such a way, brought about to be self-absorbed, and introspectively naturalised. This is what propelled Aristotle to proportion and come up with the entirely original concept of (hyle) (matter). In effect, (hyle) (matter) was just the right analogy with the (Alphabet), once, apart from having been AB(Alpha, Beta), materialised, the Alphabet retained the idea that it was not anything else other than what it is, by the iterative nature of its lexicon. The shift in debate is an Olympic remodelling. For Plato, recognisably, the Theory of Forms was not only, so to speak, carved in the air in one general plausible embodiment of Arithmetic, but, furthest from this original position, it was, beyond that, respective to (the entirety, the total). Its origins were, like Mathematics, very worldly, though, of accountants dealings and agrarian measurements. These manifestations were hospitable to the context of two-line-segment, instead of the two numbers abstract, which is clearly in detriment to the non-geometrised views of Nature. The intricacy of quantities to objects was mainly operated by means of what was called anthyphairesis1 from (anti) (closer to the sense of instead of, as a substitute for, than, over against, or opposite to) and (a taking away, an abstraction of), now commonly known as a continued fraction, or as that which continuously subtracts the smaller from the larger, in an essentially geometrised way. This operation was performed by (analogy) in all possible (topos), allowing algebraic expressions configurations of space and to be animated in a geometrised style and vogue. Anthyphairesis consisted, thus, of passing on from dividing the larger by the smaller (finding, thus, a quotient and a remainder) to dividing the smaller by the remainder. In geometrical terms, this corresponded to, in a Pythagorean square, transporting any side to the interior diagonal, finding, thus, one point

Topics in Programming Languages

(the rest of the segment being the remainder). From this point of the interior diagonal to any vertex, we find the side of a new square, repeating the process of transporting the side to the interior of the new and ever shorter diagonal, thus agitating observers by showing magnitudes to be incommensurable. This method shows coherence, for instance, with the usual search for the least common factor, based on the pattern of subtractions, and with the Greek general refusal to use numbers (fractions or real) for the standard description of graduate shifting quantities. Curiously, Plato vindicated Nature as a shadowy cave presence, but almost impossibly so, except metaphorically, that is, by transferring (metaphor) as objects would instead emanate light, simile or and therefore emit their concrete architectural forms, Nature being not exactly a shadow, but a copy of light, something that is close to the actual sense of photography or, fundamentally, a Model. These notes are also intended to throw light on the congruence with the Ancient Greek Emission Theory of Vision supported by Plato and how far Geometry was integrated into Platonic Philosophy and the Theory of forms, (the origins) that were to the degree that it was not just all previous ascribed one specific Geometrical solid the Tetrahedron (four faces) to fire, the Hexahedron (six faces) to earth, the Octahedron (eight faces) to air, the Dodecahedron (twelve faces) to the excluding ether, and Icosahedron (twenty faces) to water as, for example, water, which was one such element that was unable to hold any vertex, of which there is no better example in Nature of change and movement, and which was itself a placeholder for one very complex solid of Geometry (of twenty triangle sides). In Plato, Geometry was thoroughly comprehended from within (dynamics). Aristotle exempted, therefore, in a way, the world from Geometry, in spite of being a contemporary of Euclid and having a thirst for knowledge of the Platonist fountain. Maybe there isnt, consequently, a more extremist demonstration of the aforesaid than the fact that the founder of the Academy in Athens defended Time, the vessel for sensory experience and movement, as an image of eternity (Plato, Timaeus, On Physics, 37c-e), while, in contrast, his student form Stagira merged eternity with time, through the idea of one substratum, thus, stating Time itself to be one of a kind, of everlasting existence and sempiternity. This sort of characterless , (hypokeimenon) or substratum characterisation conjoins excellently with the idea of the exposed content-and-form paradox.

Section I

In agreement with the exposed was the Aristotelian new Theory of the Four (causes, emergence), a sort of Philosophical Analytical Cosmogony that was simultaneously a new Methodology, in lieu of the (origins). former four Most prominent, and that which paves determinately the way for our Topic of Discussion, is precisely the graded movement between the efficient cause and the final cause. The efficient (cause) (Aristotle, Parts of Animals 641b24-25; (the origins, the Physics 194a29-30, 199a8-9) was described as (motion), and the final cause as (the commencement) of purpose), both causes much more conducive to movement and (dynamics) than the material (hyle) and formal (ousia). Notwithstanding this, what is revealed is that not only do these two separated pairs form the border of the division between Nature and Artificiality for Posterity, but more importantly, they are synthetically brought together, to the effect that out of each of the four causes, there is found to be one content-and-form paradox, a limit, as mentioned before, to have held the harmony of one irrepressible flux, of such alterations, as in quantity, quality, several instances of being acted upon, (topos). time and, of course, space or Nature and Artificiality are, by this effect, and in Philosophical terms, irreconcilably reconciled to being forthcoming, eventually extending to such areas as the Philosophy of Computation and Artificial Intelligence. We defend the fact that, more important than setting the border between Nature and Artificiality, it was the evanescent characterisation of the content-and-form paradox that silently recorded for posterity the essence of the Natural Philosophy Debate. Now, to condense as much as possible our first draft conclusions, we outline them below in paragraphs, with considerations put forward in a declarative style, as far as possible:

Arguments
) The phonetics and philosophical argument
After the Phoenician Alphabet, the first ever non-pictographic Phonetic Alphabet (in which the script denoted that one sound, a phoneme of the spoken language, was represented by one symbol, even though it consisted of consonants throughout, lacking vowels), thus producing a

Topics in Programming Languages

sort of Linguistic Universal Algebra Method we find as being complementary to the consequent Method by constraint of the derived Greek Alphabet (a proper modification of the Phoenician Alphabet), which was Semantically and Philosophically inspired by Aristotles time and Aristotle himself, and which was that of ascribing little or less meaning to each word and letter form except its phonetics or sound. This brings up again Derridas not too trifling claim that Philosophy would not be possible without the Alphabet.

) The symbolic or rational argument


Following the above-mentioned breakthrough, we recognise that this licensed another Symbolical axial distinguisher between two views, not by exactly diminishing one in favour of the other, but by acknowledging first and foremost the same as that which is perceivable hereafter as a boundary demarcation in the Philosophy of Language. According to this view the World and its Natural constituents are seen (ethereal) signifiers (almost as of one as (material) or absconded meaning, purely of a Philosophical Quest), transforming any Language into one epiphenomenon, as if the Language and Alphabet (cosmos). were primarily the (Logos). According to this other view Language is It remains to say that it is possible to have passed the first view, having, therefore, one scientifically Alphabetised Philosophy, and still be a strong proponent of the first. Likewise, yet less convergent due to the orderliness of History, it is possible to hold the second view and lack any Alphabet.

) The difficulty argument


The united prevalence of the idea of one limit, already mentioned as the content-and-form paradox, out of which arises the doubt about which excludes the other, at what time, by which actions are taken, to which (topos) space, and out of which causes of emergence, with characterised here as one fugitive limit, having absconded to Geometry, prevails in the exact same way as the holistic coeval emergence of the four different causes propounded by Aristotle, after his having grasped this apperception with a similar sensitivity. Similarly, an Analysis of Topics, as is the intention of this Thesis from the Title, can bear affiliated paradoxes, as if we have written a frontispiece with the intention of writing an Analysis of Dialectics, with one maximum aporia.

Section I

) The content-and-form artificial intelligence argument


In exchange for the view by Aristotle, borrowed from Zeno of Elea, of limits therein present, like air surrounding beings, we could thereon satisfy the same model, by extending it to appropriately meet the emergence of the efficient cause in the given example of the art of casting a statue (Aristotle, Phys. 195 a 6-8; Cf. Metaph.1013 b 69). As a continuation, we can extend further the content-and-form Philosophising Paradox, to a view similar to that of Plotinus of man sculpting its own statue (Plotinus, Enneads, I,6,9). I argue that this categorically finds and superbly orchestrates the deepest insightful and distinctive mark that we encounter in Artificial Intelligence (AI). Though not the place for the enunciation of prolific examples, we argue, wholly and declaratively, that Greek Culture, Mythology and Philosophy, conserving this content-and-form paradox, in both the Symbolic and Scientific poles, can confidently be appointed as the genuine precursors of AI, forbearing signs of such intellectual portent, of which the gear Antikythera of Archimedes was the pinnacle, but in the group of other impeccable demonstrations, such as the Elements of Greek Mythology in Homers Iliad and Odyssey, Hesiods Works and Days and the Theogony, and many other Historic Classical accounts. It has also demarcated sharply the distinctive line between Nature and Artificiality by formal means, wherefore we conclude that it seems more just to substitute the view of Artificial Intelligence as a Discipline of Computer Science, by the exact opposite: Computer Science seems to be one very late survey of the age of Gods, semi-Gods and mortals, in which Artificial Intelligence was experimented.

) The efficient cause argument


Of all the four Aristotelian causes, we designate a leading and prominent importance to the efficient cause. This is because the efficient cause sublimates into abstraction every inquiry into Nature by contemplating its initiating motion that leads to change. Passing over the naturally imperfect disambiguated term (cause) in the confrontation with Aristotelian and Greek fonts, and even the explanatory priority in return for one axiomatic listing by the Author from Stagira, we can, though, see from an Aetiological perspective crucial semantic turnovers.

Topics in Programming Languages

On the one hand this form of abstractness in the efficient cause (Phys. 195 a 6-8. Cf. Metaph. 1013 b 6-9) that ranks more highly a principle of action interiorised in the human mind as an agent (e.g., the art of sculpting), allowed the passage of the notion of self-autonomous efficient cause that has, ultimately, been driven to the notion first put forward by Leibniz of function f(x) and, of course, mixing along the way with the notion of artefact, the model found to parse between one agents intention and an object or machine, of which there is no better example than the so-called Universal Turing Machine. The determinant topic under the attention of Programming Languages is more sharply foreseen by this assessment. On the other hand, the emergence of the efficient cause was the keystone to the first off space apart from Teleology or the final cause from the more static natural inaugural causes. One such envisagement (Phys. 198 b, 19-27) that was first ever proposed scientifically by Aristotle, and which was barely distinguishable from atomist and mythological bases, though, was in full comprehension of the principles that would cause the ruin of the Teleological Principle by Darwin in the nineteenth century, and permit the advance to Computation and Computationalist views.

) The model theory argument


As Maria Manzano points out in the preface to the book Model Theory, (1999) Oxford Logic Guides, the Discipline born fundamentally from Alfred Tarskis insights has rooted in itself an inestimable Epistemological integrity, by convoking, as a result of Mathematical Logic, the representation as a model, this outcome being the result of the establishment of one Language L and a class of objects M, which are structures with the notion of truth bringing them together. Although aware that what is being depicted is one Mathematical Theory between mathematical structures by means of the apparatus of formal language, we wish, additionally, to save from confinement and the still reliable, broader and faithful historical view of Model Theory, that is, (...) the study of the interpretation of any language, formal or natural (...).2 In this fashion, it stands to reason as well, that the interpretation of any language, formal or natural, towards any other, testing both Natural and Programming Languages through the notion of a truthful full interpretation, in which, again, any Language L, natural or programming,

10

Section I

can be seen as playing the role of a metalanguage to the other, granting, fundamentally, in a panoramic view, such a one that allows Languages as Structures to face each other. We wish, meanwhile, to contemplate more steadily the basic notions of Universal Algebra and, in agreement, the basic notions of Model Theory. Universal Algebra endorses topologically enriching concepts such as groups, rings, fields and orders, which assert consistently the dissertations goal, and, consequently, set the right scenario and help the progress of Model Theorys notes about Natural and Programming Languages. On this basis, inarguably, lies the symbiosis we found between Symbolical and Philosophical views, as contemplated in Platos Philosophy as well as in the Western tradition. The class of objects M and the Universal Algebra method of the anthyphairesis bond have been so strongly forced into one interpretation, as to have been foreseen from the core of the Platonist Philosophy and obelised against contrary points of view, an excellent way of allowing its isomorphism from the mind to mathematical structures. To reinforce this assertion, we shall, in conclusion, appeal to the corroboration of the previously mentioned perspective with the fact that we have the continent-and-form paradox on one side, and the carved in (metaphor) on the other, as though it were the sculpting stone of structures to find one interpretation, which inevitably joins securely, in terms of Mathematical and formal objects such as quantities, magnitudes or letters of the Alphabet, the method of continuous subtraction or anthyphairesis.

Notes
1. After the Work by Fowler, D., The Mathematics of Platos Academy: A New
Reconstruction, (1987) Oxford, Clarendon Press, we acknowledge that this term rescued to stand out by the cited author anthyphairesis was derived from the Greek verb anthuphairein used in Elements VII, 1 and 2, and X, 2 and 3, by Euclid. The meaning of reciprocal subtraction has been promoted to other more ancient sources by David Fowler, to such an extent that the author comes to argue that the original meaning of anti-hypohairesis, reciprocal subtraction, was one throughtout not silent and assumed Greeck Mathematical and Logocratic Method. (Vide, p.62). David Fowler came to give prominence to one passage by Aristotle in The Topics (158b29ff) in which Ratio Studies were brought to be disscused by means of the above-mentioned term. He said of himself as agreeing with

11

Topics in Programming Languages

Alexander of Aphrodisias Comments on Aristotle when he stated that the Philosopher from Stagira understood by that process the same as anthyphairesis, corresponding, contrary to division, to the method of repeated subtractions. 2. Hodges, W. (2009) Model Theory, The Stanford Encyclopedia of Philosophy, Zalta, E.N. (ed.). http://plato.stanford.edu/archives/fall2009/entries/model-theory/

12

Section II
We shall now proceed by highlighting the Mathematical and Philosophical role of functions to further come up with the resource of -Calculus the smallest universal programming language in the world1 in the words of Ral Rojas and Prolog, one of the first Logic Programming Languages, to assess properly the aim of discussing Topics in Programming Languages. -Calculus was created by Alonzo Church in the 1930s as a sequel to the Investigation for the Foundations of Mathematics, a field of study so closely adjoined to Philosophy, that it set up and provided a debate with the notion of the distinct assorted Philosophies of Mathematics of Platonism, Formalism, Intuitionism and Logicism acting together. This intellectual vibrancy obeyed the urgency of avoiding the pitfall of paradoxes and tides of axiomatic misconceptions that characterised the beginning of the twentieth century search for the Foundations of Mathematics, following the heritage of Hilberts thorough Entscheidungsproblem. This was only one among twenty-three open questions or collections of problems presented by Hilbert and often described as one Krisis. Alonzo Church attempted, thus, by inventing -Calculus, to formalise Mathematics through the notion of functions, more noticeably, effective procedures, contrary to typical Cantors and Dedekinds Set Theory (or, preferably, at the time its limpid Zermelo-Fraenkel version contemplating the non-existence of some sets and the famous Axiom of Choice).

13

Topics in Programming Languages

The idea at its core was to enhance in simplicity the realm of functions, by drawing a sharp line between Consistency, Independence and Universality, in an approximate accomplished style of Set Theory, conjecturing, based on the Theories of Recursion, Type, Logic, Axiomatic and Proof. In other words, Alonzo Church attempted to substitute the place of Set Theory into that of a functional language in the well-ordered pair of Foundational Mathematics that corresponds to the twofold Set Theory and Propositional Calculus. It renders in the affirmative the postulation that such an idea never expanded, but on the contrary, it helped towards the progress of Computability Theory. Indeed, in this respect, the 1930s were an absolutely seminal decade: while Gdel destroyed the aspirations for the wholly Complete resolution of one of the problems posed by Hilbert, namely the Entscheidungsproblem, (with much more at stake, coming as if from the depths of Mathematics, rather than being one mere problem), through the presentation of his two Incompleteness Theorems published in 1931, Alonzo Churchs interest in the theme, and Turings work on Computability and Artificial Intelligence (McCarthys 1955 original term) prevailed. This made Church and Gdel each publish independently in the years 19361937 papers in which, similarly, the case against any solution to the Entscheidungsproblem was defended, having plunged Mathematics into ignoramibus. However, some have speculated that Hilberts original stand was such that a negative answer was still an answer, and thereafter a position maintained by Hilbert to the beginning of the decade in question. Gdels First Incompleteness Theorem attempted successfully to instantiate that no metamathematical proof of consistency was possible within a system comprehensive enough to contain Arithmetic per se, as the one described in Principia Mathematica, Bertrand Russells work on Elementary Logic. Gdels Second Incompleteness Theorem sought to go further, and advocated that Axiomatically, in its plentiful sense of (topos) to construct Theorems from all or some of deriving from the ones previously postulated, and again, one such as the Principia Mathematica, was essentially Incomplete. An Axiomatic System of Number Theory such as Principia Mathematica or any other, holding a consistent formalisation of Arithmetic could not necessarily derive number-theoretical statements from within the system. The shock that followed was so great that it was if it had been discovered

14

Section II

that Mathematics was not Mathematical, and, in essence as if it had not derived from Inference, or Deduction had not been its underlying method since Euclid in its standard form. Therefore, the rendition of proof was sought in just about the same (topos) where it had disintegrated and surrendered to Incompleteness, that is, the proper place of Mathematical Proof and Deduction. Just as deceptive as the recognition of Propositional Logic as being just one truly weak conceptualisation of Formalised Logic, and, in addition, not even borrowing First Order Sentencing, it was capable, though, of achieving expression through its formal apparatus to describe Elementary Arithmetic, so too did Set Theory find through the Axiomatic Collection of Sets compromising Paradoxes. But none was such a blow as Gdels Second Incompleteness Theorem, once it relegated Proof to a balance between, on the one side, Completeness and, on the other, Compactness of the Axiomatic inside Number Theory proper. The astonishment was so great it was as if it has been asked what exactly the Philosophical birthright of Mathematics would be if we had at our disposal all its theoretical statements. Would that collection be more correctly said to be non-derivable or, else, a paradox of such amplification that Number Theory was most inappropriate for Mathematics, as Mathematics was appropriately just a shadow to another sort of Mathematical Realism, as Gdel himself envisaged? It is worth stressing that Mathematical Realism or Platonism is, out of the quartet of Platonism, Logicism, Formalism and Intuitionism, the most inexpugnable of them all by the principle of necessary reason only due to Theoretical and Methodologically naturally non-disprovable and unsolvable assumptions. For Gdel, though, this conjecture was a principle of sufficient reason, and most importantly, what would be taken under this sufficient reason principle was the absolute order of things, from (atoms, (harmony or cosmos), in Greek elements) to wholly ordered conceptual terms. Alan Turings testimony on the problem follows smartly from the article On Computable numbers, with an application to the Entscheidungsproblem (1936). This article, in my opinion, is a summula of the traditions I have chosen to address as being of Calculus and Computus. To make a point, we shall try to understand how much the rise of Programming Languages, and the evolution from Aristotelian efficient cause to the coadunate Mathematical function, under the timeline landscape from Calculus to Computus, was completed, to which is compelled, in

15

Topics in Programming Languages

addressing the task, to convoke the progression of Philosophia Naturalis, the work of authors of repute, and research with an exceptionally outstanding methodology, either at the forefront or in the matrix of progress, to which end the manifestation of Machinery into Computus is rendered easier to understand, au pair the well-ordered entanglement from Natural Languages to the first Artificial Programming Languages. In more detail, our digression will identify Calculus and Computus landmarks, without which the proper rise of Computation and -Calculus cannot be evaluated, through the propagated Church-Turing Thesis, and, likewise, without which proceeding to study closely Topics in Programming Languages would be flawed. Conjecturally, any passage or attempt, to learn the Declarative status and Philosophical Impingement of the Programming Language Prolog originally PROgrammation en LOGique would be equally bound to fail. It is virtually impossible to understand the full rise of Prolog as a Programming Language without setting forth its most undeviating forerunning influences. Traditionally, Computation is considered to mean any part of Calculus expressing algorithms precisely, and following some kind of architectural model, by the use of Computer technology. But, in the same way Programming Languages predate Computation, likewise, Machinery expertise, besides predating Computer Science, was also eximious and competent beforehand in the technique of Computus. There no author so correctly associated with the immediacy of the goal of our Philosophical Investigation, as regards Historical Timelines, as well as Philosophical significance and magnitude, as Kant. Prior to Kants death (1804) at the dawn of the nineteenth century, looking back at the Computata and Automaton History, from the very probable Archimedean Antikythera, to Frederick II (The Great) of Prussia (17121786), whose patronage of the Arts, Science and Religious tolerance made possible the building of the Prussian (Berliner) Academy of Sciences, and so we can, without any hesitation, say that Kant, and Kants moment in History was, though an advocate of Criticism apposite to the new Copernican Revolution, very orientated still, for the most part, to the paradigm of the Anthropocentric Humanist view of the seventeenth century of Pascal, Leibniz, Descartes, Bacon and Newton. Kants idea of Future Metaphysics was still captive within the medieval conceptual-frame that admitted such figures as angels (one Bio-Theo hybrid) enclosed in a strong Ontological Hierarchy; also, fundamentally, to outline its biggest distinguishable mark, was considering one of the Axioms of Intuition Totally Humanist. That is to say, if we imagined

16

Section II

Humanity as a domain, in accordance with Kant, there had to be an irrevocable ascent, with a strong perception of knowledge developing as an increasing, all-pervading function from a planar region, whose arbitrarily considered units were to be summed up as the ideal of Mankind. Even after the proper inception of Philosophia Naturalis into Natural Philosophy with Darwins On the Origin of Species by means of natural selection, or the Preservation of Favoured Races in the Struggle of Life (1859), and chiefly because of its spurious interpretations from the field of Social Sciences afterwards, the anthropocentric preceding idea has prevailed. Furthermore, it has not by any means, lost such a sense of Moral Ontological Law or Anthropological Hierarchy in the Contemporaneous Era of Computation. Yet in essence, what we want to overcome through possible minor issues, is the critical disparity that has to do with the fact that in Kants time, and to Kant, such an irrevocable Humanist function of Knowledge, prefiguring monolithic absolutist Philosophies of History, was never considered of such a quality that would have to have an outerempowerment of man from non-sentient, unperceptive, automated means, and least of all, say, with the decisive help of machines. Having said this, however, ideas must not be misconstrued. The seventeenth century gave rise to all the foundations of countless axes to the forthcoming driving forces of Computus. The Leibnizian binary code, machinery enterprises such as Le Pascaline, the idea of the Modern Age disembodiment of the soul and body by Descartes (a sort of inner hiatus between Greek Mythological constructs and the Contemporaneous Bio-Machine Hybrid Problem), and the strongly Scientific Inductive and Experimental Baconian Method, under the umbrella concept of commanding Nature in action, are all fitting examples. In reality, for the Topic under discussion, fusing Language with Computation, and calling for an awareness of the immiscibility of Natural and Artificial Language, we should be attentive to the fact that the resurrection of the Encyclopaedia, namely the Encyclopdie, ou dictionnaire raisonn des sciences, des arts et des mtiers, (17511772), edited by Diderot and dAlembert, both members of the Prussian Academy of Sciences, was coeval with the fortuitous rise of Mechanics and Machinery expertise, illustrated eloquently by the fact that men such as La Mettrie, author of Lhomme machine, have ingeniously advanced such themes at the forefront of contemporary Natural Science Academies. (Encyclopedia, Thus, it is legitimate to declare that (craftsmanship) have joined together Universal Education) and again for the Epistemological test in the Modern Age, especially from the

17

Topics in Programming Languages

end of the seventeenth century onwards, which would prepare the ground for functions to enter the scene in the Calculus moment. What, then, is the right time to effect the passage to Computus? The answer willl not be rendered in the form of one narrow convergence, but, rather, in the form of precisely the original sense behind the first use of functions, that is, one curve of different values. Kant is, to this effect, as said before, a superlative example that reflects this curve from Calculus to Computus. Innovative Machinery such as the Spinning Jenny in the Wool Industry, the Cotton Gin and Jacquards Loom, the Water Frame and moving factory cogs, the Steam Engine, and even the Electrical batteries made by Volta, were all contemporary to Kant, wherefrom it is evident that we should concentrate on the fact that Kants pre-Industrialist Weltanschauung (world view), was effectively directed, but delayed, towards the critical irrevocable entry of the Controlled Electricity Current that would facilitate Computation through a constant flow of electricity, as is still the case. In truth, Textile Machinery and Electricity were to together lead to the first glimpse of Computation with something close to a Turing Machine. Jacquards loom machinery was, lest it be forgotten, of a type using punched cards, just the same as the early twentieth century digital computers. Kants Philosophical evaluation of the impending Historical phenomenon, would have been laid down, most surely, in the sort of Machinery coming from the Textile Industry, as opposed to the mechanised type akin to Watts improved steam engine, largely isolated among the prevalent wooden-parts Machinery of the time. His perception was well-inured miles away from England, the arena not of Metaphysical debate, but of the debut of Machinery. This was to prefigure the entry onto the scene of Programming Languages, with the description of the Analytical Engine by Charles Babbage in 1837, and the consequent algorithm to be performed on it by Ada Lovelace (184243), which corresponds in substance with the first accomplished Historical Theoretical instance of Hardware and Software together, out of which a pair of Programming Languages stand out as the function between the two. It was, additionally, a sort of empirical postulate that was unveiled to give proper rise to the Computus family, but Computus as akin to the ideal Turing Machine. It not only helps to consistently determine in History when the restructuring from Calculus to Computus was achieved, but it really expresses the affiliation of Natural to Programming Languages along the same lines as Lovelaces direct influence from the poet Lord Byron in symbolism.

18

Section II

The Aufklrung age heralded, thus, Industrialisation and Industrialisation Computation. Yet, in terms of establishing the Model of Computation parsed with Language on one side, and Artificial Intelligence principles on the other, none was so spectacular as both Churchs -Calculus (1936) and Alan Turings paper On computable numbers with an Application to the Entscheidungsproblem (1936). The idea of calculable by finite means unfolded a drastic transformation, profound enough to have unveiled a new Aesthetic Perception, in Kantian terms. This new Aesthetic Perception is more profound than mere Cultural views, and corresponds largely to the hereafter even more impossible unravelling of Computus from Bios, to which we shall lend some more consideration later on. Bearing in mind the fact that all intuitions are of great magnitude, Kant, nevertheless, opposed the Axioms of Intuition (Kant, I., Critique of Pure Reason [A162/B202]) (connected with the categories of Unity, Plurality and Totality) to the Axioms of Mathematics, and comprehensively so, as these are, by definition, synthetic, a priori and valid according to pure concepts. We could say that according to Kant, the Axioms of Mathematics were necessarily related to Knowledge (not to experience, but to intuition only) and the Axioms of Intuition were necessarily related to Experience (and not necessarily to Knowledge). The criticism cultivated by Kant allowed, therefore, the introspection of Philosophy into its forms of Judgement. The source of the principles in accordance with which everything comes in the first place as an object, necessarily stands according to these rules. And this centrality in formality was proposed and prepared in anticipation of the Symbolic Gdelian Mathematical Arguments such as the Turing-Churchs Thesis. Moreover, it conserved a heritage intrinsic to the Platonist, Formalist, Logicist and Intuitionistic Logical debate. Here we put forward the excerpts from and relative to Leibniz and Turing that help to connect function with the age of Calculus and Computus; the notion set out by Turing himself in his Princeton PhD. Thesis that of functions being effectively calculable is here recalled by Andrew Hodges: In 1694 German mathematician Gottfried Wilhelm Leibniz, co-discoverer of Calculus, coined the term function (Latin: functio) to mean the slope of the curve, a definition that has very little in common with our current use of the word. The great Swiss mathematician Leonhard Euler (170783) recognised the need to make the notion of a relationship between quantities explicit, and

19

Topics in Programming Languages

he defined the term function to mean variable quantity that is dependent upon another quantity. Euler introduced the notation f (x) for a function of x, and promoted the idea of a function as a formula. He based all his work in Calculus and Analysis on this idea, which paved the way for mathematicians to view trigonometric quantities and logarithms as functions. This notion of function subsequently unified many branches of mathematics and physics. (...) Advanced texts in mathematics today typically present all three definitions of a function as a formula, as a set of ordered pairs, and as a mapping and mathematicians will typically work with all three approaches.2 And by Turing: A function is said to be effectively calculable if its values can be found by some purely mechanical process. Although it is fairly easy to get an intuitive grasp of this idea, it is nevertheless desirable to have some more definite, mathematically expressible definition. Such a definition was first given by Gdel at Princeton in 1934... These functions were described as general recursive by Gdel... Another definition of effective calculability has been given by Church... who identifies it with lambda-definability. (...)We may take this statement literally, understanding by a purely mechanical process one which could be carried out by a machine...(Turing, A. (1939) Systems of logic based on ordinals, Proc. Lond. Math. Soc 45 (2): 161228. From the end of the seventeenth century to the early twentieth century, in actual fact encompassing the scope in time of both the above quotes, and remembering what Kant acknowledged as the Axioms of Philosophy (Kant, I., Critique of Pure Reason, [A733/B761]), essentially a Mechanism of Proof, a Universal Deduction in service for Enlightenment, limited only and enough to Criticism, we can observe how, from this stance, we can diverge in our analysis. On the one hand, there is an immediate contrast between explicitness of the Second Incompleteness Theorem by Gdel, and the Churchs unsolvable answer to determining the truth of arbitrary propositions inside Peanos Arithmetic, the obvious Axiomatic Number Theory chosen to test on -Calculus. However, on the other hand, there is a more systematic understanding of the impressive achievement of having launched the Theoretical basis for Computation and the effectiveness of Programming Languages, from the Theoretical limitation of Incompleteness.

20

Section II

It becomes really impressive when we contemplate how such an outstanding Platonist as Gdel was to work out Computation and Programming Languages generally by Mathematical Apagogic or (Diaeresis) (breaking, division, successive division Method, and so on [in written natural language, the diacritic mark is placed over a vowel]), rather than Proof, even if what was proved was Incompleteness itself. A shortcut to best understanding the rise of Programming and Artificial Languages is, hence, the differentiation between Calculus and Computus. The idea of Computare by means of Artificial Intelligence, here understood along the lines of and akin to Turings foreshadowing investigations, has somehow a distinct imprint, effect and influence compared to that of Calculus as disclosed simultaneously by Newton and Leibniz. Very curiously, and still in general terms, it can be said, that at least there is one continuum from Leibniz to Gdel with respect to the inner expressive power of Mathematical Realism. This, after fading away, was to give up its place to Computational Science. This is as if the slope of the curve of Calculus was now Computus in the form of an effective calculability within General Incompleteness. We could also cite the great discoveries in the realm of Mathematics, such as that of Oresme, responsible for the first graph or pictorial function, or those of Napier and Briggs, who worked on tables of logarithms and Machinery applications. It is really an all-embracing subject. However, we should bear in mind that the sharp end of its emancipation was very much an omnia relata est Renaissance Cosmological Vision as early as the fifteenth and sixteenth centuries, with systems of thought hospitable to relational thought, without which the notion of functions could not have been born. This resulted in the confluence and wide conceptual Philosophical relatedness between the Mathematical function, the Philosophical rule and the Computational algorithm (a list of procedures) presented here. One piece of stronger evidence for the aforementioned is the fact that it was won through the designation of the Church-Turing Thesis for posterity. The Church-Turing Thesis combines, at its heart, -Calculus, the Universal Turing Machine and Recursion or Computability Theory (which saw developments in the 1930s from Turing, Church, Kleene, Post, Gdel and so on). At its core, the issue was the targeting of the same class of functions, and, therefore, contemplating in essence the equivalence of Computability, the Universal Turing Machine and -Calculus.

21

Topics in Programming Languages

It is interesting to consider the separation between the branches of Mathematical Logic with stress and attention on Formal Languages, Semantics, Syntax and Proof on the one hand, and Recursion Theory, primarily concerned with establishing definability in the subsets of Natural and Real Numbers on the other hand according to the criterion of Programming Languages. The reason is that Artificial Programming Languages are born out of computable functions in Boolean order in the first place. It is also worth mentioning that problems of unsolvability relative to the nature of functions are effectively calculable, that is, algorithmically computable, as seen in the so-called Turing degrees, and are a valid parallel with Natural Languages. It could be asked in a most non-technical manner: even if computable effectively calculable functions were one set only, without the subsets of Turing degrees to maintain unsolvability levels, was Natural Language Processing on any level different, at the most linguistically computable and more competent than it is now, even by the slightest degree? Would the answer tell us more about the relationship between Natural numbers decidability and Natural Language Processing? If the answer is yes, it would mean that the reducibility of Natural Numbers to Natural Languages through algorithms stands up well. Is the mirage of a positive answer to this problem not a response to the unsolvability of Natural Languages, and so worth mentioning here as a result; and are the levels of unsolvability different from Language, Syntax and Grammar studies typical of Mathematical Logical inspiration? In other words, is it possible to rank in hierarchal form the non-computability of Natural Languages in any formal method, like Turing degrees? Can Computability Theory analyse in negatio the expressiveness of Natural Languages? Certainly, the study of computable functions or effective calculation is stimulated to pivot on unsolvability and decidability separation; independently, Turing and Church in 1936 were to confirm Gdels 1931 result about the non-existence of such an algorithm that would positively test completeness for any restricted number of central First Order Axioms, precisely the Entscheidungsproblem, otherwise known as the decision problem. As for Recursion Theory, Natural and Real Numbers played the role of testing assets for decidability, in the same way First Order Logic had done previously. I wish also to draw another parallel about the transferring method, now in Number Theory, with repercussions in the Philosophy of Mathematics. This will help us to understand the invention of -Calculus,

22

Section II

which is supported by the Mathematical heritage of functions, as well as to realise how Computing Programming Languages were born, essentially out of a functional paradigm capable of relating fields of different values with various arguments. By this means, if we look carefully, we are arriving at an understanding of how Turing could, using a function approach, fully and clearly articulate effective calculability, as one argument, by means of idealised machinery, so that Computation and Calculability became as one. Turing fused, just as how Jacquards or Babbages engines interweaved webs of textiles, in intellectual Philosophical terms, the tradition of Calculus with that of the new emerging Machinery powered by electricity and, most important and above all, Computus. Calculus and Computus were, therefore, explicitly joined, as were the concepts of the dynamics of function, rule, and algorithm. Church, on his part, foresaw in N, as well, the isolation of the Recursive Numbers Set, identifying them with the Computable Class. Reducibility notions, structure degrees and even relative computability concepts all derive from the standard form of combining arguments with values, to which list we could add all formalised languages, including Programming Languages. Algorithms were, thus, found to be the benchmark in the arbitrary mathematical proposition search for solvalbility, once any function capable of being computable by an algorithm was discovered to be a computable function. And, fascinatingly, algorithms, as a list of procedures to resolve a function, were to divide into effectively unsolvable mathematical propositions, to the point of admitted Incompleteness in the core of the simple formalised Language of Arithmetic, which failed to find new Theorems through algorithms. Another important point to note is how Arithmetic and its very latest developments in Number Theory had sought improvements, and finished eventually by putting forward for the Philosophy of Mathematics and of Languages a much more succinct outlook, with revisionist stances towards the existing body of Mathematical and Philosophical knowledge. In relation to the Philosophy of Mathematics, the decade in question (the 1930s) and pure developments, there have been really well-ordered and almost regimented different background claims, but the most exceptional following results were, maybe, the spectacular outburst of revisionist stances and the positive incursion of Mathematical methods bearing on typical Philosophical questions, some of them with late precedence (Set Theory, Proof Theory), and some others which are

23

Topics in Programming Languages

subsequent as well as consequential arrivals (Model Theory, Computability Theory). The Topic of Programming Languages was not, for this matter, and in a straightforward analysis, a single rising field combining historical traces of Language and Concepts, to come into contact with partial functions and Computability, progressing to contend with Design, Implementation, Syntax and Semantics, in one already very fruitful overlapping of disciplines, views and methods. It has, unequivocally, too, played the role of the scales of justice while denoting a particular Syntax and a particular Semantics inside the framework, and has also been able to, outside the framework, connote different Syntaxes as well as different Semantics. It linked very well the high expressiveness of Natural Languages and the high consistency of Mathematical Proof Theory in one progressive set of gradations that, while having started out with the attempt, especially in Natural Languages Processing, to produce a special effect of meta-theoretical expression in formal Language with the phenomena of Language in its fullest sense, from acoustics to writing, from Linguistics to Informal Semantics, it has also been capable of, as in the Cartesian mapping of Geometry onto Algebra, or the Gdel numbering technique of mapping meta-mathematics onto Arithmetic, mapping Programming Languages into Formal Semantics, even if in negatio. The array of influences from Programming Languages on the core of the Recursion Theory has also helped to normalise the debate in the Philosophy of Mathematics, specifically in negating prima facie claims, and at the same time being a clear example of implementation away from the conundrum-like effects. What is also very evident is the fact that, from the widespread debate between Mathematical Realism, Formalism, Logicism and Intuitionism, with its various historical tergiversations such as Predicativism, inflated or deflated Platonism, Naturalism, Structuralism and Nominalism, Programming Languages are recognisably one combined field in anticipation of and with a keenness for with the latest relevant outcomes. One clear example is how suitably Programming Languages, following Shapiros distinction of algebraic and non-algebraic theories, parse with the characteristics of algebraic theories, not intending, thus, to a unitary model of the theory, but, in contrast, despite having enough analytical flexibility to accommodate non-algebraic theories, have first and foremost instantiated and modelled, again with extraordinary adaptability, structural relations allegedly very typical of ante rem Structuralism. Additionally, the epistemological challenge conquered by practice is, fundamentally, far away from often pointless debates.

24

Section II

Furthermore, for the purposes of this book, one word is important in (topos), as clearly it is not just that relation to the notion of place mapping as a concept has served fully adequately in Mathematics as a substitute for function, or in Formal logic as a functional symbol, but at its foundations, it reveals through further investigations in Mathematics and Philosophy, such as in Model Theory, its intrinsic topological argument from a Euclidean inspiration. Discussing Topics in Programming Languages might, thus, as said before, bring us to the abyss of, this time, non-geometrised and impossible mapping, even if at the nucleus of functional Programming. This fact is coadunative with the relational status and structural instantiation action of Programming Languages, of which the Declarative style is prominently the best example, and to which belongs Prolog. As an outline, it is also very noticeable how the new-born Philosophy of Computation, oscillating between the tenets of Nominalism and Structuralism of the twentieth centurys Philosophy of Language, was capable of especially after Turings investigations into Mathematical Biology on Morphogenesis and the study of the Argument from Continuity in the Nervous System resuscitating one not seen since before the Greeks Bios-to-Computus hypothesis, to which must have concurred, very powerfully, as said before, one relational frame of mind. In Alan Turings case in particular, combining all the quoted elements, it is superbly appealing how, passing over precise technicalities, the very same originally Greek Bios-to-Computus paradigm is exemplified, and how much the method of modelling understood as one assigning function from one arena to another was closely scrutinised. Turings genre of predication, for example in the paper On computable numbers, with an application to the Entscheidungsproblem (1936), contains the passage of Calculus to decimals, decimals to Computus and, thus, in perspective, Calculus to Computus, replicating exactly what was mentioned earlier. Moreover, Turing discloses some important insights, as for example, in the process of comprehending that numbers themselves, just like decimals, lack visible chief predicates such as divisibility, primality, ideals, greatest common divisor or unique factorisation, then, in the same fashion, although the class of computable numbers is enumerable, it does not include all definable numbers. Furthermore, this is not a shortcoming, but very much the contrary: they are proficient at resorting complex functions, to industrialise primes in tables, with all sorts of pointwise operations. Indeed, the Bios-to-Computus feature is best explained by the

25

Topics in Programming Languages

fact that, in the shift from Calculus to Computus, the multi-dimensional tables of Calculus were reduced to the one-dimensional array expressed in the Turing Machine, as well as the digital Computing in the blueprint, being the consequence, in point of fact, of Mathematical, Symbolic and Language expressiveness having become incomparably bigger. It remains to mention various features critical to the rise of Programming Languages. Nevertheless, pinning down our best efforts onto the preliminary decade of the 1930s, we are sufficiently keeping to major lines, so as not to prorogue any more the most pertinent conclusions of this chapter, while keeping the track of our investigation on course.

Arguments ) The endogenous to exogenous language argument


In Section I we came to the conclusion that the Semantic and mainly (Logos) (here known as Symbolical exteriorisation outburst in Language), that dragged, as explained before, naturalised essentials referred to retrospectively as elements that came into play conceptually (the origins), such as Thales of Miletus water, Anaximenes of as Miletus air or Heraclitus of Ephesus fire, was Philosophically and Scientifically interiorised towards formality. This was done, in essence, through the Aristotelian breakthrough of considering a principle of Nature as contained within itself, authorising, thus, the passage to the consideration of the future Elements () (stoichea). Through these facts in Section II it becomes clear, apparently, that, not necessarily from the time the concept of Artificial Intelligence was coined in 1955 by John McCarthy, but, instead, during all of Historical, time that has mediated over the all-encompassing framework from Greek Classicism to the Contemporary period and also, as well as more narrowly, essentially throughout the time from Calculus to Computus during which process, the first instance of Bios-to-Computus has been shifting, radically altering its core, to its opposite; the Computus-to-Bios case in point. Behind all this are, of course, the two most imperative ideas in Artificial Intelligence:

26

Section II

1. The Absolute Transcendental possession of all Knowledge of the Human condition and Environment, rendered uncomplicated if analysed though Kants Epistemological tradition. 2. The possible fabric of the alike, that is, not just all objects, but Minds too, in one structural convolution. At this instant, something to be analysed further is, therefore, the reason why it seems that the first-hand Phonetics and Philosophical interiorisation of Semantics in Natural Languages sets out a very strong Bios-toComputus motto, and why it seems that with the entrance onto the scene of Artificial Programming Languages, the cycle seems to have been reversed, to the extent that it likely has been put forward in its entirety a newer and reversed Computus-to-Bios conceptual journey. For us, and in retrospect, the most significant arrival to have clearly changed the direction of this was the work of Alan Turing, of which the highly important (Church)-Turing Thesis is not a full indicator.

) The efficient cause continuance argument


Retrospectively, and holding on to the conclusions aired in the previous paragraph, we have to start by giving the Aristotelian efficient cause its fair historical counterpart, which would eventually lead to the inaugural functional paradigm in Programming Languages. The inner passages that are most influential are, evidently, the Mathematical function and the Computational algorithm, which have helped to bring together Natural and Artificial Languages, Calculus and Computus, but, in many ways, the Philosophical rule is oddly elapsed in consideration, once it had played the role of connecting both, from the very beginning, as seen early on in Euclids Geometrical interpretation. It was never imagined, in Kantian terms, though, that the forceful aspect of the rule, as the natural critical admonition of Human Reason to Moral Law (without which we were to contemplate reality as strangely as if the world as we experienced it had ceased, something impossible, a priori pertaining to the commitment to experience binding Reason and reality, in the first place, according to Kantian views) was to have this dilemmatic Antinomy revealed. This sort of dilemmatic Antinomy was not only revealed but also divulged from the very interior of Mathematics in its continuation after Gdels astounding discovery.

27

Topics in Programming Languages

If the entrusted ontological credence of Mathematical Axioms as taken by Kant already set apart from the Axioms of Intuition (Unity, Plurality and Totality) was, nevertheless, very much inclined towards the contemplation of Absolute Transcendental Knowledge, then after Gdel we can say that the gulf between the two augmented to unparalleled levels of distrust. Besides, the Axioms of Mathematics in Kantian terms were no longer contemplated after Gdel within the integrity of the representation of Mathematics inside an Axiomatic System proper, recounted in N, neither synthetic nor a priori, concurrent nor separate. On other side, the Axioms of Philosophy were, after Gdel, au pair with the Axioms of Mathematics. The Axioms of Philosophy were, if we remember, contemplated by Kant as dispossessed of a thorough deduction, which has now rejoined, if we look carefully, with the Axioms of Mathematics. More profoundly, we can observe how much havoc was wreaked on the Axioms of Intuition, because, having been characterised as principles of pure understanding, what followed was a revelation of their monumental inadequacy with the examination of the Mathematics Incompleteness Theorems to confront the Enlightened Kantian claim that all intuitions are of great magnitude. This fact conjoins, in essence, elegantly with the original already quoted Greek concept of anthyphairesis. The main reason behind this idea, is most probably, the incommensurability disclosed at the end. This is a strong reason that is sufficient to be recounted in one independent following argument, which is put forward next.

) The reviewing incommensurability argument


There is no better example of the immiscibility in Greek Classicism, though demarcated, between Philosophy and Geometry, intricate forms of Compositionality Phenomenology, as it were, lacking in better expression, than the fact that in Platos Dialogue Meno, it was both the Euclidean and the Socratic methods that came together in harmony. Also, very appropriately in the same Dialogue, as Socrates was drawing figures in the sand, laying Geometry in its proper terrain (topos), so to speak, what is more to consider is how much the Euclidean notion of one segment-line being commensurable to another by one third segment that can be laid lengthwise one whole number of times to the first segment, and the same thing to the new last segment, otherwise called incommensurable, is apposite to the concept of anthyphairesis.

28

Section II

Furthermore, the stated idea of Mathematical congruence from one line-segment to the other, as found in by the quotient of two non-zero integers, corresponds, in inverse similarity, to the original meaning of Algebra the bringing together of broken parts and to which end no incongruity shall come about, whereby the Philosophical notion of Rationality was also torn apart after Gdel by the non-congruence of Mathematics and N as a representation for Mathematics. In this fashion, the discovered impossibly retrievable medium between the two otherwise called a fraction or quotient becomes for this reason ineffective and, in Kantian terms, problematic as an equation. This is what made truly incommensurable the proclaimed objective of one Universal Deduction proper of the Enlightenment period. In Kantian terms, we are unveiling a sort of Antinomy between the Axioms of Intuition and the Axioms of Philosophy; in other words, between commensurability (akin to Unity, Plurality, Totality) and the inner sense of the Principles of Understanding, acts of judgement and knowledge spontaneity. It was only after Gdel, and with the ChurchTuring Thesis, that this Antinomy was to be fully perceived. Our conclusion is drawn unswervingly from this appointment. And it is the following: It seems that, in Kantian terms, in view of both Space and Time as Transcendental Aesthetic and mere a priori forms of the intuition, depending upon the constitution of the mind and transcendentally ideal in essence, which contends with interiority and exteriority, is related ultimately to intuition and, with sensibility, we have each, in the convolution and evolution of the Modern Philosophy of Science and Language, during the time-frame from Greek Classicism to Contemporary times, bracketed themselves in continuity. In this scenario, Space and Geometrys momentum surged forward first, and Time and Recursion Theorys momentum did so subsequently. They have overwhelmed comprehensively the Calculus-to-Computus revolutionising within the movement, to which they belong as one wideranging, but incomplete window. In continuation, it can be said that it is noteworthy that, now with Space and Time in conceptual terms closed, Artificial Intelligence as an emerging idea runs alongside the two great hypotheses before Kant, that is, not exactly Lebnizian Relativism or Newtons Absolutism, but, more pertinently, through the set-apart groups of Mathematical Investigators and Metaphysicians of Nature, who now, once more, are united one next to the other.

29

Topics in Programming Languages

With this involvement, we are set to advance to the last Argument, which aims to finally get down to dealing with both -Calculus and Prolog, as a preview of the last Section.

) The functional and declarative programming languages argument


Once all the preceding foundational aspects are broken down and evaluated beforehand, thus enabling us to discuss what it means to discuss Topics in any Language, we shall move forward and engage in discussing Topics in Programming Languages through the case of, most predominantly, -Calculus and Prolog, as one ensemble by which we aspire to one unified interpretation. However, before we deal with this last question, which conveys the Functional Paradigm born out of -Calculus and the Logic Paradigm born out of the affiliate Logic Programming in Prolog, we shall submit, albeit tentatively, the conclusions behind the entire vista, which from my perspective, is worthy of being contemplated thoroughly: In Artificial Programming Languages, there are manifold paradigms, among which the most accountable ones are Functional, Logic, (both recognisably Declarative), Imperative and Object-Oriented. Our goal is to deal only with the first two, which are assumed as Declarative, with a sharp focus on contrasting the two with Imperative, which is also called the Procedural Programming Paradigm. My idea is that Artificial Programming Languages have transported in ordinary fashion, and very naturally, both the typical Metaphysical ambivalence between relativist and absolutist views (allured most powerfully ever since Leibniz and Newton), as well as what was contained in hidden form in Natural Languages, but which came to be seen profusely in Programming Languages as the outcome of the different assorted Programming Language Paradigms. All these Paradigm differences were made invisible in Natural Languages by the sole impetus of Grammar Studies, which eventually evolved into Formal Semantics Studies, and were never meant to be convoked therein, but nevertheless, I maintain that they should not be considered as an expendable theoretical apparatus in the Natural Languages domain. The significance of the absolutist outlook and the relativist outlook is that they are the late-modern version, and in prime, of the space and time views, capable of affecting sight over the Philosophy of Language.

30

Section II

Discussing Topics in Programming Languages in depth is an impossible task without this first endeavour. As far as Artificial Language Paradigms are concerned Declarative and Imperative in relation to relativist and absolutist views they play one to the other in dissimilar style. This unlikeness and divergence is what is more interesting and, above all, what helps us to understand the prevalence and high-incidence of one determined Paradigm in relation to the others, or even their merging. The absolutist view, in the spectrum of the Philosophy of Science in relation to space and time, coordinates with the Declarative style (and Functional Programming, principally, as a welter of functions without possible resetting) and thus has a stationary design, recursively fixed. The relativist view, on the contrary, relates to the imperative Paradigm, for the reason of depending on commanding instructions to the end of reassessing procedural means through new function calls, and is very much verb-oriented, changing in essence the program state. As known in Programming Languages jargon, the Declarative links to the what, and the Imperative to the how. It is known that Prolog is one crystal clear example of a more Declarative approach, by reuniting Functional and Logic Paradigms, though a Procedural status, too, is recognised, as stated by Robert A. Kowalski himself, in the well-known article The early years of Logic Programming (1988): A consequence of using logic to represent knowledge is that such knowledge can be understood declaratively. A consequence of using deduction to derive consequences in a computational manner is that the same knowledge can also be understood procedurally. Thus, logic programming allows us to view the same knowledge both declaratively and procedurally, (Kowalski, R. A. (1988) The early years of Logic Programming, Communications of the ACM 31 (1): 38.) After this, we will go over our conclusions, retracing the steps throughout this Thesis, by stating simply that the uncovered continentand-form paradox, conceptually a fugitive from Geometry, of Greek Classicism, therefore unmanageable and very complex in relation to the (topos), was essentially prone to a stationary, nonnotion of motional intellectual construal, put up from a full-size impediment of (dynamics). (topos) in Another way to say it is that Aristotles analysis of relation to Logic and Language was deeply embedded, though having forces ranged against it, in the problem of (dynamics), of which the efficient cause is a sign of inflexion and of the turning point.

31

Topics in Programming Languages

Indeed, the efficient cause is scrupulously transparent about this defining moment, to the extent that it divides non-motional concepts from dynamics in full. Moreover, it was the functional consideration behind both the Phonetics and the Philosophical emancipation that brought into perspective the Alphabet and Sciences, and which ultimately showed the way, in a nutshell, the consideration of the efficient cause as to have been sublimated so significantly in intellectual terms. I aim to persuade that this was a constant that passed through, in conceptual transit, to the absolutist and relativist traditions, conveyable (topos) and, in due course, (dynamics). to the notion of Amendable as it was, it suffered a major new implication with the entry onto scene of Artificial Programming Languages, because, all of a sudden, there was a totally new universe of Language possibilities, which tested effectively in various executions, serving as evidence, at the same time, for Structures and the Mind. Complementarily, I would like to draw attention to the faculty of representation contained in the intellectual concept of anthyphairesis. Anthyphairesis is clearly an intellectual concept nearer to Critical Philosophy than to Metaphysics, the reason being that, in the main, Critical Philosophy is largely synthetic, while Metaphysics is analytical. In other words, it could be said that the former employs the integration of two representations into one new one, whereas the latter tends to divide one into two new representations. Very similar in style is, for instance, the Gdel numbering technique, with the Greek Classicist method of anthyphairesis, although having concentrated one analytical method of breaking parts into new parts, of Geometrical study, which, predominately, is a technique that covers such characteristics as if encompassed by one system, that is, a fundamental set of arguments, if not referred to () (stoichea) more properly as Elements. Such characteristics of the method of anthyphairesis are constructed in such a fashion that the logical arguments go along the architecture of reason, bringing up valid standpoints on the way. The result is, thus, the countermand of analytical preponderance, by the outcome of important synthetic results. (topos) first hand, but very The technique does not revoke at all much the contrary, as it is drawn out from the external intuition (space), very disparate from transcendental knowledge, although being at its service first and foremost.

32

Section II

It is important to say that this action of being drawn out is factual, since it is precisely spatially lengthwise and laid out as end-to-end, congruent, figurative intuitions, in principle, but, also, ideas in congruence, far-off from an intuitional ground. One example of this is the Cartesian founding of Analytical Geometry, fusing algebraic functions, through one congruent system of coordinates, into the (topos). Anthyphairesis was crucial for the external intuition of a incommensurability profess, for it meant being involved in the claim that two lengths or integers are incommensurable if their ratio cannot be expressed through whole number expressions in such a way that, provided p and q, 2=(p/q)2 does not hold, and that the subsequent postPythagorean authors, such as Zeno of Elea himself, shielded this view, due to which movement was denied by the conclusive paradox of motion, so as to first illustrate the tacit conflict with (dynamics) in general. In the territory of Artificial Programming Languages, we will come to the conclusion that not only Programming Languages, on the whole, and specifically Prolog, have become, in terms of Computability or Recursion Theory, more grounded in time rather than space, through its intuitive form, and in equal way as the method of anthyphairesis, an effect of incommensurability between integers and Natural Languages, to simplify, more than mere schemes respective to Semantics and Syntax. This assertion re-encounters the deepest meaning of the Philosophy of Language inside Artificial Intelligence Investigations and Industry, through the elected Programming Language Prolog, conveying in due course the (Logos) with Artificial Programming Languages. original sense of

Notes
1. Rojas, R. (FU Berlin, WS-97/98) (2011) A Tutorial Introduction to the Lambda Calculus. http://www.inf.fuberlin.de/inst/agki/rojas_home/pmwiki/pmwiki. php?n =Main.Tutorials 2. Tanton, J. (2005) History of Functions. Encyclopedia of Mathematics, (NY: Edition Facts on File).

33

Section III
The image that follows corresponds to the Cardinal Vowel System devised by the Phonetician Daniel Jones, which takes the form of a diagram or quadrilateral; it corresponds, in general requisites, to a (topos) (place) of standard reference points of simultaneously, both articulatory and auditory, Phonetics and Phonological judgements. The lattice spells out the position of the tongue, front, central and back, as well as four levels of tongue height, and also the position of the lips; in addition, the Phonetician Jones has attributed the main points of vowels numbers, discriminating a primary series (1-8), a secondary series (9-16), and two further points of reference for the vowels (17, 18) in (topos) (place) into order to integrate the articulation and speech one functional mapping that coordinates in a diagrammatic fashion the most invariable reference points.
Unrounded Front Close i 1 Central Rounded Back 8 u

Half-close

e 2

Half-open

6 3

Open

The primary cardinal vowels

35

Topics in Programming Languages

The purpose and goal of convoking this simple chart of the sounds of human speech is, obviously, not to enter into an in-depth discussion of the chart itself devised in its various complexities, or to study other diagram proposals, or to tackle the description and functional model with respect to the particularity of the very thorny reunified field of acoustic transmission on the one side, and auditory reception on the other, through, not an instrumental analysis of speech, but instead, to take a physical and anatomical approach, by the inevitable wind-chest dynamics of the human vocal tract. By this, we intend primarily to draw (topos) attention to the inescapable and truly original birthright (place) of Languages under all possible perspectives in Acoustics. The phenomenon of Languages is, hence, predominately, both verbal and acoustic, given its fair prominence from the example of the Christian tradition in the statement: In the beginning was the Word, and the Word was with God, and the Word was God (New International Version of the Bible, John 1:1-3). Indeed, sound energy is no more than waves vibrating molecules in one finite medium. Of course, this involves not only the air, but also, in speech recognition, mechanical, hydraulic and electrical dynamics. What it is important to retain, though, is the following: The movement of each particle is purely local, each one affecting the next, in much the same way as a long series of closely positioned dominoes can be knocked over, once the first domino is moved. However, unlike dominoes, air particles move back towards their original position once they have transmitted their movement to their neighbours, (Crystal, D. (2010) The Acoustics of Speech. The Cambridge Encyclopedia of Language, Third Edition: p.138, Cambridge University Press.) These dynamics of sound are characterised essentially by to-and-fro movements, affecting neighbouring and flaking particles, with the effect of one train of events that is perdurable for the duration for which the energy lasts, just like, in abstract, a Turing Machine. And it denotes a waveform type of movement, compressing and uncompressing air particles in the progression in a way similar to that of the binding functions in -Calculus. By this metaphor we are trying to blend the constituents of Language into the most integrated possible outline, putting together judgements from Acoustics and, to the generally perceived as extreme, typical technicalities in the core of Computation and Programming Languages, generally more appropriate to Syntax. The field of possibilities in both Acoustics in Speech and Syntax, both grounding structures for Semantics is restricted, but this restraint

36

Section III

is what emancipates well-ordered structures in the first place. In actual fact, just as Plato gave instructions to the Meno the slave boy to draw figures in the sand, so, too, we could say, by drawing one exterior circle onto the previous figure, we would have essayed to demonstrate the entire outline of the vocal tracts primal scream: This sound corresponds to the (open) vowel A, one that does not appear in the International Phonetic Alphabet, precisely because it is not considered as speech, for the fair reason that no spoken Language contains it (in continuation, even inside the close to the 1013 units of intensity that the human ear is sensitive to, there is a definite threshold of audibility). It is possible to index the sound of a primal scream as A by describing that the back part of the tongue is raised, with a low extension to the palate, with a raised soft palate, and wide, rounded, open lips, but it is not descriptively called upon regularly as it is absent from normal speech in any spoken Language. Nonetheless, if, as described below, it is functionally very useful in understanding how much the wavelength the time of a cycle of vibration at the rate sound energy travels, being the number of cycles called the frequency per sound and the amplitude the

Unrounded Front Close i 1 Central

Rounded Back 8 u

Half-close

7 2

Half-open

6 3

Open

The primary cardinal vowels

37

Topics in Programming Languages

degree to which each air particle moves to and fro in oscillation from its resting point are fundamentally passable in one structure such that, both together, by constructing their spectra, they give us a structural description (topos), in which any of speech, which is of one extreme rounding un-rounded, diminutive action is drawn in order to construct speech, as though the class of objects considered air stream, vocal chords, soft palate, place of articulation, manner of articulation and lips are, like the mother tongue, geometrising rules and acting as disciplinarians of sound. This un-rounded, vowel A, an un-opening and diminutive action, of (topos), up until such trace that coerces the sounds of speech typical places of articulation such as bilabial, palatal, velar or glottal, etc, and its abundant glides and other speech phenomena such as, for instance, nasalisation, widening or rhoticisation besides being the first and foremost, the most easily distinguished trough or division between vowels, (and semi-vowels) and consonants, (plosive and fricative consonants), it is an action that is fairly evocative of the process of anthyphairesis, once it commensurates, too, to the far possible extreme, in this case, the phenomenon of sound, to the end of understanding. I would like to state that, as far, and as much as possible, the sense referred to here of understanding, is a Kantian sense, that is, the faculty of producing knowledge by means of concepts to the degree of understanding reason as being a concept itself of all pure concepts. (topos) for reflection. It The following image is the most adequate corresponds to the waveform of air particles, as a judgement, ideally a sine wave consisting of a pure tone and a single vibration at a constant rate across and during which there are listed nine t (states). We will now try to rationalise this content in both -Calculus and Prolog. They will be simultaneously our conclusions, to which end we devote separate paragraphs, as well as being placed adjacent to the complete list of Conclusions:

t1 t2 t3 t4 t5 t6 t7 t8 t9

38

Section III

Arguments
) The -calculus argument
It is a very reminiscent fact that in -Calculus the process affiliated with the notion of Computability inside it is the concept of Reduction, hereafter called -Reduction. In the previous figure of waveform air particles, it is not described by any sign or token, or any one particular air particle in the row from left to right, which is very convenient for this purpose, as the most used form of -Calculus is Untyped -Calculus, where neither is there any description of the domain of the function, expressed in terms of Computability in this fashion, widespread and without restriction. So in abstract, each and any air particle () of the figure is free to be as bounded as any object. The function expresses, thus, in an anonymous form proper of -Calculus, the idea that any sound can be reworked into any other sound, to the extent that this means the simple Semantics of the sounds of speech map onto themselves in Recursion, as if the phonemes of one Language were able to construct whole, meaningful words at the end. This might sound strange, but, indeed, the fact that functions need not be explicitly named is the properly explained compositional factor of the sounds of speech, and, ultimately, of the AB(Alpha, Beta), (Alphabet). Moreover, as for the matter of time in Recursion Theory, passively being bounded to any equational theory, the fact that -Calculus cannot hold more than one argument, under the canonical form (( variable body) argument) is consistent with the irrevocable and forward arrow of time, as well as that of the sounds of speech and their special structural constringency. This outline, in general, is consistent with the so-called Alpha-Equivalence or -Conversion in -Calculus. Besides, the fact that functions represent, without exception, first class values, that is, functions being employed as inputs to other functions, and returning new functions, is also very consistent with Phonetics and phoneme ordering, something resembling the idea behind -reduction. The smallest functional audible possible phoneme is also very consistent, not only with Acoustics, but also with the apperception of functional synthesis in conscious time by the agents of human speech, suggesting a strong intuitive grasp between Minds and Structures. -Calculus can also be of value in Writing, if we imagine the forwardmoving arrow of writing to be functional variable signs found to be a constant whenever the correspondent closure of brackets for the

39

Topics in Programming Languages

argument is closed (if not by the final suspension of hand-writing, but by the interval or void between words or any sign in every emancipated form of written languages), meaning, basically, one letter of the (Alphabet). The application here would be, AB(Alpha, Beta), for most written languages, as -Calculus, from left-to-right. Finally, Eta-conversion, conversion in -Calculus is very close to the sense of synonymy inside a proper Natural Language, and translation outside a proper Natural Language, whichever it might be. After discovering with -Conversion the power of inter-changing bound variables, with -Reduction the power of -application after -abstraction, we now find in -Conversion through the notion of extensionality that dictates that two functions are the same if they produce the same result the resembling mapping to synonymy and translation, which together lead to a higher comprehension of combinatorial factorisation in Natural Languages. It can be said, thus, that the naming and reference of Natural Languages is strongly agitated by the arbitrary utterance of sound, which is transported to abstraction and, finally, to application, in coherence with the principles of -Calculus and Cognitive Linguistics, and in similar behavioural fashion as the proper waveform principles of the chart: after in rest (t1), sound provokes abstraction (t2) and retreats its utterance for possible renaming (t3); abstraction forces application (t3) and then withdraws its intellectual action for other availability (t4); then, once application is set free with the new lexicon already transported in the communicational wave (t4), the very same and identical phonemes or morphemes of the utterance are again at disposal, but now reconditioned, and, therefore, not centred on anteriority, while obliging abstraction to break away from both the sound and application (t4). Finally, once the sound is re-centred again, it becomes possible to effect application (t5), while abstraction is certainly conditioned to the last moment from the previous choice, and so is still captive (t5). This is not a strict, linear, consistent interpretation, as, for example, we could say that while at rest (t1), abstraction and (in the interior form of intuition) sound can be produced, though the answer to that could be, precisely, that the latter explains the former, that is, the graphic is consistent with silence and a recursion time of consciousness, but our aim is to pass over that and, limitedly, offer here a critical point and a fair analogon. We do not pretend, though, that this analogon is to reinforce the view that bestows Language as predominantly born out of use and communication, not far apart, but critically balanced with one in

40

Section III

centrum modularity as seen in the Cartesian heritage and the pineal body pivotal assumption of qualia or modus (Cf. Descartes, R., Meditationum de Prima Philosophia, Meditatio 1, 56), as we defend that the problem remains largely unresolved. This parameter (t1, t2, t3, t4, t5 = V time, t1+4) is capable, though, of enticing a just reflection between Combinatory phenomena and sound modularity, which appears to be, of course, the result of the first choice of variables to arguments, affecting neighbouring relations, as in -Calculus. The passage from the shortest phonemes or, preferably, called phonemes as the smallest segmental unit of sound employed to form meaningful contrasts between utterances1 to morphemes and words can be thought of as being symbolically assured by the structural and schematic Syntax definition of -Calculus. And this scheme is demonstrated by the gradation of [1] (-expression): = (( variable.function)argument); [2] to (-function): = (( variable.expression)); [3] and finally to (-application): = ( expression.expression). All of which can recommend a compositional interpretation of the sounds of speech in communication. This is exactly the reason why, across the simultaneity of the written statement by Ral Rojas The -Calculus can be called the smallest universal programming language of the world.2 and the analogon description of the Natural Language sounds of speech, we can without hesitation address two ideas towards the end of this Argument. The first is that for the exact same reason -Calculus can be called, as well, the longest Universal Programming Language in the world, due to Recursion, Syntax compactness and the Turing-Machine Equivalency. The second is that Artificial Intelligence was, to a certain level, not exactly semantically, but instead, declaratively mute until the appearance of the first Programming Languages and in transition relevant to our last Prolog Argument in the very precise sense that Artificial Intelligence could not speak for itself.

) The Prolog argument


Among the group of Artificial Languages which comprises many Artificial Natural Languages, such as Zamenhofs Esperanto or Peanos Interlingua is the group of Artificial Programming Languages. In the

41

Topics in Programming Languages

group of Artificial Programming Languages, set apart from the first Machine Languages, are all the types of Programming Languages that are user-oriented. Prolog should, however, be differentiated from Logic Programming, as Kowalski alerted in anticipation in the famous article The Early Years of Logic Programming (1988): It is a confusing notion, as claims made for the general concept of logic programming do not always hold for the programming language, Prolog, and vice versa. (...) Logic programming shares with mechanical theorem proving the use of logic to represent knowledge and the use of deduction to solve problems by deriving logical consequences. However, it differs from mechanical theorem proving in two distinct but complementary ways: (1) It exploits the fact that logic can be used to express definitions of computable functions and procedures; and (2) it exploits the use of proof procedures that perform deductions in a goal-directed manner, to run such definitions as programs. A consequence of using logic to represent knowledge is that such knowledge can be understood declaratively. A consequence of using deduction to derive consequences in a computational manner is that the same knowledge can also be understood procedurally. (Kowalski, R. A. (1988) The early years of Logic Programming. Communications of the ACM 31 (1): 38.) The Programming Language Prolog, developed by Alain Colmerauer and Phillipe Roussel in 1972, after the partnership investigation work groups of the so called Edinburgh-Marseilles Connection was, thus, not just an ordinary higher-level Programming Language departed from Machine Language, conforming to the prerequisites of a well-ordered syntax consistent with the original conceptualisation. It is already well-known that Predicate Logic the core of Prolog is, as a Programming Language, entirely user-oriented in the sense that the conceptualisation is closed into the fundamental aspect of First-Order Logic. Furthermore, it is divergent from the Functional Programming Paradigm present in Languages such as LISP, (a forerunner of Prolog in many central aspects), itself a derivative from -Calculus, in that Mathematical Investigations of functions are not, by definition, the most direct feature to address Propositional Logic with Quantifiers. Logic Programming is competent, though, in defining functional procedures in the same way that to some extent -Calculus is, through Church Numbers, proficient at expressing Logic and Predicates.

42

Section III

For example, [(True)(Boolean 1):=x.y.x];[(False)(Boolean 0):=x. y.y]; this is achieved out of the Church Numbers definition, which sets a valid Arithmetic definition through the use of a high-order function, devolving one-argument function for one-argument function, in such a way that the following becomes clear: [0:=f.x.x or fx.x] and [1:=f. x.fx or fx.fx] But conversely, Logic Programming, being capable of expressing definitions of computable functions and procedures, and not limited by being arrayed by them in flagrant and closed finished exposure, has definitely, as Kowalski referred to in the abovementioned quote, an advantageous difference as compared to proving a mechanical theorem. It exploits this advantage, not in the sense that it can restate Formal Logic in an extreme way, such as non-Classic Logic, though that is very much possible, but as an alternative, in the sense that is declaratively fresh. It is fundamentally exemplifying, through the fact that Deduction, Problem-Solving methods and expressions, and even the Proof procedural hierarchy of results, are all under the users control. In other words, Logic Programming opens up the possibility of Proof procedures being transformed into Programs, which is quite paradoxical, for one part for the reason that Prolog was to separate itself from the feature of what might be called Programming and Reprogramming main, and reinventing this feature of the History of Programming Languages, which has been settled since the paper First Draft of a Report on the EDVAC (30 June 1945) by John von Neumann, which was to provide Computing with the correlated importance of stored programs and basic Software, and was to construct for once and for all, the idea of Computer Architecture. Prolog (more exactly a concurrent Prolog-variant with object-oriented extensions in the kernel language (KL0) as designated) was, thus, the elected Programming Language to uphold the Fifth Generation Computer Project launched in the 1980s by the Japanese Government, which was conceived with Strong Artificial Intelligence prospects, and whose proponents were very clear in presenting the conceptual goals, as demonstrated in the following passage by Kazuhiro Fuchi, the ICOT Director in the paper Revisiting Original Philosophy of Fifth Generation Computer Systems Project (1984), Present von Neumann type computers are basically built for sequential operation and address search. Therefore, a parallel, associative inference machine will be a sort of non-von Neumann computer. (Fuchi, K. (1984) Revisiting Original Philosophy of Fifth Generation Computer Systems Project. Proceedings of the International Conference on Fifth Generation Computer Systems. Edited by ICOT, OHM North-Holland, p.20)

43

Topics in Programming Languages

One distinguishing attribute that was, nevertheless, perceived in expectation by von Neumann and still commonly shared during the engineering ambience of the Fifth Generation Computer Systems Project, was the neural and computational analogy, a replica and continuation of the Elements () (stoichea) venture in the Philosophy of Science and Computation, as made obvious by the Sections name, Elements, Synchronism, Neural Analogy, in the written report by von Neumann. We can, not unobtrusively, expand this analogy into two moments that reveal better the Computational background of the rise of Programming Languages, and one architectural idea in Artificial Intelligence about mankind; the first was in 1791, roughly around the time of Kants death, Galvanis discovery of animal electricity, and the other was the proper idea of machine language. Logic Programming was, thus, as a Programming Language perceived as creating the attributes of reasoning Predicates from Electricity in this context, and that is what also led to Prolog, in consequence, being the Language of choice in Artificial Intelligence. We can exploit both the imbalance and the affinity between Prolog and Logic Programming in the most fruitful ways. Prolog, apart from seizing First-Order Logic in clause form (a conjunctive normal form, giving away quantifiers) and, in addition, restricted to Horn Clauses (a clause containing at the most one positive literal, for example [A,B,C]), has taken onboard for itself the procedure born from Robinsons resolution principle (1965) which recurs to SLD, an inference rule in Logic Programming that is sound and complete for Horn Clauses. Note that all these are definite marks of various layers of complexity, which shall be exposed and dealt with in detail. One very reasonable way to start is by showing the types of operators in Prolog, safe from new directives (which act as new operators definitions), playing the role of functors there are three groups of operator types, catalogued in such way as to be synthesised by type specifiers: infix operators (xfx, xfy, yfx), prefix operators (fx, fy) and postfix operators (xf, yf), designated, in such fashion to be a signal of the structure, which work roughly as brackets. They are more detail-oriented, and one at a time: f is the sign for the built-in operator, x is a sign of lower precedence and y is a sign of lower or equivalent precedence which can help the reader to see how embedded in Prolog Logic Programming is, if familiarised with the signs correspondent in Logic. In this regard, the following section is a copy of the C-Prolog Users Manual, Version 1.1, straight from the EdCAAD (September, 1982):

44

Section III

:- op(1200, xfx, [:-, --> ]). :- op(1200, fx, [:-, ?- ]). :- op(1100, xfy, [; ]). :- op(1050, xfy, [-> ]). :- op(1000, xfy, [, ]).3 Herein are presented the Formal Logic and Propositional Calculus operators, otherwise known as logical connectives. For the rest, Prolog makes use of terms which form the central data structure in the Programming Language. Basically, there are terms of four kinds: atoms, numbers, variables, and compound terms. Another way to put it is to say that there are two types of data objects (simple objects and structures), two types of simple objects (constants and variables), and two types of constants (atoms and numbers). This scheme is recognisably object-oriented, if seen through the prism of Propositional Calculus, but Pure Prolog is not at all an object-oriented Programming Language. Somehow, under the same judgement, Prolog consecrates the functional approach, inherited from the precursor -Calculus, but is instead one whole declarative Programming Language, which leads us to be acquainted with the fact that a Programming Language Paradigm is an overriding concept, as well as a non-matching opposite. As a rewarding example, we can agree with the idea of Compound terms in Prolog and functor structure in -Calculus as being equivalent. In this perspective, the very same grid that was shown earlier in the Analysis of -Calculus finds applicable examples in the Prolog structure: [1] (-expression):= >((variable.function) argument); [2] (-function):= >((variable.expression)); [3] (-application):= >( expression.expression) [1] [Prolog]: atoms, numbers, constants and variables; [2, 3] [Prolog]: compound terms or structures We will acknowledge that this scheme of both contrast and coherence between -Calculus and Prolog is sharply consistent with the Paradigm structural response in Programming Languages because it is also overriding

45

Topics in Programming Languages

and drawn from opposites in the sense that it favours compound terms in the definition, inasmuch as it favours the bounding of variables to definite clauses (facts and rules), which will eventually produce programs and be able to solve queries. The opposite term to a variable is a rule, and queries are sensitive, in principle, to this type of clause. We shall now proceed to the expos of the intricate mechanism of transformation, and the possibility of being unveiled, which is subsumed in Prolog, and which stands apart from Logic Programming and overcomes the functional paradigm to make the great achievement of having a declarative status so enriching that it has overpowered, in its own sense of overriding in Programming Languages, the place for a Language to exist in the Artificial Intelligence domain. We will attempt to look at Chapter 10, The relation of Prolog to Logic, of the classic book Programming in Prolog (Closcksin, W.F. and Mellish, C.S. (1994), Fourth Edition, Springer), alongside an event description in Prolog for the preceding Acoustics chart to be a foil for a very brief conclusion to this last argument, before presenting the whole Project Formulation, something without which its comprehension would be rendered very problematic. The relational status of Prolog allows precisely that, as well as subsequent extrapolations. As we saw before, Predicate Calculus lacks this relational and functor-range possibility, which, like the mechanism of anthyphairesis, devolves in the retraction of one other term type, complemented by the emancipation of results as one structure serving as an argument for another structure to which end it needed the First-Order Logic quantifier variables in the first place, in order to retaliate against some of its rigidity. By this reflection, we can further assert how Prolog is a sort of Advanced-Order Logic for Computation, causing different transformations from the core of Logic Programming, the proof for which is that a set of Prolog clauses is undifferentiated from Propositional Calculus in clausal form. With respect to the Acoustics Chart: Every air particle affected by the sound energy of speech will hit its adjacent air particle (, air particle () hit air particle ()) 1. Remove Implications: (, air particle () hit air particle ())

46

Section III

2. Moving negation inward is in this case not necessary. If we had, for instance, the negation applied to no one formula that is not only atomic, we would have rewritten it. Take the previous case with the negation applied: (, air particle () hit air particle ()) transformed to: (, air particle () hit air particle ()) though not the case 3. Skolemising by Skolem constants is, in terms of the Second-order equivalence and the definition of First-order Satisfiability put together, thoroughly limiting and to the highest degree of the most general equivalence, to the extreme of being the poorest too, Skolemising does more damage to the logical properties of a formula than the other transformations we discuss. Nevertheless, it has the following important property. There is an interpretation for the symbols of a formula that makes the formula true if and only if there is an interpretation for the Skolemised version of the formula,4 and thus obliges the introduction of functions. In this case, for convenience, we are transforming the original formula with the implication and the quantifier: (, air particle (f e ()) hit (air particle (f e ()), (f)(air particle ()))) 4. We now move away the Universal Quantifier: (, air particle (f e ()) hit (air particle (f e ()), (f)(air particle ()))) This equals: ( , air particle (f e ()) hit (air particle (f e ()), (f)(air particle ()))) 5. We set the formula now in CNF (Conjunctive Normal Form). CNF holds a special place of importance in Artificial Intelligence by its very dynamic feature in Theorem Proof. CNF, by virtue of its being a compound and, thus, a structural term as a conjunction of

47

Topics in Programming Languages

disjunctions has placed important results in the form of conjunctions by the repeated, and the sometimes almost machine-exhaustive process of precisely eliminating implications, moving negations inwards, and using, apart from those, commutation, association, distribution and De Morgans. In this aspect of the formula conjunctions never appear within disjunctions. There is, therefore, in our final collection one clause of one literal each: ( , air particle (f e ()) hit (air particle (f e ()), (f)(air particle ())) 6. Finally, in Prolog, this is equivalent to: (, air particle (f e () :-hit (air particle (f e ()), (f)(air particle ()))). As a conclusion for the Prolog Argument, before dealing with the consistent and entire Book Project, which will be held for the readers evaluation with a much more enlarged spectrum in Analysis, but still wholly addressing the original purpose of the Analysis, only much more encapsulated, it is left for us to evaluate in short the route that Prolog opens up. In this analysis, Logic Programming has not contemplated the possibility of Proofs being anything other than that being strictly carried out, and interpreted as other programs, which blindfolds the ModelTheoretically approach along the way and the consequences are great; or as Heidegger would say, On the way to Language Philosophising. Disregarding abstruse technicalities, (even basic operations in Database Prolog), which were not our goal, it has been worthwhile to pin down, in my perspective, the great Philosophical impingement in Prolog. Mechanical Theorem proving, in a goal-oriented way, and Logic Programming, designed in such a way as we encounter in Prolog, which is a refinement of the previous, backtracking action, are catapulted in Prolog, not just to the effect of the merging of Procedural and Declarative (acme) Paradigms, but, also, and more importantly, to one effect of (peak, prime) of the Contemporaneous move to and fro of Natural and Programming Languages, out of which the balance is unknown, and is still, due to immiscibility of both, literally an echo of the principle of Acoustics and Speech. Prolog, which was born out of one effort in the

48

Section III

field of Natural Language Processing and non-numerical applications, whose first-class attributes in the area were far from algorithmic Statistics has, though, achieved the promulgation of the embedded and latent functional Paradigm to one relational status, and the consequent nondeterministic key in allowing, in essence, one mature Philosophising style not found elsewhere. It embraces an epistemological equilibrium between relativist and dogmatist views, besides being capable of reasoning about reasoning and knowledge, as Lus Moniz Pereira has fairly pointed out. This openness to relatedness is its proper craft, in a similar way to the mechanism of anthyphairesis, Gdel numbering, or abundant examples in the Philosophy of Science. Its query power is not merely one mechanical feature, as Prolog not only responds to the original declarative style of Natural Language and Mathematics; its corpora is capable of harbouring Ontologies to and from Computation, and from within or outside Prolog Programming Language, concealing Programming as one Philosophical Practice. This symbolical power inherent to Prolog alludes, not only to one question-answering system, but more broadly to problematisation. It occupies a sole place in being able to synthesise the Philosophy of both Natural and Programming Languages, and in donating one architectural idea to the Mind, separately from any type of Computational Models. Among the many consequences it is also capable of inhabiting the Mind with relational spontaneity to such a high degree and so exhaustively that dogmatist and relativist types of judgement are relegated, not exactly to Antinomies, but rather to one very acute orientation of reasoning towards itself. The promulgation of simple facts and rules is thus, and by this means, one type of problematisation. In this frame, the simple barrier of Antinomies becomes isolated in the face of the possibility of finding analytically one such complexity, that its formality is passively interpreted as one interpretation, something that bestows Model Theory with building Critical Architectures, entices Programming Philosophy, and, ultimately, with great consequences, deepens the (Logos). concept and understanding of The continent-and-form paradox comes to life in Prolog too, but never to ontological deceptiveness, inasmuch as the categories of relations of inheritance and subsistence, causality and dependence, and of community are brought to subsume space and time in a simple clausal form, in obeisance to the logical function of the Understanding in Judgements, but, due to one such Programming Language Syntax as Prologs, it is also capable of, in a specific Philosophical Analysis, to subsume Modality in

49

Topics in Programming Languages

relatedness (or in the Relation type of Categories), as if, after Logic was able to abstract from content and existence, we were no longer able, in a good sense, to abstract Logic from existential relations.

Notes
1. International Phonetic Association (1999), Phonetic description and the IPA chart. Handbook of the International Phonetic Association: a guide to the use of the international phonetic alphabet. Cambridge University Press, ISBN 978-0-521-63751-0. 2. Rojas, R. (FU Berlin, WS-97/98) (2011) A Tutorial Introduction to the Lambda Calculus: http://www.inf.fuberlin.de/inst/agki/rojas_home/pmwiki/ pmwiki.php?n=Main.Tutorials 3. C-Prolog Users Manual (1982) 1 (1): 13(ed.) Fernando Pereira, EdCAAD, Edinburgh Computer Aided Architectural Design. 4. Closcksin, W.F. and Mellish, C.F. (1994) Programming in Prolog p. 226, Springer, Fourth Edition.

50

Section IV
Topics in programming languages: a philosophical analysis through the case of Prolog
Summary
This project intends to study Topics in Programming Languages recursively and decisively, that is, enclosing the processes of Calculus described by well-known algorithms, theoretical or applicable, focused on different paradigms of Programming Languages, mainly through an extensive Analysis of Logic Programming and Prolog within the overall context of the Philosophy of Information. Programming Languages History is the reduction of some Artificial Languages into and onto others, generating one list of partial computable functions, which are formalised symbolic languages becoming more and more natural. Taking into account the natural bridge between Mathematical (Proof) and Model (Interpretational) Theories that combine, thus, in Logic Programming so cohesively, the purpose is to include in this arch one extension to standard routine analysis through Philosophy. Predicative Logic to Clausal Formal Logic, Resolution to Control Strategy as both Declarative and Procedural means to Knowledge Representation, Formal Semantics, Natural Language Processing and Information Objectivism should appropriately roll out the debate.

State of the art


Robinsons resolution principle proving theorems in clausal-form logic (1965), Kowalskis Programming Language interpretation of the precedent

51

Topics in Programming Languages

(1972), and the implementation of the first Prolog System (1973), have caused Prolog to become manifest to the extent that since 1976 the International Conferences on Logic Programming have published 27 editions of various journals covering Logic Programming, including the Journal of Logic Programming, New Generation Computing, Logic and Computation, Artificial Intelligence, Machine Intelligence, Knowledge Engineering Review, besides the investment of roughly $400 million by the Fifth Generation Computer Project in Japan (1981) in an attempt to transform von-Neumann into Logic Programming machines. Since 1986 it has been entrusted by the Association of Logic Programming. This is the scenario on the side of Logic Programming and Prolog. In contrast, the Philosophical Analysis of Programming Languages is in its embryonic stage. All we find is significant activity in the arena of the Philosophy of Computation and Information, where Programming Languages are one among many to receive attention. We find some articles (Shapiro; Pereira) drawing Philosophical Impingements and work drafted between Model theory and Formal Semantics (Droste; Gurevitch). Except for these, it is limited, and above all, has suppressed a holistic critical vision, including the Classical Philosophy of Logic, Language and Mind. The equivalent would have been not to have invented the Philosophy of Language itself on the occurrence of the Semantics of Natural Languages. If this is regarded at all in Artificial Languages, Prolog is the natural choice. Why is the Philosophy of Language restricted to Natural Languages? Why does not one Natural-Language Processing Programming Language dialog with Natural Language Philosophy? As Floridi pointed out, Some of this material is quite technical, and is also generally unfamiliar to the philosophers (even those who know the usual technical repertoire of philosophical logic. (Floridi, L. (2004) The Philosophy of Computer Languages, The Blackwell Guide to the Philosophy of Computing and Information p.238, Blackwell Publishing.) The exceptions are: SEP, Metaphysics Research Lab, CSLI, Stanford University. It elaborated in 2008 one article on the Philosophy of Computation, whose 6th point envisaged the discussion of ontology and abstractions in Programming Languages. Ratification of the IACAP (The International Association for Computing and Philosophy, 2004) with European representation. Programming Languages were still not dealt with under a Philosophical Analysis, save for sparse references.

52

Section IV

Global interest cultivated by the ACM in Referential Bibliography about Programming Languages, and even Philosophical Topics, but not in their accretion, that is, Programming Language Philosophical Topics. Opening of several Centres for Computational Sciences, with a view to studying more about Philosophical approaches, a noteworthy example being Joensuu University, Finland; also, the conjoining of Model Theory by Leipzig and Michigan. Publication of The Blackwell Guide to the Philosophy of Computing and Information (2004), edited by Floridi, who coordinates the GPI, and the fact that Part V has been brought out under the title, Language and Knowledge, of which Section 3 is entitled The Philosophy of Computer Languages. Other academic nuclei from Computer Sciences inclined towards understanding the Philosophy of Programming Languages, such as Marburgs. Essexs example is revealing: http://pcs.essex.ac.uk/pls. html From this we can observe how Programming Languages were considered far removed from Philosophy, and overwhelmingly rooted in Computational Departments. We suggest Programming Languages as having an intrinsic work of Philosophy to be carried out.

Goal
The arch of Natural, Formal and Programming Languages Semantics will be held, under the Topics of Programming Languages discussed under Prolog. Logic Programming, whether in pure or full Prolog, rests on an operational interpretation of Logic. This translates into the assertion that all three are a very convenient Program. Prolog is originally a non-numeric Natural Language-processing Programming Language, which sought to parse speech down to acore language. Compositional semantics since Frege, and up to Montagues Linguistic claim, should also be envisaged in Topics in Natural Language Analysis (with -Calculus encoding the Semantic system, extending to syntactic coverage and grammar), as the conclusions are strong enough to set an opposition to Natural Language Philosophy. In the general mapping of Programming Languages since the 1950s (Fortran, Cobol), the 1960s (APL, Snobol, Basic), the 1970s (B, SmallTalk,

53

Topics in Programming Languages

Prolog, Pascal), the 1980s (C++, TurboPascal, Eiffel, Perl), and the 1990s (Phyton, Java, VisualBasic, Ruby, Delphi, PHP), there has been nothing other than Prolog to demonstrate so cleverly Knowledge representation, embedded metalogical facilities, the tendency to isomorphism between Nature and Artificiality, appropriateness to large databases, the Foundations of AI, the difference between Deduction and Computation, and the Philosophical canvas drawn between Imperative, Procedural and Declarative paradigms. In the restricted First Order Syntax, Prolog not only allows reasoning tools for discerning Formal Semantics made evident by the mechanisms of Substitution, Unification, Resolution and Proof Trees, but also allows for, and beyond, Logical Philosophical practice, for example in effecting Recursion and Induction appends, High-order and Non-classical Logic, and visual graphical interaction, as well as, of course, Model Theory tests. Likewise, there is no Discipline apart from Philosophy to reason about Natural and Artificial Languages immiscibility, which conveys Ontological premises in the bridge from Natural to Formal and Programming Languages. Indeed, pure Prolog notation is a compiled extension of the Philosophy of Logic; we should also bear in mind that automated theorem proof was achieved in Programming Languages by Robinson the Philosopher, not to mention excellent preparation work by Logicians such as Kowalski. Our goal is to bring out to light such Philosophical roots and emphasise Prologs sound theoretical foundations and non-deterministic bias.

Detailed description
Mathematics, Philosophy and Computation have in common this difficulty of having to work on incomplete programs without knowing whether there exists a demonstration of their theories or not. Modern Symbolic Logic was born with Freges Begriffschrifft (1879), setting the basis for Predicative Logic. Hilberts Project and Foundational work on Axiomatic Geometry, Peanos nine axioms of Arithmetic Exposition, Cantors Set theory, the Set Theorys Axiomatic Analysis by Zermelo, and the intellectual landmark enterprise of Principia Mathematica (Russell and Whitehead) with defiant paradoxes, all respond to one era when Logicism, Intuitionism and Formalism fiercely challenged each other. Gdel himself, Skolem, Post and Herbrand all concurred to assert and prove First Order Completeness. A mechanical and deistically inferential mindset had become established in Logic before Computation.

54

Section IV

However, it was then that Gdels bombshell fell upon the Principia Mathematica legacy, with his two Incompleteness Theorems. It opened, thus, the road to affirming The Concept of Truth in Formalised Languages (1933) by Tarski, the architect of Model Theory, divorcing from then on Derivability from Truth, and Proof from Interpretation, and putting across the critical notion of Satisfiability. With the rise of Computation, some efforts at dispelling illusion were made by Church with A note on the entscheidungsproblem. (1936), and by Turing with On Computable Numbers, with an application to the entscheidungsproblem (1937). Both divorced logical consequence from proof in any known possible algorithm or theorem-proof computer program. Between the end of the Second World War and the 1950s, computers shifted their function to peaceful and civil ends. As a consequence, Artificial Intelligence arose, gaining notability as demonstrated by Newells, Shaws and Simons work. The shift to machine-oriented logic owes its credit to these authors. The Unification and Resolution principles obey this new Philosophical survey and, even though first promulgated by Herbrand in obscurity, both these ideas were rescued later by Davis, Putnam and Prawitz (1960). It was on this Herbrand-Prawitz unification algorithm that Robinson worked to come up with a new clausal logic the resolution principle combining it with Gentzens cut (1963). After that, Robinson created hyper-resolution by strong Automatic Deduction (1965), which worked as compacted complete deductions. Meanwhile, Europe saw the rise of Computational Logic Groups, namely, in Edinburgh and Marseilles, at the same time sparking in the US a debate about Artificial Intelligence Philosophical premises. The debate diverged between Declarative research, with proponents such as McCarthy (who had translated to Lisp, a harbinger of Prolog, Robinsons proof), and a Procedural approach, backed by MIT, which adhered to one structuralist landscape, as portrayed by Minsky with prevailing force. It was after building the Edinburgh-Marseilles Connection, as Kowalski referred to it in the article The Early Years of Logic Programming, that the first-hand work on Horn clauses computed as procedures led to Logic Programming, and according to the same author, that Predicate Calculus was finally parsed into a Programming Language, which helped to reduce the split between Declarative and Procedural means. There were often various technicalities that outshone Philosophical overviews until Prolog was born (1972), but none could possibly be disguised in the forerunning Project of the Fifth Generation Computers in Japan (1982 1994), which welcomed Prolog as its natural Programming Language.

55

Topics in Programming Languages

We aim, therefore, not to be restricted to the already far-reaching advocated scope of Logic Programming resulting from Controlled Deduction. We aim to bridge the Philosophy of Natural Languages with Programming Languages, which cannot be done except through Logic Programming and Prolog. The Philosophy of Computation cannot be explored without the Philosophy of Programming as the Philosophy without an Alphabet, according to Derrida. The biggest advances in Philosophy in the last century were in Language and Logic. Computation, the Trojan horse of Information, is intrinsically a Programming Language platform influencing events with idiosyncratic behavior as Charles Simonyi noticed, When you have a new programming language, the users have to rewrite their legacy code (...). So, basically, new programming languages can come about only when there is an independent revolution that justifies the waste of the legacy, such as Unix which gave rise to C, or the Web which gave rise to Java. (Simonyi, C. Intentional Programming. A Talk With Charles Simonyi (The WYSIWYG), Interviewed by John Brockman). Nevertheless, none of all the above-quoted Programming Languages are relational or functional, to the extent that Prolog has been ranked a conversational language(Clocksin and Mellish), and thus the only one capable of extending the arch of the Philosophy of Language and Formal Semantics into the core of the Philosophy of Logic, as well as other Disciplines such as Linguistics to Computation and Artificial Intelligence. The relational, pivotal role of variables in Prolog, not found in any other, also assures its eminent non-deterministic status, again one exclusive singularity in the realm of Programming Languages. The same goes for the fact that the only Programming Language entitled to reason about other Programming Languages, not mentally in negatio, but from the core and sufficiently covering the spectrum of nuances from Languages to Computation, is Prolog. Moreover, building values for unknowns by self-contained relational principles, with mingled Declarative and Procedural effects was indeed the proper mechanism for creating Natural Languages, their Grammars, Linguistics, Formal Semantics, and also Computation. As limited subsets of Prolog can be disassembled, deriving Database Prolog, Pure Prolog or Applicable Prolog of all sorts, sometimes other Programming Language extensions such as C++, Visual Prolog (logical, functional and object-oriented), including their declarative and query traces can be reasoned extensively in a backtracking style, that is, backwards and in a top-to-bottom direction, towards Formal Semantics and the Philosophy of Language, thus giving rise to different landscapes of thought. Comparative Ontology could further stand out among

56

Section IV

omissions, not only between Programming Languages Paradigms in the Philosophy of Computation, but also and primarily covering the whole of the Philosophy of Language and Logic. Even in the hard line of Computation, modern computer scientists (Scott, Strachely, Burstall and Plotkin) have related Model Theory to Programming Languages. It is a fact that Model Theory is not a Semantic theory, whose structure of Analysis is Natural Languages, but a Mathematical structures instead. Nevertheless Programming Languages are formal and computational languages that ideally target the model of the Natural. Apart from the historical place that Classical Model Theory enjoys in Logic Programming, its formal arrangements relations between structures using the formal language, such as Substructure, Reduction, Embedding or Isomorphism, the interpretation of a language in a structure, with recognisable traits such as Validity, Satisfiability or Substitution, logical concepts such as First Order Completeness and other syntactic notions can fairly contribute to the structure of the complementary future argument. Natural Languages, too, suffered from the prescriptive and proscriptive tendencies in the eighteenth century approach to the writing of grammars and dictionaries, transposing pre-judgements and a lack of a panoramic view. To some procedural proponents, Prolog was, maybe, a collection of errors especially when taking into consideration the failure of the Fifth Generation Computer Systems Project in Japan but if not anything else, it is the perfect errata, as it was also the most radical attempt to bring natural Languages to Computation. Sufficient time has already elapsed without simple approaches coming forth from the Philosophy of Language and Linguistics, such as the Comparative Method and Typological classification by frames of reference, having been devolved now instead from Programming Languages to Natural Languages, and pursuing a different horizon of Philosophical Foundations, to which again, only Logic Programming is capable of discussing. There is no stronger evidence of the above-mentioned than the fact that the History of Programming Languages was elevated over the Compositionality Principle (Frege), and that, conversely, Natural Language Analysis and Semantic Interpretation, namely in Prolog, rely heavily, not only on -Calculus, but prior to Compositional Semantics, truly on the last entailment draft between Natural and Artificial Languages from the abridgement of Formal Semantics. We will not repeat in detail the description of meta-logical facilities, specific notation or interpreters problems, elsewhere abundant, but only in similar fashion, as when it is possible to have interpreters who write

57

Topics in Programming Languages

in their native language, called meta-circular interpreters (like Prolog in Prolog), do we wish to write one Philosophical disscussion whose interpretational grants will be made evident by proper Prolog concepts, conjoining terms and structures with Philosophy. This has always happened with Natural Languages: the same means and ends of whichever Natural Language or Philosophy of Language is the problem at stake. In the case of Programming Languages alone, this is severely restricted: only Prolog and Logic Programming are capable of such mirroring accomplishment. Now, typically, Programming in Prolog involves dealing with empty and finite areas; numerals, lists, other complex domains, and binary trees, precise queries and programs, partial correctness, as well as collecting even more malleable facilities towards full Prolog, but our disscussion aims, preferably, at bringing about Philosophical consequences, even though having at our disposal such illustrations. By this we are committed to reinforcing the liaison between Prolog and Logic Programming, as, in their thirty years history and kinship, modes have set them apart. On one side prevails language features and programming technique, and on the other, Theoretical Foundations close to Mathematics. Undoubtedly, Philosophy is the only wide-spectrum Discipline capable of combining, in affiliation with both, separated areas; it suffices to say that it shall be the first step to further the cause of bringing together the Philosophy of Language and Logic through Computation.

58

Bibliography
Bratko, I. (2001) Prolog, Programming for Artificial Intelligence. 3rd edn (Addison-Wesley Publishers Limited). Kowalski, R. (1979) Logic for Problem Solving, Artificial Intelligence Series. Nilsson, N.J. (ed) (The Computer Science Library). Clocksin, W.F. and Mellish, C.S. (1994) Programming in Prolog. 4th edn, (Springer-Verlag). Sterling, L. and Shapiro, E. (1999) The Art of Prolog, Advanced Programming Techniques. (Second Edition), The MIT Press, Cambridge, Massachusetts, London, England. Friedman, D.P. and Wand, M. (2008) Essentials of Programming Languages, 2nd edn, (Cambridge, Massachusetts, London, England: The MIT Press). Dos Santos, Prspero, M.J.T., (1988) Estilo declarativo na Programao Grfica Interactiva: anlise e avaliao sobre sistemas em Prolog. Lisboa. Pereira, L.M. (2001) La Incidencia Filosfica de la Programacin Lgica, gora, Papeles de Filosofa 26 (1): 153185. Robinson, J.A. (1992) Logic and Logic Programming. Communications of the ACM 35 (3): 4065. Manzano, M. (1999) Model Theory, Translated by de Queiroz, R., Oxford Logic Guides. Floridi, L. (2004) The Blackwell Guide to the Philosophy of Computing and Information, Luciano, F. (ed), (Blackwell Publishing). Crystal, D. (2010) The Cambridge Encyclopedia of Language 3rd edn, (Cambridge University Press). Rojas, R. (FU Berlin, WS-97/98) (2011) A Tutorial Introduction to the Lambda Calculus. http://www.inf.fuberlin.de/inst/agki/rojas_home/ pmwiki/pmwiki.php?n=Main.Tutorials Kowalski, R. (1974) Predicate Logic as a Programming Language, (Univerity of Edinburgh: North-Holland Publishing Company).

59

Topics in Programming Languages

Kowalski, R. (1988) The early years of Logic Programming. Communications of the ACM 31 (1). Barendgret, H. and Barendsen, E. (1998) Introduction to Lambda Calculus 2nd edn. Russell, S. and Norvig, P. (2010) Artificial Intelligence, a Modern Approach, 3rd edn, (Pearson). Bittar, E.C.B. (2003) Curso de Filosofia Aristotlica, leitura e interpretao do pensamento aristotlico, (So Paulo: Manole). Pereira, F.C.N. and Shieber, S.M. (1987) Prolog and Natural-Language Analysis, (Massachusetts: Microtome Publishing). Endriss, U. (2007) Lecture Notes, An Introduction to Prolog Programming, (Institute for Logic, Language and Computation, Universiteit van Amsterdam). C-Prolog Users Manual 1(1) (1982), (ed.) Fernando P., (EdCAAD, Edinburgh Computer Aided Architectural Design, University of Edinburgh). Nagel and Newman (2001) Gdels Proof, Revised edn, (New York University Press). Goldstein, R. (2005) Incompletude, a demonstrao e o paradoxo de Kurt Gdel, Traduo de David Gaspar, (Gradiva). Hintikka, J. (2000) On Gdel, (Wadsworth: Thomson Learning). Laboratrio Nacional de Engenharia Civil (1979) How to Solve it with Prolog, (Lisbon: LNEC). Coelho, H. (1977) Natural Languages and Databases: visit to Marseilles Artificial Intelligence Group, (Lisboa: LNEC). Clocksin, W.F. (1997) Clause and effect: Prolog Programming for the working programmer, (Berlin: Springer). Deransart, P., Ed-Dbali, and Cervoni, L. (1996) Prolog: the Standard Reference Manual, (Berlin: Springer). Apt, K.R. (1997) From Logic Programming to Prolog, (London: Prentice Hall). Spivey, M. (1996) An Introduction to Logic Programming through Prolog, (London: Prentice Hall). Covington, M.A. (1994) Natural Language Processing for Prolog Programmers, (Englewood Cliffs, US: Prentice-Hall).

60