## Clara's World## ∼ The Calculus of Circles and Letters ∼## CL expressionsClara was Algernon's daughter. She played her game, which she called 'the calculus of circles and letters' - or 'CL-calculus' for short - in the universe of 'CL expressions'. These are signs built up of circles and lower-case letters. Most of them are mixtures of circles and letters; but some contain no letters, some contain no circles, and just one contains no letters or circles. (This last we call the empty expression.) Here are some examples:
The expressions which contain no letters we term 'arithmetic expressions'. Given any
CL expression, one may choose to ignore the letters in it. If one has eyes only
for the circles in the expression, what is revealed is the circle-structure or
The set of CL expressions is a sort of chaos, into which, following Clara, we aim to introduce an element of order. ## Upper-case LettersWe keep the upper-case letters in reserve for another purpose. It is often useful,
given an expression, to have a name for it. This is how we use the upper-case
letters - as names of expressions. For example, 'let A stand for the expression x(y)'.
Equally, we may say 'let A be an expression'. This is a typical move or 'transaction'
in discussions of the CL-calculus. It means something like 'Think of an expression;
let's call it A'. Then I proceed to make statements about A, or do things to A which
are described in such a way that they could evidently be applied to I can now say things like: 'Let A and B be expressions; consider the expression
C = (A(B(A)))'. The idea is that you think up - or at least, we all ## Forms and instancesWe may therefore consider an enlarged class of expressions which contain upper-case letters as well as lower-case. Each such generalized expression may be regarded as a form or template for certain others, its instances. Thus each generalized expression G determines a subclass of the universe of CL expressions, whose members are 'expressions of the form G'. How this works is best illustrated by examples:
The letters tell us where flesh can be added to the bare bones of the skeleton. The same letter in two or more places means that the same 'flesh' (i.e. the same sub-expression) must be put on in all those places, in order to create an 'instance' of G (which is another way of saying, an expression of the form G). For each upper-case letter one is at liberty to chose as its 'flesh' the empty expression _ . ## Play Area for CL ExpressionsClick anywhere to place a circle. Hold down a letter-key on the keyboard, and click, to place a letter anywhere. Shift-click to remove a letter or an empty circle. If you're having difficulty making letters, you may need to disable 'hardware acceleration' in the Flash-player that is plumbed in to your browser. To do this, right-click in the play area, select 'Settings', select the left-hand icon along the bottom (for Display), and untick 'Enable hardware acceleration'.
## Legal movesClara laid down certain moves, by which The allowed moves spring from an initial set of six moves. The six moves consist of three matched pairs; in each pair, one move is the reverse of the other. The three pairs (with the names of the moves) are as follows:
Here A stands for 'any expression you like', as does B; obviously B can be different from A, although it doesn't have to be. So wrap says, any expression may be converted into the same expression surrounded by two circles; whereas unwrap says, any expression of the form ((A)) may be converted into A; that is, the two outer circles may be removed. The other two rules are to be interpreted in a similar way. But that's not all! The expression A does not need to be standing all alone for wrap to be applicable to it. On the contrary, wrap
may be applied to A For example, Here, the expression A to which wrap has been applied is p(q). The whole expression on the left may be converted into the whole expression on the right. In general, any of the moves may be Finally, Clara laid down a principle of As with arithmetical expressions we say that E is E = F , if E can be transformed into F by a The three pairs of legal moves give rise to three equations; it will be convenient to refer to them as the three A = ((A)) wrap In principle, the notion of equivalence determined by the legal steps allows one to classify the universe of CL expressions into 'equivalence classes'. Each equivalence class is a set of CL expressions, such that any two elements of the set are equivalent to each other. Elements belonging to different equivalence classes are not equivalent to one another. Clara set herself the task of finding out as much as she could about these equivalence classes. ## Copy to any DepthCopy-ing can be done to any depth. That is to say, besides the basic move A(B) = A(AB) the following moves are all valid:
A(B(C)) = A(B(AC)) — and so on. This is not hard to see; the proof of the first of these new moves goes like this:
A(B(C)) = A(AB(C)) [copy from space of depth 0 to space of depth 1] The proof of the second goes like this:
A(B(C(D))) = A(AB(C(D))) [copy from space of depth 0 to space of depth 1] The principle should now be clear. I think of it as letting down a rope ladder, rung by rung, from the outer space. Once the expression A has been copied to the innermost space, you pull the rope ladder up again, rung by rung. In fact, copying to depth 0 is also valid; but to see this, we need to make use of wrap/unwrap, as well as copy: A = A (O) [wrap] ## The Principle of GeneralizationSuppose that an equivalence of two CL expressions has been established. For example, we shall see below that it can be shown that p((q)(r)) = ((pr)(qr)). Then we can immediately turn the equivalence into a general rule: P((Q)(R)) = ((PR)(QR)). In other words, given any expressions P, Q and R, the two larger expressions made by combining these expressions, as given in the above equation, are equivalent to one another. How can we see that this is the case? It is just a matter of observing that whatever sequence of moves was applied to the expression p((q)(r)), in order to turn it into ((pr)(pq)), can be applied instead to the expression P((Q)(R)), turning it into ((PR)(QR)): whatever we did, before, to the letter p, we now do to the expression P (and so on with the other letters). ## Compatibility with the Arithmetic of the MarkThe initial moves apply to any expressions A and B; in particular, they apply when A and B are chosen to be arithmetical expressions. It is not difficult to show that all such moves are value-preserving, where we use 'value' in the sense established by Valerie. For, the value of A is either _ or O, which agrees with the value of ((A)); the value of A O is always O, as is the value of the expression O. For the third rule, we consider two cases; suppose firstly, that the value of A is _; then the values of both A(B) and A(AB) equate to the value of (B); while if the value of A is O, then the values of A(B) and A(AB) both equate to O. So none of the initial moves has any effect on value, and in this sense the the calculus of circles and letters is compatible with Arthur's arithmetic of the mark. Is it conceivable that a CL-equivalence, when generalized as explained above, could result in an arithmetic untruth (of which there is, essentially, only one, namely, _ = O ) when arithmetic expressions were substituted for the letters? No, because the equivalence of CL expressions could be broken down into a series of legal moves; then the same moves could be applied to the expressions with the arithmetic expressions substituted, and each such move would preserve value. When the CL-calculus is restricted to arithmetic expressions, the third initial equation is superfluous. For when _ is substituted for A in the first equation, we obtain _ = (O) ; and when O is substituted for A in the second equation, we obtain O O = O . So we already have the two axioms of Arthur's arithmetic without using the third equation.
In the full calculus, however, with expressions that involve letters as well as circles,
the third
equation ## New Play AreaThe new play area, or 'Circle-and-letter expression transformer', below, has the three 'initial equations' built into it. It has two modes, 'construct' and 'transform' (change between them by clicking on the radio-buttons at bottom right, or else just press the space bar). In construct-mode you can build up an arbitrary CL expression as before; once you're in transform-mode only legal moves are allowed. To see how the legal moves work, let's go through the six initial moves. Note: in case you find the written instructions rather hard work, go instead to my YouTube video 'Markability: transforming circle-and-letter expressions'. - wrap A → ((A))
Here A stands for any expression. To perform the action of wrapping, we need first to define A. We do this by 'selecting' the expression. An expression is either 'prime', consisting either of a circle together with its contents, or of a single letter; or 'composite', meaning that it is the product of several primes all lying in the same space. There is just one other possibility which is that A is the empty expression; then wrapping A simply means writing in a double circle (O); but we still have to tell the program where we want the double circle to go. To select a prime expression, click just inside its bounding circle; it will change colour to indicate that it has been selected. To select a letter, just click on it. To select a composite expression, first select one of its factors, then*add*to the selection by holding down the Control key as you click. To clear the selection, click in the empty space surrounding the whole expression. To wrap a selected expression, double-click somewhere on the selection. If no expression is selected, and you double-click in a bit of empty space, a double circle (O) will be created in that place. - unwrap ((A)) → A
First select a doubly-wrapped expression by clicking just inside the outer circle; then press the Escape key (Esc). If an expression is selected that is not doubly-wrapped, nothing happens when you press Esc. - delete O A → O
In any space which contains an empty circle, select an expression (prime or composite). To delete it, press the Delete key. - undelete O → O A
Holding down the Insert key, click in any space which contains an empty circle. A 'construction space', surrounded by a dotted circle, will be created. You may now construct any expression, as if in free construction mode, within the construction space (using click, click with letter pressed; or shift-click to undo mistakes). But if you click outside the dotted boundary of the construction space, the dotted boundary will vanish and the operation will terminate. (It can also be terminated by pressing the Enter key.) The expression that you have constructed will be incorporated into the space alongside the empty circle. - copy A(B) → A(AB)
In any space, select an expression. To copy it into a deeper space, drag the selected expression into that space with the mouse. (Explicitly, move the cursor so that it is over the selected expression, press down the mouse button and hold it down while you move the mouse so that the cursor moves into the deeper space. When the cursor has got there, release the mouse button.) Dragging the expression into its own space will create a copy in the same space (i.e. will convert A into AA). - uncopy A(AB) → A(B)
To uncopy, select the expression A in the deeper space; drag it into the outer space, where the 'original' of A should already be. If successful, the 'copy' of A will disappear. If the 'original' of A is not present in the outer space, nothing will happen. To uncopy at depth zero - that is, to reduce AA to A - press the Shift key as you drag A into its own space. (Without the Shift key, you will just turn AA into AAA.)
If you're having difficulty making letters, you may need to disable 'hardware acceleration' in the Flash-player that is plumbed in to your browser. To do this, right-click in the play area, select 'Settings', select the left-hand icon along the bottom (for Display), and untick 'Enable hardware acceleration'.
When you've tried out the various moves, try the following exercise: prove that complements is valid in the calculus of circles and letters, by starting from the empty expression, and converting it by legal moves into the expression (p(p)). Solution: The first step is to convert _ into a double circle (O). To do this, make sure the area is clear, and that you are in Transform mode. Then double-click somewhere in the space. Now click on the inner, empty circle and press the Insert key. This will enable you to create a letter p in the intermediate space (between the circles). Get out of insert-mode by pressing the Enter key. Finally, copy p into the inner space (by dragging it there).
Solution: the first step is p((q)(r)) = p ((pq)(pr)) [copy, to depth 2, twice]. The problem now is to get rid of that p in the outer space. We proceed by wrapping the letter p, and copying the other part of the expression into the space = ((p)) ((pq)(pr)) [wrap] Now the expression (p) is copied from depth 1 to depth 3, twice
= ((p) ((p(p)q)(p(p)r)) ) ((pq)(pr)) [copy, twice] It is highly instructive to 'enact' this sequence of steps in the play area. In fact, it is worth repeating the enaction a few times, until it becomes fluent. Moreover: the scope of distribute can be expanded to more than two factors. For example, p ((q)(r)(s)(t)) = ((pq)(pr)(ps)(pt)). The proof is essentially the same as when there were only two inner factors (q) and (r).
( (a)(b) ) ( (a)b ) = a each way See if you can find the steps that prove each of these equivalences; remember that you can now use distribute or collect as if it were a single step; if you like, you can think of either of these names as simply a shorthand notation for the sequence of simple (initial) steps into which the operation may be broken down (as we proved above). Solutions will be given in the next chapter. ## Appendix: Alternative sets of Initial EquationsThe three initial equations (or pairs of legal moves) out of which we have developed the CL-calculus are known as the
(P(P)) = _ complements
Surprisingly, it is also possible to develop the calculus out of just A = ((A)B) ((A)(B)) each way. This possibility is a consequence of Huntington's 1934 derivation [1] of the axioms of Boolean Algebra from a single equation, equivalent to the above, which is sometimes known as Huntington's equation. (However, Laws of Form notation and attitude allow a much better derivation of Huntington's result: see Huntington's Axiom.) We already know that all of these alternative initial equations follow from the Bricken initials. To show that the systems which they generate are mutually equivalent we need to show that the Bricken initials can be derived from the initial pair of Laws of Form; or from the single Huntington initial.
Both problems are left as exercises for the reader. If the reader gets stuck and needs the answer to the first problem he or she should look in ## Notes[1] See E.V.Huntington, on to the calculus of circles and letters (Part II) |