Sunday, May 27, 2012

Injective polynomials and linear maps

Injective polynomials have a single root of odd multiplicity, for example, here is an injective polynomial function:
(polynomial-exponentation (polynomial. [1 1]) 3)
Furthermore, injective linear maps have a non-zero determinant.

Tuesday, May 22, 2012

Place form operations

Parallel operations are based upon mapping over non-overlapping collections of places, because the order of applications of functions in such mapping operations is irrelevant. This is implemented in the clojure pmap function:
(pmap inc [1 2 3 4 5])
Fine grained versioning is based upon enriching a log with a granularity relation such that log elements are sink nodes and all other elements are places.

Saturday, May 19, 2012

Clojure uninvoke

I have created a clojure library for reversible computing, by defining an uninvoke method that represents the inverse of the standard invoke method. This library is now available on github:

Monday, May 14, 2012

Lisp all the way down

Mathematics describes objects that have all their implementation and representation details abstracted away. For example, there are numerous numeral systems for representing the natural numbers, all of them equivalent. In category theory all objects are considered up to isomorphism and representations can be described as isomorphisms.

An important part of any computer algebra system is the system for selecting canonical representations for equivalence classes. In a Lisp all the way down system, representations can be described directly in terms of the physical hardware, for example, the exact bit layout of a number could be described.

Lisp all the way down systems allow you to convert abstract to the concrete, ideally using the related areas of decision making, optimisation, planning, and goal seeking along the way.

Wednesday, May 2, 2012

The zap function in arc lisp

Arc provides the zap function which is a function that applies a transformation to some place form. The following examples of the zap function are provided by the arc documentation:
(let s "abc" (zap upcase (s 0)) s)
(let x '(10 10) (zap mod (car x) 3) x)
This provides a more general means of handling memory management operations then setf. Most memory management operations can be described in terms of zap.

Tuesday, May 1, 2012

Rational decision theory

In the perception action cycle (PAC) all actions that an agent takes must be selecting some part of a possibility space. Rational agents have preferences which order the possibility space, and they maximize the satisfication of those preferences in their selection process.

Two general areas of mathematical study: mereology and order theory are particularily relevant to choice theory. Mereology studies the parts of general structures, which can be applied to study the parts of the possibility space and order theory studies ordering relations which can be applied to studying preferences.