Changes

Line 506: Line 506:  
===2.4.  Logic Programming===
 
===2.4.  Logic Programming===
   −
<pre>
   
Militating against the charge of declarative programmers to achieve their goals through logic, a surprising amount of computational resistance seems to reside at the level of purely sentential or propositional operations.  In investigating this situation I have come to believe that progress in logic programming will be severely impeded unless these factors of computational complexity at the level of propositional calculus are addressed and either resolved or alleviated.
 
Militating against the charge of declarative programmers to achieve their goals through logic, a surprising amount of computational resistance seems to reside at the level of purely sentential or propositional operations.  In investigating this situation I have come to believe that progress in logic programming will be severely impeded unless these factors of computational complexity at the level of propositional calculus are addressed and either resolved or alleviated.
    
At my current state of understanding I can propose nothing more complicated than to work toward a position of increased knowledge about the practical logistics of this problem domain.  A reasonable approach is to explore the terrain at this simplest level, using the advantages afforded by a propositional calculus interpreter and relevant utilities in software.  A similar strategy of starting from propositional logic and working up in stages to predicate logic is exploited by (Maier & Warren, 1988), in this case building a Prolog interpreter by successive refinement.
 
At my current state of understanding I can propose nothing more complicated than to work toward a position of increased knowledge about the practical logistics of this problem domain.  A reasonable approach is to explore the terrain at this simplest level, using the advantages afforded by a propositional calculus interpreter and relevant utilities in software.  A similar strategy of starting from propositional logic and working up in stages to predicate logic is exploited by (Maier & Warren, 1988), in this case building a Prolog interpreter by successive refinement.
</pre>
      
====2.4.1.  Differential Aspects====
 
====2.4.1.  Differential Aspects====
   −
<pre>
   
The fact that a difference calculus can be developed for boolean functions is well-known (Kohavi, sec. 8-4,), (Fujiwara, 1985) and was probably familiar to Boole, who was a master of difference equations before he turned to logic.  And of course there is the strange but true story of how the Turin machines of the 1840's prefigured the Turing machines of the 1940's (Menabrea, p. 225-297).  At the very outset of general-purpose, mechanized computing we find that the motive power driving the Analytical Engine of Babbage, the kernel of an idea behind all his wheels, was exactly his notion that difference operations, suitably trained, can serve as universal joints for any conceivable computation (Morrison & Morrison, 1961), (Melzak, ch. 4).
 
The fact that a difference calculus can be developed for boolean functions is well-known (Kohavi, sec. 8-4,), (Fujiwara, 1985) and was probably familiar to Boole, who was a master of difference equations before he turned to logic.  And of course there is the strange but true story of how the Turin machines of the 1840's prefigured the Turing machines of the 1940's (Menabrea, p. 225-297).  At the very outset of general-purpose, mechanized computing we find that the motive power driving the Analytical Engine of Babbage, the kernel of an idea behind all his wheels, was exactly his notion that difference operations, suitably trained, can serve as universal joints for any conceivable computation (Morrison & Morrison, 1961), (Melzak, ch. 4).
</pre>
      
====2.4.2.  Algebraic Aspects====
 
====2.4.2.  Algebraic Aspects====
   −
<pre>
+
Finally, there is a body of mathematical work that investigates algebraic and differential geometry over finite fields.  This usually takes place at such high levels of abstraction that the field of two elements is just another special case.  In this work the principal focus is on the field operations of sum (<math>+</math>) and product (&nbsp;<math>\cdot</math>&nbsp;), which correspond to the logical operations of exclusive disjunction (xor, neq) and conjunction (and), respectively.  The stress laid on these special operations creates a covert bias in the algebraic field.  Unfortunately for the purposes of logic, the totality of boolean operations is given short shrift on the scaffold affecting this algebraic slant.  For example, there are sixteen operations just at the level of binary connectives, not to mention the exploding population of k-ary operations, all of which deserve in some sense to be treated as equal citizens of the logical realm.
Finally, there is a body of mathematical work that investigates algebraic and differential geometry over finite fields.  This usually takes place at such high levels of abstraction that the field of two elements is just another special case.  In this work the principal focus is on the field operations of sum (+) and product (.), which correspond to the logical operations of exclusive disjunction (xor, neq) and conjunction (and), respectively.  The stress laid on these special operations creates a covert bias in the algebraic field.  Unfortunately for the purposes of logic, the totality of boolean operations is given short shrift on the scaffold affecting this algebraic slant.  For example, there are sixteen operations just at the level of binary connectives, not to mention the exploding population of k-ary operations, all of which deserve in some sense to be treated as equal citizens of the logical realm.
     −
Moreover, from an algebraic perspective the dyadic or boolean case exhibits several features peculiar to itself.  Binary addition (+) and subtraction (-) amount to the same operation, making each element its own additive inverse.  This circumstance in turn exacts a constant vigilance to avert the verbal confusion between algebraic negatives and logical negations.  The property of being invertible under products (.) is neither a majority nor a typical possession, since only the element 1 has a multiplicative inverse, namely itself.  On account of these facts the strange case of the two element field is often set aside, or set down as a "degenerate" situation in algebraic studies.  Obviously, in turning to take it up from a differential standpoint, any domain that confounds "plus" and "minus" and "not equal to" is going to play havoc with our automatic intuitions about difference operators, linear approximations, inequalities and thresholds, and many other critical topics.
+
Moreover, from an algebraic perspective the dyadic or boolean case exhibits several features peculiar to itself.  Binary addition (<math>+</math>) and subtraction (<math>-</math>) amount to the same operation, making each element its own additive inverse.  This circumstance in turn exacts a constant vigilance to avert the verbal confusion between algebraic negatives and logical negations.  The property of being invertible under products (&nbsp;<math>\cdot</math>&nbsp;) is neither a majority nor a typical possession, since only the element 1 has a multiplicative inverse, namely itself.  On account of these facts the strange case of the two element field is often set aside, or set down as a "degenerate" situation in algebraic studies.  Obviously, in turning to take it up from a differential standpoint, any domain that confounds "plus" and "minus" and "not equal to" is going to play havoc with our automatic intuitions about difference operators, linear approximations, inequalities and thresholds, and many other critical topics.
</pre>
      
===2.5.  Differential Geometry===
 
===2.5.  Differential Geometry===
12,080

edits