User loginNavigation |
Middle History of Logic ProgrammingResolution, Planner, Edinburgh LCF, Prolog, and the Japanese Fifth Generation Project arXiv:0904.3036 Logic Programming can be broadly defined as “using logic to infer computational steps from existing propositions†(although this has been opposed by Kowalski; see below). The focus of this article is on the middle period of the development of this idea from the advent of uniform proof procedures using resolution to the Japanese Fifth Generation Project. Kowalski [1988] stated “Looking back on our early discoveries, I value most the discovery that computation could be subsumed by deduction.†According to Hewitt et. al. and contrary to Kowalski, computation in general cannot be subsumed by deduction. Hewitt and Agha [1991] and other published work argued that mathematical models of concurrency did not determine particular concurrent computations as follows: The Actor Model makes use of arbitration for determining which message is next in the arrival order of an Actor that is sent multiple messages concurrently. For example Arbiters can be used in the implementation of the arrival order of messages sent to an Actor which are subject to indeterminacy in their arrival order. Since arrival orders are in general indeterminate, they cannot be inferred from prior information by mathematical logic alone. Therefore mathematical logic cannot implement concurrent computation in open systems. Consequently, Procedural Embedding of Knowledge [Hewitt 1971] is strictly more general than Logic Programming. Over the course of history, the term “functional programming†has grown more precise and technical as the field has matured. Logic Programming should be on a similar trajectory. Accordingly, “Logic Programming†should have a more precise characterization, e.g., “the logical inference of computational steps.†Kowalski's approach has been to advocate Logic Programming in terms of backward-chaining only inference building on the resolution uniform proof procedure paradigm for proving theorems. In contrast, our approach was to reject the resolution uniform proof procedure paradigm and to explore Logic Programming defined by a principled criterion, namely, “the logical inference of computational stepsâ€. Note: This article is about the middle history of Logic Programming. See ArXiv:0901.4934 for conceptual development of the role of Logic Programming from its origins to the present. By Hewitt at 2011-03-01 21:13 | LtU Forum | previous forum topic | next forum topic | other blogs | 12571 reads
|
Browse archives
Active forum topics |
Recent comments
27 weeks 1 day ago
27 weeks 1 day ago
27 weeks 1 day ago
49 weeks 3 days ago
1 year 1 week ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 5 weeks ago
1 year 10 weeks ago
1 year 10 weeks ago