User blog comment:B1mb0w/The S Function Version 2/@comment-5529393-20160710173738/@comment-10262436-20160711093616

...sub procedure applied to T functions...

I should tidy this up. All I am trying to say is that T(0) is substituted for the value of a parameter but only when a is a 'restricted' S function. If a is a generalised S function then instead of it must (by definition) be itself the b or c parameter of another parent S function. Therefore, T(0) will be substitited with the a parameter of the parent S function (unless that is also a generalised S function and we repeat the logic).

The purpose of this logic is to force substitution of 'restricted' S Functions. By definition 'restricted' S Functions are well-ordered and are assigned an ordinal value. The generalised S Functions are not assigned an ordinal value. Also refer to my Alpha Function blogs, which does this using a computer algorithm.

...definition of S Functions...

This defintion will construct valid 'restricted' and 'generalised' S Functions by an inductive procedure. Any initial or interim S function constructed this way is valid. Every constructed S Function that is also 'restricted' can be well ordered and an ordinal value can then be assigned.

There is an error in the definition that I just corrected (sorry about that). The s_m sequence should read a_m.

The inequalities I use for b_{i+1} < b_i etc, is meant to define a range of valied entries for any individual term. Because every tem is well defined starting with a_0 then this should be straightforward. However every iteration will allow for a large number of possible valid entries. Since each of these are well ordered, refer to my section on > and = equalities, then, it is relatively easy to sort the resulting valid sequences into an order.

BTW

This is exactly what I have done with my Alpha Function (different blog). The Alpha Function can generate any and every S function and assigns a real number value to each S function based on this well ordered property.