viewfromafar
Yeah, if you know that the recursive function always terminates, then you know that each recursive call makes the set of remaining steps strictly smaller.
When you want to prove termination, then it is exactly what you need to show (that the remaining work does get smaller, no cycles).
Though, there is also the Ackermann function... so for some recursive functions it is not be as easily seen why they would terminate.
Starting from simply typed lambda calculus ("simple type theory", also "higher order logic"), one can make various extensions that make the logic language more expressive. The lambda cube is a way to systematically organize the space of type theories.
Interestingly, the theory has become very relevant for type systems of normal programming languages. Milner invented ML as "meta language" for helping with logic and theorem proving, but it was used widely and today everyone expects generics to work more or less as in System F polymorphic lambda calculus.
The problem is that benefits of well-thought out incentive systems evaporate when access is mediated. If every dapp comes with its own mobile client and app-specific servers to address this, there is nothing decentralized about it.
In general, it could be appealing to have an open, established process for gathering public feedback on articles. It seems a scientific community would rather have their own version set up, where they could also curate content (rather than browse by category).
The equivalent to those biomedical industry players are the big tech who develop closed source and push the edge in some area. They will publish but that does not mean you can replicate any of it.
Software is also fragmented, crippled by IP lawsuits, patent trolls and so on. This does inhibit ability of society to benefit from software since it depends on the private sector to sort things out. The PhDs go and build businesses to "make the science work" in that sense.
The ideal of detached pursuit of knowledge is not a complete fiction (despite the hyperbole), but it does remain an ideal that can only be approximated.
This is the world we live in. A scientist is a person that needs to make a living and is subject to various constraints.
The reason that there is little money to be made is that society hasn't found a way to set up the scientific process in such a way that the constraints would value the increase in public domain knowledge higher than the incentives to hold some knowledge back.
Part of this may stem from leaving specialized knowledge to academia while letting only companies reap the monetary rewards of putting the knowledge to use. Society benefits only indirectly (better drugs, machines, etc) but industry players will rather shield knowledge and adapt its representation to their own needs.
This is lucid analogy since many times in software, people think the target (goal) is static, or static enough.
Sometimes though, there might be pressure to make the bowl bigger, smaller, into a plate, a vase and attach a straw, all at the same time.
Constraints liberate. A datalog program for example can be considered a very restricted prolog program, but it is guaranteed to terminate and there are alternative evaluation strategies that can be very efficient.