Changes

Line 416: Line 416:  
===2.3.  Differential Calculus of Propositions===
 
===2.3.  Differential Calculus of Propositions===
   −
<pre>
   
There are two different analogies to keep straight in the following discussion.  First is the comparison of boolean vs. real types with regard to functions and vectors.  These types provide mathematical representation for the qualitative vs. quantitative constituencies, respectively.  Second is the three-part analogy within the qualitative realm.  It relates logical propositions with mathematical functions and sets of vectors, both functions and vectors being of boolean type.
 
There are two different analogies to keep straight in the following discussion.  First is the comparison of boolean vs. real types with regard to functions and vectors.  These types provide mathematical representation for the qualitative vs. quantitative constituencies, respectively.  Second is the three-part analogy within the qualitative realm.  It relates logical propositions with mathematical functions and sets of vectors, both functions and vectors being of boolean type.
</pre>
      
====2.3.1.  Propositions and Differences====
 
====2.3.1.  Propositions and Differences====
   −
<pre>
   
As a first step, I have taken the problem of propositional calculus modeling and viewed it from the standpoint of differential geometry.  In this I exploit an analogy between propositional calculus and the calculus on differential manifolds.  In the qualitative arena propositions may be viewed as boolean functions.  They are associated with areas or arbitrary regions of a Venn diagram, or subsets of an n-dimensional cube.  Logical interpretations, in the technical sense of boolean-valued substitutions in propositional expressions, may be viewed as boolean vectors.  They correspond to single cells of a Venn diagram, or points of an n-cube.  Put altogether, these linkages form a three part analogy between conceptual objects in logic and the two mathematical domains of functions and sets.  In its pivotal location, critical function, and isosceles construction this analogy suggests itself as the pons asinorum of the subject I can see developing.  But I can't tell till I've crossed it.
 
As a first step, I have taken the problem of propositional calculus modeling and viewed it from the standpoint of differential geometry.  In this I exploit an analogy between propositional calculus and the calculus on differential manifolds.  In the qualitative arena propositions may be viewed as boolean functions.  They are associated with areas or arbitrary regions of a Venn diagram, or subsets of an n-dimensional cube.  Logical interpretations, in the technical sense of boolean-valued substitutions in propositional expressions, may be viewed as boolean vectors.  They correspond to single cells of a Venn diagram, or points of an n-cube.  Put altogether, these linkages form a three part analogy between conceptual objects in logic and the two mathematical domains of functions and sets.  In its pivotal location, critical function, and isosceles construction this analogy suggests itself as the pons asinorum of the subject I can see developing.  But I can't tell till I've crossed it.
</pre>
      
====2.3.2.  Three Part Analogy====
 
====2.3.2.  Three Part Analogy====
   −
<pre>
   
For future use it is convenient to label the various elements of the three-part analogy under discussion.
 
For future use it is convenient to label the various elements of the three-part analogy under discussion.
</pre>
      
=====2.3.2.1.  Functional Representation=====
 
=====2.3.2.1.  Functional Representation=====
   −
<pre>
   
Functional representation is the link that converts logical propositions into boolean functions.  Its terminus is an important way station for mediating the kinds of computational realizations I hope eventually to reach.  This larger endeavor is the project of declarative functional programming.  It has the goal of giving logical objects a fully operational meaning in software, implementing logical concepts in a functional programming style without sacrificing any of their properly declarative nature.  I have reason to hope this can be a fruitful quest, in part from the reports of more seasoned travelers along these lines, e.g. (Henderson, 1980), (Peyton Jones, 1987), (Field & Harrison, 1988), (Huet, 1990), (Turner, 1990).
 
Functional representation is the link that converts logical propositions into boolean functions.  Its terminus is an important way station for mediating the kinds of computational realizations I hope eventually to reach.  This larger endeavor is the project of declarative functional programming.  It has the goal of giving logical objects a fully operational meaning in software, implementing logical concepts in a functional programming style without sacrificing any of their properly declarative nature.  I have reason to hope this can be a fruitful quest, in part from the reports of more seasoned travelers along these lines, e.g. (Henderson, 1980), (Peyton Jones, 1987), (Field & Harrison, 1988), (Huet, 1990), (Turner, 1990).
   Line 440: Line 433:     
This knowledge would consist of axioms, inferential procedures, and a running accumulation of theorems.  A developmental programming system of this sort would permit designers to anticipate many features of contemplated programs before running the risk of risking to run them.  One vital requirement of the ideal system must be provisioned in the most primitive elements of its construction.  The ideal system plus knowledge-base plus intelligence needs to be developmental in the added sense of a developing mentality.  Undistracted by all the positive features that an ideal system must embody, a great absence must also be arranged by its designers.  To the extent foreseeable there must be no foreclosure of interpretive freedom.  The intended programming language, the sans critical koine of the utopian realm, must place as little possible prior value on the primitive tokens that fund its form of expression.  An early implementation of a knowledge-based system for program development, using a refinement tree to search a space of correct programs, is described in (Barstow, 1979).
 
This knowledge would consist of axioms, inferential procedures, and a running accumulation of theorems.  A developmental programming system of this sort would permit designers to anticipate many features of contemplated programs before running the risk of risking to run them.  One vital requirement of the ideal system must be provisioned in the most primitive elements of its construction.  The ideal system plus knowledge-base plus intelligence needs to be developmental in the added sense of a developing mentality.  Undistracted by all the positive features that an ideal system must embody, a great absence must also be arranged by its designers.  To the extent foreseeable there must be no foreclosure of interpretive freedom.  The intended programming language, the sans critical koine of the utopian realm, must place as little possible prior value on the primitive tokens that fund its form of expression.  An early implementation of a knowledge-based system for program development, using a refinement tree to search a space of correct programs, is described in (Barstow, 1979).
</pre>
      
=====2.3.2.2.  Characteristic Relation=====
 
=====2.3.2.2.  Characteristic Relation=====
   −
<pre>
+
Characteristic relation denotes the two-way link that relates boolean functions with subsets of their boolean universes, whether pictured as Venn diagram regions or n-cube subsets does not matter.  Indicative conversion describes the traffic or exchange on this link between the two termini.  Given a set A, the function fA which has the value 1 on A and 0 off A is commonly called the characteristic function or indicator function of A.  Since every boolean function f determines a unique set S = Sf of which it is the indicator function f = fS, this forms a convertible relationship between boolean functions and sets of boolean vectors.  This fact is also described as an isomorphism between the function space (U &rarr; B) and the power set P(U) = 2U of the universe U.  The associated set Sf is often called the support of the function f.  Alternatively, it may serve as a helpful mnemonic and a useful handle on this edge of the analogy to call Sf the characteristic region, indicated set, or simply the indication of the function f, and to say that the function characterizes or indicates the set where its value is positive (that is, greater than 0, and therefore equal to 1 in B).
Characteristic relation denotes the two-way link that relates boolean functions with subsets of their boolean universes, whether pictured as Venn diagram regions or n-cube subsets does not matter.  Indicative conversion describes the traffic or exchange on this link between the two termini.  Given a set A, the function fA which has the value 1 on A and 0 off A is commonly called the characteristic function or indicator function of A.  Since every boolean function f determines a unique set S = Sf of which it is the indicator function f = fS, this forms a convertible relationship between boolean functions and sets of boolean vectors.  This fact is also described as an isomorphism between the function space (U -> B) and the power set P(U) = 2U of the universe U.  The associated set Sf is often called the support of the function f.  Alternatively, it may serve as a helpful mnemonic and a useful handle on this edge of the analogy to call Sf the characteristic region, indicated set, or simply the indication of the function f, and to say that the function characterizes or indicates the set where its value is positive (that is, greater than 0, and therefore equal to 1 in B).
  −
</pre>
      
=====2.3.2.3.  Indicative Conversion=====
 
=====2.3.2.3.  Indicative Conversion=====
   −
<pre>
   
The term indicative conversion and the associated usages are especially apt in light of the ordinary linguistic relationship between declarative sentences and verb forms in the indicative mood, which "represent the denoted act or state as an objective fact" (Webster's).  It is not at all accidental that a fundamental capacity needed to support declarative programming is the pragmatic facilitation of this semantic relation, the ready conversion between propositions as indicator functions and properties in extension over indicated sets.  The computational organism that would function declaratively must embody an interior environment with plenty of catalysts for the quick conversion of symbolically expressed functional specifications into images of their solution sets or sets of models.
 
The term indicative conversion and the associated usages are especially apt in light of the ordinary linguistic relationship between declarative sentences and verb forms in the indicative mood, which "represent the denoted act or state as an objective fact" (Webster's).  It is not at all accidental that a fundamental capacity needed to support declarative programming is the pragmatic facilitation of this semantic relation, the ready conversion between propositions as indicator functions and properties in extension over indicated sets.  The computational organism that would function declaratively must embody an interior environment with plenty of catalysts for the quick conversion of symbolically expressed functional specifications into images of their solution sets or sets of models.
</pre>
      
====2.3.3.  Pragmatic Roles====
 
====2.3.3.  Pragmatic Roles====
   −
<pre>
   
The part of the analogy that carries propositions into functions combines with the characteristic relation between functions and sets to generate a multitude of different ways to describe essentially the same conceptual objects.  From an information-theoretic point of view "essentially the same" means that the objects in comparison are equivalent pieces of information, parameterized or coded by the same number of bits and falling under isomorphic types.  When assigning characters to individual examples of these entities, I think it helps to avoid drawing too fine a distinction between the logical, functional, and set-theoretic roles that have just been put in correspondence.  Thus, I avoid usages that rigidify the pragmatic dimensions of variation within the columns below:
 
The part of the analogy that carries propositions into functions combines with the characteristic relation between functions and sets to generate a multitude of different ways to describe essentially the same conceptual objects.  From an information-theoretic point of view "essentially the same" means that the objects in comparison are equivalent pieces of information, parameterized or coded by the same number of bits and falling under isomorphic types.  When assigning characters to individual examples of these entities, I think it helps to avoid drawing too fine a distinction between the logical, functional, and set-theoretic roles that have just been put in correspondence.  Thus, I avoid usages that rigidify the pragmatic dimensions of variation within the columns below:
   −
Proposition: Interpretation -> Boolean { False, True }
+
<pre>
 +
  Proposition: Interpretation -> Boolean { False, True }
   −
Function: Vector -> Binary { 0, 1 }
+
  Function:   Vector         -> Binary { 0,     1   }
   −
Region: Cell -> Content { Out, In }
+
  Region:     Cell           -> Content { Out,   In   }
   −
Subset: Point -> Content { Out, In }
+
  Subset:     Point         -> Content { Out,   In   }
 +
</pre>
    
Though it may be advisable not to reify the practical distinctions among these roles, this is not the same thing as failing to see them or denying their use.  Obviously, these differences may vary in relative importance with the purpose at hand or context of use.  However, the mere fact that a distinction can generally be made is not a sufficient argument that it has any useful bearing on a particular purpose.
 
Though it may be advisable not to reify the practical distinctions among these roles, this is not the same thing as failing to see them or denying their use.  Obviously, these differences may vary in relative importance with the purpose at hand or context of use.  However, the mere fact that a distinction can generally be made is not a sufficient argument that it has any useful bearing on a particular purpose.
</pre>
      
=====2.3.3.1.  Flexible Roles and Suitable Models=====
 
=====2.3.3.1.  Flexible Roles and Suitable Models=====
   −
<pre>
   
When giving names and habitations to things by the use of letters and types, a certain flexibility may be allowed in the roles assigned by interpretation.  For example, in the form "p: U -> B", the name "p" may be taken to denote a proposition or a function, indifferently, and the type U may be associated with a set of interpretations or a set of boolean vectors, correspondingly, whichever makes sense in a given context of use.  One dimension that does matter is drawn through these three beads:  propositions, interpretations, and values.  On the alternate line it is produced by the distinctions among collections, individuals, and values.
 
When giving names and habitations to things by the use of letters and types, a certain flexibility may be allowed in the roles assigned by interpretation.  For example, in the form "p: U -> B", the name "p" may be taken to denote a proposition or a function, indifferently, and the type U may be associated with a set of interpretations or a set of boolean vectors, correspondingly, whichever makes sense in a given context of use.  One dimension that does matter is drawn through these three beads:  propositions, interpretations, and values.  On the alternate line it is produced by the distinctions among collections, individuals, and values.
    
One relation that is of telling importance is the relation of interpretations to the value they give a proposition.  In its full sense and general case this should be recognized as a three-place relation, involving all three types of entities (propositions, interpretations, and values) inextricably.  However, for many applications the substance of the information in the three-place relation is conveyed well enough by the data of its bounding or derivative two-place relations.
 
One relation that is of telling importance is the relation of interpretations to the value they give a proposition.  In its full sense and general case this should be recognized as a three-place relation, involving all three types of entities (propositions, interpretations, and values) inextricably.  However, for many applications the substance of the information in the three-place relation is conveyed well enough by the data of its bounding or derivative two-place relations.
   −
The interpretations that render a proposition true, i.e. the substitutions for which the proposition evaluates to true, are said to satisfy the proposition and to be its models.  With a doubly modulated sense that is too apt to be purely accidental, the model set is the "content" of the proposition's formal expression (Eulenberg, 1986).  In functional terms the models of a proposition p are the pre-images of truth under the function p.  Collectively, they form the set of vectors in p-1(1).  In another usage the set of models is called the fiber of truth, in other words, the equivalence class [1]p of the value 1 under the mapping p.
+
The interpretations that render a proposition true, i.e. the substitutions for which the proposition evaluates to true, are said to satisfy the proposition and to be its models.  With a doubly modulated sense that is too apt to be purely accidental, the model set is the "content" of the proposition's formal expression (Eulenberg, 1986).  In functional terms the models of a proposition p are the pre-images of truth under the function p.  Collectively, they form the set of vectors in p<sup>–1</sup>(1).  In another usage the set of models is called the fiber of truth, in other words, the equivalence class [1]p of the value 1 under the mapping p.
</pre>
      
=====2.3.3.2.  Functional Pragmatism=====
 
=====2.3.3.2.  Functional Pragmatism=====
   −
<pre>
   
The project of functional programming itself fits within a broader philosophical mission, the pragmatism of C.S. Peirce and John Dewey, which seeks to clarify abstract concepts and occult properties by translating them into operational terms, see (Peirce, Collected Papers) and (Dewey, 1986).  These thinkers had clear understandings of the relation between information and control, giving early accounts of inquiry processes and problem-solving, intelligence and goal-seeking that would sound quite familiar to cyberneticians and systems theorists.  Similar ideas are reflected in current AI work, especially by proponents of means-ends analysis and difference reduction methods (Newell, 1990), (Winston, ch. 5).
 
The project of functional programming itself fits within a broader philosophical mission, the pragmatism of C.S. Peirce and John Dewey, which seeks to clarify abstract concepts and occult properties by translating them into operational terms, see (Peirce, Collected Papers) and (Dewey, 1986).  These thinkers had clear understandings of the relation between information and control, giving early accounts of inquiry processes and problem-solving, intelligence and goal-seeking that would sound quite familiar to cyberneticians and systems theorists.  Similar ideas are reflected in current AI work, especially by proponents of means-ends analysis and difference reduction methods (Newell, 1990), (Winston, ch. 5).
   Line 496: Line 481:     
Of all the complex systems that attract human interest, the human mind's own doings, knowing or not, must eventually form a trajectory that ensnares itself in questions and wonderings:  Where will it be off to next?  What is it apt to do next?  How often will it recur to the various things it does?  The mind's orbit traced in these questions has a compelling power in its own right to generate wonder.
 
Of all the complex systems that attract human interest, the human mind's own doings, knowing or not, must eventually form a trajectory that ensnares itself in questions and wonderings:  Where will it be off to next?  What is it apt to do next?  How often will it recur to the various things it does?  The mind's orbit traced in these questions has a compelling power in its own right to generate wonder.
</pre>
      
====2.3.4.  Abstraction, Behavior, Consequence====
 
====2.3.4.  Abstraction, Behavior, Consequence====
   −
<pre>
   
There are many good reasons to preserve the logical features and constraints attaching to computational objects, i.e. programs and data structures.  Chief among these reasons are:  axiomatic abstraction, behavioral coordination, and consequential definition.
 
There are many good reasons to preserve the logical features and constraints attaching to computational objects, i.e. programs and data structures.  Chief among these reasons are:  axiomatic abstraction, behavioral coordination, and consequential definition.
</pre>
      
=====2.3.4.1.  Axiomatic Abstraction=====
 
=====2.3.4.1.  Axiomatic Abstraction=====
   −
<pre>
   
The capacity for abstraction would permit an expert system for dynamic simulation to rise above the immediate flux of the process simulated.  Eventually, this could enable the software intelligence to adduce, reason about, and test hypotheses about generic properties of the system under study.  Even short of this autonomy, the resources of abstract representation could at least provide a medium for transmuting embedded simulations into axioms and theories.  For the systems prospector such an interface, even slightly reflective, can heighten the chances of panning some nugget of theory and lifting some glimmer of insight from the running stream of simulations.
 
The capacity for abstraction would permit an expert system for dynamic simulation to rise above the immediate flux of the process simulated.  Eventually, this could enable the software intelligence to adduce, reason about, and test hypotheses about generic properties of the system under study.  Even short of this autonomy, the resources of abstract representation could at least provide a medium for transmuting embedded simulations into axioms and theories.  For the systems prospector such an interface, even slightly reflective, can heighten the chances of panning some nugget of theory and lifting some glimmer of insight from the running stream of simulations.
</pre>
      
=====2.3.4.2.  Behavioral Coordination=====
 
=====2.3.4.2.  Behavioral Coordination=====
   −
<pre>
   
The guidelines of pragmatism are remarkably suited as regulative principles for synthesizing AI and systems theory, where it is required to clarify the occult property of intelligence in terms of dynamic activity and behavior.  This involves realizing abstract faculties, like momentum and intelligence, as hypotheses about the organization of trajectories through manifolds of observable features.  In these post-revolutionary times, cognitively and chaotically speaking, it is probably not necessary to be reminded that this effort contains no prior claim of reductionism.  The pragmatic maxim can no more predetermine the mind to be explained by simple reflexes than it can constrain nature to operate by linear dynamics.  If these reductions are approximately true of particular situations, then they have to be discovered on site and proven to fit, not imposed with eyes closed.
 
The guidelines of pragmatism are remarkably suited as regulative principles for synthesizing AI and systems theory, where it is required to clarify the occult property of intelligence in terms of dynamic activity and behavior.  This involves realizing abstract faculties, like momentum and intelligence, as hypotheses about the organization of trajectories through manifolds of observable features.  In these post-revolutionary times, cognitively and chaotically speaking, it is probably not necessary to be reminded that this effort contains no prior claim of reductionism.  The pragmatic maxim can no more predetermine the mind to be explained by simple reflexes than it can constrain nature to operate by linear dynamics.  If these reductions are approximately true of particular situations, then they have to be discovered on site and proven to fit, not imposed with eyes closed.
</pre>
      
=====2.3.4.3.  Consequential Definition=====
 
=====2.3.4.3.  Consequential Definition=====
   −
<pre>
   
The ability to deduce consequences of specified/acquired features and generic/imposed constraints would support the ultimate prospects toward unification of several stylistic trends in programming.  Among these are the employment of class hierarchies and inheritance schemes in frame-system and semantic network knowledge bases (Winston, ch. 8), object-oriented programming methodologies (Shriver & Wegner, 1987), and constraint based programming (Van Hentenryck, 1989).  The capacity for deduction includes as a special case the ability to check logical consistency of declarations.  This has applications to compilation type-checking (Peyton Jones, 1987) and deductive data-base consistency (Minker, 1988).
 
The ability to deduce consequences of specified/acquired features and generic/imposed constraints would support the ultimate prospects toward unification of several stylistic trends in programming.  Among these are the employment of class hierarchies and inheritance schemes in frame-system and semantic network knowledge bases (Winston, ch. 8), object-oriented programming methodologies (Shriver & Wegner, 1987), and constraint based programming (Van Hentenryck, 1989).  The capacity for deduction includes as a special case the ability to check logical consistency of declarations.  This has applications to compilation type-checking (Peyton Jones, 1987) and deductive data-base consistency (Minker, 1988).
</pre>
      
====2.3.5.  Refrain====
 
====2.3.5.  Refrain====
   −
<pre>
   
The analogy between propositional calculus and differential geometry is extended as far as possible by continuing to cast propositions and interpretations in roles similar to those exercised by real-valued functions and real-coordinate vectors in the quantitative world.  In a number of reaches tentative trials of the analogy will render fit correspondences.  Beyond these points it is critically important to examine those stretches where the analogy breaks, and there to consider the actual temperament and proper treatment of the qualitative situation in its own right.
 
The analogy between propositional calculus and differential geometry is extended as far as possible by continuing to cast propositions and interpretations in roles similar to those exercised by real-valued functions and real-coordinate vectors in the quantitative world.  In a number of reaches tentative trials of the analogy will render fit correspondences.  Beyond these points it is critically important to examine those stretches where the analogy breaks, and there to consider the actual temperament and proper treatment of the qualitative situation in its own right.
    
A text that has been useful to me in relating classical and modern treatments of differential geometry is (Spivak, 1979).  The standard for logic programming via general resolution theorem proving was set by (Chang & Lee, 1973).  A more recent reference is (Lloyd, 1987), which concentrates on Prolog type programming in the Horn clause subset of logic.  My own incursions through predicate calculus theorem proving and my attempts to size up the computational complexity invested there have led me to the following opinions.
 
A text that has been useful to me in relating classical and modern treatments of differential geometry is (Spivak, 1979).  The standard for logic programming via general resolution theorem proving was set by (Chang & Lee, 1973).  A more recent reference is (Lloyd, 1987), which concentrates on Prolog type programming in the Horn clause subset of logic.  My own incursions through predicate calculus theorem proving and my attempts to size up the computational complexity invested there have led me to the following opinions.
</pre>
      
===2.4.  Logic Programming===
 
===2.4.  Logic Programming===
12,080

edits