2.1 Coding

of course, c, d are meta-variables, and also some other notations are changed slightly.

2.2 Decoding

Having seen this, decoding is rather straightforward.
Here is a parser for illustration, but it serves only didactical purposes: it will not be used in the final implementation, because a good term geerator makes parsing superfluous at this task.

should denote the set of syntactically correct bit sequences (semantically, they may either terminate or diverge), i.e. the domain of the decoding function, i.e. the range of the coding function. Thus,

3 Related concepts

4 To do

Writing a program in Haskell -- or in combinatory logic:-) -- which could help in making conjectures on combinatory logic-based Chaitin's constructions. It would make only approximations, in a similar way that most Mandelbrot plotting softwares work: it would ask for a maximum limit of iterations.