9 research outputs found

    Topics in Programming Languages, a Philosophical Analysis through the case of Prolog

    Get PDF
    [EN]Programming languages seldom find proper anchorage in philosophy of logic, language and science. is more, philosophy of language seems to be restricted to natural languages and linguistics, and even philosophy of logic is rarely framed into programming languages topics. The logic programming paradigm and Prolog are, thus, the most adequate paradigm and programming language to work on this subject, combining natural language processing and linguistics, logic programming and constriction methodology on both algorithms and procedures, on an overall philosophizing declarative status. Not only this, but the dimension of the Fifth Generation Computer system related to strong Al wherein Prolog took a major role. and its historical frame in the very crucial dialectic between procedural and declarative paradigms, structuralist and empiricist biases, serves, in exemplar form, to treat straight ahead philosophy of logic, language and science in the contemporaneous age as well. In recounting Prolog's philosophical, mechanical and algorithmic harbingers, the opportunity is open to various routes. We herein shall exemplify some: - the mechanical-computational background explored by Pascal, Leibniz, Boole, Jacquard, Babbage, Konrad Zuse, until reaching to the ACE (Alan Turing) and EDVAC (von Neumann), offering the backbone in computer architecture, and the work of Turing, Church, Gödel, Kleene, von Neumann, Shannon, and others on computability, in parallel lines, throughly studied in detail, permit us to interpret ahead the evolving realm of programming languages. The proper line from lambda-calculus, to the Algol-family, the declarative and procedural split with the C language and Prolog, and the ensuing branching and programming languages explosion and further delimitation, are thereupon inspected as to relate them with the proper syntax, semantics and philosophical élan of logic programming and Prolog

    Reachability Logic

    Get PDF
    Abstract. This paper introduces *reachability logic*, a language-independent seven-rule proof system for deriving reachability properties of systems. The key ingredients of *reachability logic* are its sentences, which are called reachability rules and generalize the transitions of operational semantics and the Hoare triples of axiomatic semantics, and the *Circularity* proof rule, which generalizes invariant proof rules for iterative and recursive constructs in axiomatic semantics. The target transition system is described as a set of reachability rules, which are taken as axioms in a reachability logic proof. Typical definition styles which can be read as collections of reachability rules include conventional small-step and big-step operational semantics. The reachability logic proof system is shown sound (in the sense of partial correctness) and relatively complete. The soundness result has also been formalized in Coq, allowing to convert reachability logic proofs into proof certificates depending only on the operational semantics and the unavoidable domain reasoning. Reachability logic thus eliminates the need to independently define an axiomatic and an operational semantics for each language, and the non-negligible effort to prove the former sound and complete w.r.t the latter.unpublishednot peer reviewe

    Chains of life: Turing, Lebensform, and the emergence of Wittgenstein’s later style

    Get PDF
    This essay accounts for the notion of Lebensform by assigning it a logical role in Wittgenstein’s later philosophy. Wittgenstein’s additions of the notion to his manuscripts of the PI occurred during the initial drafting of the book 1936-7, after he abandoned his effort to revise The Brown Book. It is argued that this constituted a substantive step forward in his attitude toward the notion of simplicity as it figures within the notion of logical analysis. Next, a reconstruction of his later remarks on Lebensformen is offered which factors in his reading of Alan Turing’s “On computable numbers, with an application to the Entscheidungsproblem“ (1936/7), as well as his discussions with Turing 1937-1939. An interpretation of the five occurrences of Lebensform in the PI is then given in terms of a logical “regression” to Lebensform as a fundamental notion. This regression characterizes Wittgenstein’s mature answer to the question, “What is the nature of the logical?

    Advancing Deductive Program-Level Verification for Real-World Application: Lessons Learned from an Industrial Case Study

    Get PDF
    This thesis is concerned with practicability of deductive program verification on source code level. As part of a case study for the verification of real-world software, the specification and verification approach to show correctness of the virtualizing kernel PikeOS is presented. Issues within the verification process using current tools and methodologies are discussed and several aspects of these problems are then addressed in detail to improve the verification process and tool usability

    Gödel mathematics versus Hilbert mathematics. I. The Gödel incompleteness (1931) statement: axiom or theorem?

    Get PDF
    The present first part about the eventual completeness of mathematics (called “Hilbert mathematics”) is concentrated on the Gödel incompleteness (1931) statement: if it is an axiom rather than a theorem inferable from the axioms of (Peano) arithmetic, (ZFC) set theory, and propositional logic, this would pioneer the pathway to Hilbert mathematics. One of the main arguments that it is an axiom consists in the direct contradiction of the axiom of induction in arithmetic and the axiom of infinity in set theory. Thus, the pair of arithmetic and set are to be similar to Euclidean and non-Euclidean geometries distinguishably only by the Fifth postulate now, i.e. after replacing it and its negation correspondingly by the axiom of finiteness (induction) versus that of finiteness being idempotent negations to each other. Indeed, the axiom of choice, as far as it is equivalent to the well-ordering “theorem”, transforms any set in a well-ordering either necessarily finite according to the axiom of induction or also optionally infinite according to the axiom of infinity. So, the Gödel incompleteness statement relies on the logical contradiction of the axiom of induction and the axiom of infinity in the final analysis. Nonetheless, both can be considered as two idempotent versions of the same axiom (analogically to the Fifth postulate) and then unified after logicism and its inherent intensionality since the opposition of finiteness and infinity can be only extensional (i.e., relevant to the elements of any set rather than to the set by itself or its characteristic property being a proposition). So, the pathway for interpreting the Gödel incompleteness statement as an axiom and the originating from that assumption for “Hilbert mathematics” accepting its negation is pioneered. A much wider context relevant to realizing the Gödel incompleteness statement as a metamathematical axiom is consistently built step by step. The horizon of Hilbert mathematics is the proper subject in the third part of the paper, and a reinterpretation of Gödel’s papers (1930; 1931) as an apology of logicism as the only consistent foundations of mathematics is the topic of the next second part

    Toward language-independent program verification

    Get PDF
    Recent years have seen a renewed interest in the area of deductive program verification, with focus on verifying real-world software components. Success stories include the verification of operating system kernels and of compilers. This dissertation describes techniques for automatically building efficient correct-by-construction program verifiers for real-world languages from operational semantics. In particular, reachability logic is proposed as a foundation for achieving language-independent program verification. Reachability logic can express both operational semantics and program correctness properties, and has a sound and (relatively) complete proof systems that derives the program correctness properties from the operational semantics. These techniques have been implemented in the K verification infrastructure, which in turn yielded automatic program verifiers for C, Java, and JavaScript. These verifiers are evaluated by checking the full functional correctness of challenging heap manipulation programs implementing the same data-structures in these languages (e.g. AVL trees). This dissertation also describes the natural proof methodology for automated reasoning about heap properties

    Machines will think: structure and interpretation of Alan Turing’s imitation game

    Get PDF
    Can machines think? I present a study of Alan Turing’s iconic imitation game or test and its central question. Seventy years of commentary has been produced about Turing’s 1950 proposal. The now legendary “Turing test” has grown a life of its own in the tradition of analytic philosophy with at best loose ties to the historical imitation tests (1948-1952) posed by Turing. I shall examine the historical and epistemological roots of Turing’s various versions of imitation game or test and make the case that they came out from within a dialogue, in fact a scientific controversy, most notably with physicist and computer pioneer Douglas Hartree, chemist and philosopher Michael Polanyi, and neurosurgeon Geoffrey Jefferson. Placing Turing’s views in their historical, social and cultural context, I shall reclaim their scientific and philosophical value for the sake of the discussion in the years to come. My study is organized according to three main philosophical problems whose analyses are backed by a subsidiary chronology of the concept of machine intelligence in Turing’s thought (1936-1952). The first problem I will address is the identification of Turing’s specific ambition which led him to announce that machines will think. War hero and brilliant mathematician, he challenged the conventional wisdom of what machines really were or could be and prophesized a future pervaded by intelligent machines which may be seen as a dystopia just as much as a utopia. I shall examine Turing’s profile and take special interest in the way he was seen by his contenders. In the second problem, over and above the mere proposal of a test for machine intelligence, I will study Turing’s proposition “machines can think” and its implied existential hypothesis — “there exists (will exist) a thinking machine” — from a point of view of the history of the philosophy of science. Unlike traditional readings of Turing, I found that Turing held a non-obvious realist attitude towards the existence of a mechanical mindbrain which he conjectured to frame the human and whose digital replica he intended to build in the machine. Turing’s 1950 paper has been acknowledged as a complex and multi-layered text. Opposing views can be identified in the literature relative to the question on whether or not Turing proposed his imitation test as an experiment to decide for machine intelligence. I shall call this the Turing test dilemma and address it as my third and main problem. My findings suggest that Turing cannot have proposed his imitation game as something other than a thought experiment. And yet its critical and heuristic functions within the mind-machine controversy are striking
    corecore