<div dir="ltr">I guess I'm using a looser definition of recursion, something not exactly "self-referential." For example, I'm on the phone with someone, and then I accept a call-waiting call. You can go into multiple depths of call waiting, then wind your way back out as you hang up on each -- all the way back to the original caller. Or, with my example, I could have a state represented as some polynomial, a_nx^n + a_n-1x^(n-1) + . . ., then a "change" happens when a new polynomial "goes into" the first,<div><br></div><div>a_n(b_ny^n + b_n-1y^n-1 + ...)^n + a_n-1x^n-1 ...</div><div><br></div><div>This could go on and on, new polynomials substituted into one of the variables of the previous. All I want to say with this is that I consider this also recursive in nature, even though I can't imagine how this would be "self-referential" or looking typically inductive.</div><div><br></div><div>I'm not a expert on the whole Bitcoin blockchain, but your (Olaf)</div><div><br></div><div>now = change 0 . change (-1) . change (-2) . {...ad infinitum}<br></div><div><br></div><div>looks like one. And no, there shouldn't be a clock, per se. Yes, parcels would be polygons, with sides shared -- although this isn't germane to the bigger question.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 3:14 PM, Olaf Klinke <span dir="ltr"><<a href="mailto:olf@aatal-apotheke.de" target="_blank">olf@aatal-apotheke.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">If I may step into this discussion, I'd like to suggest you start modelling your world of parcels more concretely, as data types. From there it should be easier to grasp our hyper-recursion.<br>
<br>
Question: Does every parcel have its own time, or is there a universal clock ticking in the background?<br>
<br>
If you have a uiversal clock, you could model your world as a linear series of state changes, stretching infinitely into the past and future. Hence two streams going out form a "now" would be the overarching data type. This has been used e.g. for doubly linked lists. Doesn't functional reactive programming use a similar model?<br>
<br>
Question: How does one identify a parcel of land? Is it a polygon of coordinates in some reference system? Hence can the state be seen as a finite set of (Polygon,Owner) pairs?<br>
<br>
Question: What is more important: The state or the state change? If the state is more important, a kind of graph might be the appropriate data structure. If the change is important, it might be interesting to model the world (and time) as a network of functions.<br>
<br>
Question to all mathematicians on this list: Suppose (again assuming a universal clock) there is a type (a set?) X and a function<br>
<br>
change :: Integer -> (X -> X)<br>
<br>
where the state of "now" is to be understood as the value<br>
<br>
now = change 0 . change (-1) . change (-2) . {...ad infinitum}<br>
<br>
Under which circumstances does this determine the value of "now"? The only instance I can think of are contractions on a (compact) metric space. (Brouwer's/Banach's fixed point theorems)<br>
<br>
I second the contributors who suggest that this has not much to do with recursion nor corecursion. To me, the essence of recusion is self-reference. A function building e.g. an infinite stream from a seed is not self-referential in itself, it is the resulting data that is self-referential.<br>
<span class="HOEnZb"><font color="#888888"><br>
Olaf</font></span></blockquote></div><br></div>