Thursday, December 1, 2016


In this post I will exercise my brand of metaphysics. At least it is harmless, right? I am not very well read, but from what I understand from sound bites, I think I'm a Cartesian. The separation between mind and body is hogwash, but I do believe life has emergent properties including intelligence and discipline.

Just as science is less one-dimensional than religion, there may well be a discipline that is less two-dimensional than science. Since genius greater than Einstein is not likely, super-intelligence is required for three-dimensional discipline. Just as the internet does not make people less religious, we need not fear pa/matricide at the hands of super-intelligent progeny. On the contrary, we can look forward to a super-intelligent constitution that guarantees freedom of science, just as our atheist founding fa/mothers enshrined freedom of religion in the same amendment that protects the fourth estate. What wonders will super-intelligence conflate with freedom of science?

Just as Sagan condescended to explain science in one-dimensional religious terms like "numinous", super-intelligence will likely explain three-dimensional discoveries in two-dimensional mathematical terms. In fact, just as Mendel had a prominent one-dimensional section of his essentially two-dimensional existence, a super-intelligence might partake exuberantly of science.

In short, though religion has the two poles of spirit and matter, science has the two dimensions of theory and experiment. Our experience of this difference is that religion lacks the uncertainty of science.

With regard to politics which science fiction is supposed to be about, capitalism has failed as miserably as communism. Technology, the product of science, is necessarily a mere section of science. We can expect super-intelligence to produce many disciplines, each as de/constructive as science. Indeed, we may think of science as the plane constructed through two lines, art and religion, that share a point, life. Similarly, super-intelligence will be constructed as the space that contains two sciences that share a single technology. Perhaps the sciences are finite physics and not-even-wrong physics, and the technology is quantum-bio-computing. It is doubtful that super-intelligence will save us from nuclear weapons or global warming. After all, science did not save religion from denial or hypocrisy, nor art from post-modernism.

On an alien planet with two different kinds of life, a single religion connecting the two kinds of life might form even before intelligence. And on a planet with three kinds of life, science might be integral to evolution. On our planet, the leap from life to religion may have required as much intelligence as the leap from religion to science. Thus, super-intelligence is a misnomer; it should be called hyper-science.

A flaw in my argument is how different religion is from technology. This may be because religion is merely linear, whereas technology is affine. If religions, and by extension science, are linear, then life must be the origin. And as we know, life is not contained by technology. Also, there are things like sport that are neither religion nor product of science. Consider the ancient Brazilian sport of playing with a rubber ball. Note that the rubber ball was a product of technology, and sport contains life. Thus, sport is the one-dimensional discipline constructed through life and a product of a technology.

At this point, I hope it is clear that I consider religion a derangement. Rather than decrease my respect for religion, this increases my respect for derangement. Since I know of no other way to construct a plane except from lines, I am forced to consider religion a necessary stepping stone. And since our experience with fossil fuel demonstrates the folly of burning bridges, I must accede the utility of keeping religion around.

Sunday, November 20, 2016

Electronic Music

Here is an application intended to draw emergent properties from general purpose computers. This is in the tradition of the west coast modular synth, in the sense that it sacrifices ease of use for surprise.

The mouse position rotates a polytope. The roller button rotates the projection plane. The buttons switch between ends of the projection line. The polytope region volumes are noise volumes. The space boundaries are tone filters. The projection plane areas are durations. The projection plane boundaries are envelope filters. The projection line lengths are tempos. The projection line boundaries are rhythmic filters. Function keys (un)lock boundaries, (un)fill regions. Configuration file contains metric and boundary mappings. Branching history allows branching playback. Create new branches relative to other branches.

Just as the effect of multiple color filters is cumulative, so is the effect of multiple tone filters. Similarly, the effect of multiple envelope or rhythm "filters" should be cumulative. Thus, retained are the volume area length metrics, but lost are the filter orderings, except as deduced from adjacency.

The product of the three dimensional tone filters is the richest in the sense that they are repeating waveforms. The two dimensional filters, though geometrically more numerous, are less rich in the sense that they produce unrepeated envelopes, or potions of waveforms. Note that the specification of envelope filter is still a vector of harmonic amplitudes. The one dimensional filters are again geometrically more numerous, but less rich, thus. They not only produce unrepeated phrases, they interpret the negative portions of the waveform as silence, ignoring any negative information.

Another enhancement would be feedback. Thus, when a note plays, the region responsible for it could go on to the next fundamental tone. Generally, each projected region could go on to the next parameter. To avoid expressing my incompetence at harmony and melody, the parameters could be chosen by 1/f randomness or modulo one golden ratio increments.

Escape key halts recording and rotation, allowing mouse lift. Continuity is preserved across pauses by interpreting mouse and roller button motions as accelerations instead of motions. Discontinuities are allowed by enabling rotation and rate change separate from recording. Loops are recorded by interpolating from one branch to another and going to playback mode. Switching to record mode starts a new branch relative to the current in the sense that the rotation rates start from where the branch started.

Intervals Are Not Polytopes

One dimensional spaces are qualitatively different from spaces with 2 or more dimensions. My definition of "linear", as a space who's subspaces have the correct number of regions does not suffice to make one-dimensional spaces convertible to number lines. Here is a counter-example.


Interpret this as a list of boundaries, each of which is a pair of half-spaces, and interpret the numbers as regions. As a two-dimensional space this is a simplex with empty vertex regions. As a one-dimensional space, each subspace has m+1 regions, where m is the number of boundaries. As a result of testing my Haskell code, I discovered this counter-example. I rewrote my isLinear and superSpace functions to behave differently for one-dimensional arguments.

Stay tuned for whether there are counter-examples of 2 or more dimension. If the proofs in previous posts are correct, then there will be none. Math is scientific in the sense that we can never know for certain that a proof is correct.

Sunday, November 6, 2016


I've restarted my Haskell program to take a more naive approach. Rather than go for optimization with lots of different representations that get saved to prevent recalculations, my new approach is to go for clarity. I found that the prior approach involved a lot of boring code. I was too tempted to automate the production of the boring code, and that became a nontrivial challenge. Anyway, my new code is here, and it is much more readable. Note that though the repository is still called sidegeo, the module directory is AffTopo. AffTopo stands for affine topology, which I believe more accurately describes the math in this blog than my original choice of sidedness geometry.

Perhaps more or less related to my coding efforts, I have taken a new perspective (pun intended) on the definition of polytope. In short, polytope (like creativity) means many things to many people in many contexts. Here are a couple of possible definitions.

If you project your polytope onto a picture plane, it produces a (simpler?) polytope in one fewer dimension. If you consider all possible projections of a polytope, the polytope might be well defined so long as it's projections are well defined. Since polytopes of zero dimension are well defined, this recursive definition might work. I say might, because the projections of a polytope have some relations not captured by simply collecting them into a set.

As another example of defining polytope, start with the usual graph of facets, and add convexity around each facet. My coding experience has increased my respect for directness. On the other hand, without curves we would not know that lines are straight.

Tuesday, March 29, 2016

Hello Haskell

I'm proud of my hello world because it demonstrates my understanding of lazy evaluation. Lazy evaluation appeals to me because it reminds me of cause and effect in its relative and quantum laziness. This, my first Haskell program, is the middle step of a program to produce code that implements conversions implicit in the name of the converter.

Saturday, February 20, 2016

No Mention of Dimension

Recently I have started using Haskell instead of those other languages. As a result I have gotten closer to generating all spaces and polytopes of a given complexity. An observation results from this progress. None of my representations or functions, from sidedness to cospace, depend on dimension. Haskell being strongly typed means the fact that my code compiles is nontrivial. I still need to remove any runtime bugs that crop up, but I'm confident I'll be able to generate all simplex overlaps with merely implicit dimension. The way to imply a dimension is to make a simplex by remove one region from a space with no missing regions. Then the number of dimensions is one less than the number of boundaries in the simplex space. To create more complex spaces, find the cospace which I can do without mention of the implicit dimension. With the cospace, you can extend the simplex with a sections space determined by any region in the cospace. In previous posts, I constructed the cospace by interpreting points as planes, after converting to vectors. That required choosing a partial ordering of the regions. Constructing a cospace without vectors does not require choosing a partial ordering. Because only outside regions have regions opposite all boundaries, inside regions can be specified by boundary sets. Thus, a space can be represented by a set of boundary sets. A similar representation of regions as boundary sets is also a good way to test equivalence between spaces. With that representation, only permutations of boundaries must be tried; permutations of regions are abstracted away. Trying permutations of boundaries does not suffice to find polytope equivalence. This is because a polytope is specified by a set of spaces constructed from the significant boundaries of significant vertices in the polytope, and vertex spaces have only outside regions.

Tuesday, January 26, 2016

Dooy Binary System

The Dewey Decimal System is inadequate for online content. More than one dimension is required. But who chooses the dimensions? Rather, let people partially specify boundaries and points, and let there be as many dimensions as necessary to keep the space linear. By partially specify I mean they would create new boundaries by supplying two disjoint sets of points. Also, they could refine a boundary's position by adding points to the boundary's sets. The given points could be new or extant. Only adding a point to both sets of a boundary would be prohibited. An open question is whether books (pages? words?) should be points, boundaries, or regions. My intuition is that one to one between point and book would be best. Then books (pages? words?) in the same region would be similar.