What’s a subset? That’s easy: if we have two sets A and B, A is a subset of B if every member of A is also a member of B.

What’s a subgroup? If we have two groups A and B, and the values in group A are a subset of the values in group B, then A is a subgroup of B.

For any kind of thing **X**, what does it mean to be a sub-X? Category theory gives us a way of answering that in a generic way. It’s a bit hard to grasp at first, so let’s start by looking at the basic construction in terms of sets and subsets.

The most generic way of defining subsets is using functions. Suppose we have a set, A. How can we define all of the subsets of A, *in terms of functions*?

We can take the set of all *injective* functions to A (an injective function from X to Y is a function that maps each member of X to a unique member of Y). Let’s call that set of injective functions **Inj**(A). Now, we can define equivalence classes over **Inj**(A), where two functions f : X → A and g : Y → A are equivalent if there is an isomorphism between X and Y.

The domain of each function in one of the equivalence classes in **Inj**(A) is a function isomorphic to a subset of A. So each equivalence class of injective functions defines a subset of A.

We can generalize that function-based definition to categories, so that it can define a sub-object of any kind of object that can be represented in a category.

Before we jump in, let me review one important definition from before; the monomorphism, or monic arrow.

>A *monic arrow* is an arrow f : a → b such that (∀ g_{1},

>g_{2}: x → a) f º g_{1} = f º g_{2}

>⇒ g_{1} = g_{2}. (That is, if any two arrows composed with

>f in f º g end up at the same object only if they are the same.)

The monic arrow is the category theoretic version of an injective function.

Suppose we have a category C, and an object a ∈ Obj(C).

If there are are two monic arrows f : x → a and g : y → a, and

there is an arrow h such that g º h = f, then we say f ≤ g (read “f factors through g”). Now, we can take that “≤” relation, and use it to define an equivalence class of morphisms using f ≡ g ⇔ f ≤ g &land; g ≤ f.

What we wind up with using that equivalence relation is a set of equivalence classes of monomorphisms pointing at A. Each of those equivalence classes of morphisms defines a subobject of A. (Within the equivalence classes are objects which have isomorphisms, so the sources of those arrows are equivalent with respect to this relation.) A subobject of A is the sources of an arrow in one of those equivalence classes.

# Monthly Archives: July 2006

# Bible Code Bozos

Earlier this week, I posted [a brief article][nyc-boom] about the [“True Bible Code”][tbc] folks who claimed that NYC was going to be hit by a terrorist nuclear weapon this weekend.

I was looking at the rest of their site to see what their “true bible code” was. I was expecting something along the lines of the gap codes or yet another low-budget gematria. It turns out to be much more humorous than either of those.

Most of the bible-code type nonsense you find is based on simple rules. There’s a good reason for that: the more complex the rules get, the more likely they are to be artifacts. The more elaborate the rule, the less convincing it’s going to be as a real code, and the more likely it is to be an artifact of the natural structure of the language combined with that human pattern-finding ability.

The gap-coding is a good example of what a hidden-code system might really look like. It’s not obvious; but it’s simple enough to be able to look for the patterns. If it had turned out that the bible *really* had patterns coded that way, but you couldn’t find similar patterns in other texts, that would have been interesting. (In the original publication, they claimed only the old testament contained those patterns; but numerous folks [have shown that claim to be false][bc-debunk]. It’s an artifact of the natural structure of the hebrew language.)

In contrast – the more complex a system of rules gets, the more it includes special cases, conditions, alternatives, and subjective choices, the less likely it is to have any possibility of representing anything real. Language is complicated enough that if you take any text, and start adding rules, you can develop a system of rules which will describe properties of that text.

It’s a lot like working with machine learning algorithms. A machine learning algorithm is trained by taking a sequence of stuff as input (called training data), and analyzing it. The idea is that you feed it a bunch of data that has some property that you’re interested in; and after it’s been trained, it will be able to recognize other things with that property. Some machine learning algorithms [like decision trees][decision-tree] actually generate human-readable rules to describe the procedure it’s going to follow. One other thing that these kinds of algorithms can often do is provide an *exemplar*: a datum that is a typical example of a datum that matches a rule.

When you use machine learning on a set of data, and you set the parameters to make it very sensitive, very precisely selecting properties of the input data, you tend to get very strange, elaborate rules. For example, on the linked wiki page, they show a decision tree for helping you determine whether or not you should play golf on a particular day. Some of the rules are things like “If it’s sunny and the humidity is less than 70%, then you should play”. If the parameters were set to be too sensitive, you might end up with a rule like “If it’s sunny, and the humidity is greater than 12% and less than 42%, or greater than 51% but less than 68%, and it’s a tuesday or friday before 12pm in the summer, or it’s a wednesday after 4pm in the autumn, and at least one person you’re going to play with has a name that starts with ‘J’ or ‘P’, then you should play.”

The point of this little aside is that if you’re determined to find a set of rules that specifically describes one particular set of data, you can. But it’s going to be a very bizzare set of rules that really makes no sense.

So… Back to these “True Bible Code” guys. They’ve got incredibly elaborate rules. Twenty of them. Each of which has multiple cases and conditions. Let me give an example – what they call [the symbolic structure principle][tbc-symbolic] – which is one of their initial rules, and *not* one of the most complicated.

>Every literal account in the bible has the normal literal meaning.

>

>Every non literal account, such as a dream, a parable or a vision, has a

>straightforward symbolic meaning, which is the symbolic meaning of the

>events described in the account. We call this the Event Symbolic meaning, or

>the Event Symbolism.

>Every interpretational sub account in the bible has its normal literal

>meaning which describes the event symbolic meaning of one or more symbolic

>sub accounts. If the interpretation has symbolic sections then these have

>event symbolic meanings.

>

>Every account in the bible, which:

>

>[1] contains a ‘countable noun’, which is a noun acting as a noun (or a

>participle which declines as a noun which is used as a noun, such as a

>’baker’ – the one causing [things] to be baked – a Hiphil participle in

>Hebrew) which is repeated an even number of times (wherein all repeated

>words take the same meaning in the literal account or in the event

>symbolism), and which does not contain a double designation – see [Code6b]

>or which

>

>[2] has a parallel account elsewhere in the bible,

>

>has a further set of one, two, three or four (so far as we have found) word

>symbolic meanings.

>

>The number of Word Symbolic meanings in a sub account is determined by the

>Successive Designations Principle below – see [Code6b]. These greater

>meanings are in addition to the literal meaning, in the case of a literal

>account, and are in addition to the straightforward symbolic meaning, the

>event symbolic meaning, in the case of a symbolic account such as a dream, a

>vision or a parable. They are in addition to the literal/event symbolic

>meaning of an interpretational sub account.

>

>If a bible account contains an interpretational subaccount (typically an

>interpretation from Jesus, Daniel or Joseph), then the literal meaning of

>the interpretation is the event symbolic meaning of the symbolic subaccount

>which it is interpreting. Obviously since the narrative is also literal, its

>literal meaning sets the scene for the event symbolic meaning of all of its

>symbolic subaccounts.

>

>The first word symbolic meaning of any interpretational subaccount is the

>first word symbolic meaning of the symbolic subaccount which it interprets.

>Furthermore the existence of a first word symbolic thread in an

>interpretational subaccount unites the first word symbolic meaning of the

>narrative to the first word symbolic meaning of the symbolic subaccount

>which the interpretation is explaining.

>

>Likewise the second, third, fourth word symbolic meanings of any

>interpretational subaccount (if they exist) are the second third fourth word

>symbolic meanings of the symbolic subaccount which it interprets.

>Furthermore the existence of a second, third, fourth word symbolic thread in

>an interpretational subaccount unites the second, third, fourth word

>symbolic meaning of the narrative to the second, third, fourth word symbolic

>meaning of the symbolic subaccount which the interpretation is explaining.

>

>Likewise the non existence of a first second third fourth word symbolic

>thread in an interpretational subaccount decouples the first second third

>fourth word symbolic meaning of the symbolic account which it interprets

>from the first second third fourth word symbolic meanings of the narrative

>respectively.

After that whopper of a rule, they go through six examples; followed by four “proofs”. The proofs are pretty much indistinguishable from the examples. For example, here’s the shortest one, the fourth “proof”.

>Finally we have the shortest parable in the bible which is:

>

>33 Another illustration he spoke to them: The kingdom of the heavens is like

>leaven, which a woman took and hid in three large measures of flour, until

>the whole mass was fermented/leavened (Matthew 13).

>

>Ok, you young paduan learners! If it is the most insignificant and smallest

>of the parables in the whole bible, then what does this tell you about its

>spiritual meaning in this upside down world in which we live?

>

>Yes, it is the greatest of them all in meaning. Well, the event symbolic

>meaning is as follows:

>

>The woman is the holy spirit, the leaven is the bible code, and the three

>lumps of flour are the literal, the event symbolic and the account symbolic

>meanings of the bible. When the whole mass is fermented/leavened (decoded),

>then we can truly eat the whole book and see both the code and the truth and

>God and the true religion and his plan and his love and his humour and his

>righteousness, and our total and utter pretentiousness and stupidity

>stretching over 3500 years. As regards the account symbolic meaning of

>Matthew 13:33 and the parallel account in Luke 13:20 please see section[69].

>

>This leaven is not the wicked teachings of the Pharisees but is rather the

>good teachings of the true priesthood of God. This website is the result of

>such leaven. We are expanding the bread of heaven to make it fully

>digestible.

This looks a *lot* like what I would expect as the output from a rule-generating machine learning system – right down to that so-called “proof”, which isn’t a proof, but an examplar. As a computer scientist, if I saw my system generating a rule like this, my reaction would be to adjust the parameters – because I’m clearly generating garbage. For *any* large set of documents, you *can* come up with a set of rules that matches them. The question is, do they matter? Do they have any real meaning, or are they just coincidental? The answer is usually that elaborate multicondition rules, particularly when they involve subjective terms, is that they’re meaningless coincidence. Like the ones here.

[nyc-boom]: http://scienceblogs.com/goodmath/2006/06/good_math_bad_math_might_be_in.php

[tbc]: http://www.truebiblecode.com/

[tbc-symbolic]: http://www.truebiblecode.com/code.html#c5

[bc-debunk]: http://www.postfun.com/pfp/bible/code.html

[decision-tree]: http://en.wikipedia.org/wiki/Decision_tree