Information Technology Reference
In-Depth Information
18.1 Introduction
Theorem proving is only one of possibly thousands of different cognitive activities
with which a mind can be engaged. Minds most probably do not invent new
architectural principles to treat each cognitive domain in a special way, because
the architecture of the underlying hardware (the brain) is fixed, honed by millions
of years of evolution. It has been hypothesized that just as brains are architecturally
fixed, so are minds that arise as emergent properties of brains [ 10 , 12 ]. That is, there
is an “architecture of mind” which is as fixed and unchanging as the architecture
of brain. When a mind confronts a cognitive problem it uses “tools” from a fixed
repertoire, which however are flexible enough to adapt themselves to and be useful
in the solution of any problem. One such set of architectural tools of minds are the
codelets [ 3 , 10 ].
The purpose of this paper is to examine the feasibility of using the idea of codelets
as agents who actively participate in seeking and discovering proofs of theorems.
To this end, after clarifying the notions of codelet and proof-event, we look at some
software-assisted projects for collaborative Web-based mathematical problem solv-
ing. Then we discuss why, in our view, Goguen's [ 6 ] understanding of proofs as
events, enriched with the notion of codelets, provides an adequate framework for
analyzing this sort of Web-based collaborative activity. Finally, we illustrate the
workings of a hypothetical system for collaborative activity by showing how such
activity could be applied to the problem of proving the Pythagorean Theorem, which
we selected for reasons of simplicity and universal knowledge of its statement. To
the best of our knowledge, the idea of applying notions from cognitive architectures
to Web-based collaboration has not yet been explored.
18.2 Problem Solving with Codelets
Codelets can be conceived of as short pieces of programmed code, but in an abstract
sense. In brains, codelets can be implemented at the lowest level bymeans of neurons;
in computers, they can be short pieces of programming instructions.
The purpose of codelets is to build conceptual structures in working memory,
given some input. Sometimes they can demolish structural pieces, or even whole
structures. However, the bulk of their work is constructive rather than destructive.
Codelets work in parallel, ignoring each other's existence. Each one has a specific
and simple task to complete, and is allocated a given amount of time. If a codelet
fails to finish its work within a reasonable time, it “dies” and another codelet of very
similar nature makes a “fresh start”, working on the same task anew.
Sometimes a codelet may spawn a number of other, different codelets that are
deemed useful by it in working on various aspects of the task. Thus, the generator
codelet becomes a higher-level “supervisor” of the sub-codelets that it generated,
waiting for them to finish their sub-tasks in order to continue with its “main” task.
Search WWH ::




Custom Search