I've found that trying to make precise statements or comparisons with spoken language (English) is usually a dead-end. Spoken language just was not meant to be precise. English is for organic beings in an organic world and not designed by mathematicians. Thus, one can only stretch it so far before running into a wall.
Now, it is possible to create cleaner working definitions, but no guarentee such definitions will be accepted. Just because you make a clean model does not mean that model will be accepted as fully representative of reality.
The interesting thing is that imprecise (natural) language is used to define precise math language. How comes this isn't a contradiction?
{The 'interesting' thing is that top thinks he can legitimately make that statement while lacking a precise definition of 'precise'. And that gz thinks he can add something meaningful to it while still lacking a precise definition of 'imprecise' (or 'vague'). What hogwash. How meaningful can something be when even the speaker isn't sure what he means? ;-}
{In truth, all math requires is agreed upon properties in the form of axioms. The language utilized to describe those properties is only meaningful insofar as it is capable of communicating them sufficiently well to another mathmetician that they can be properly disambiguated by use of examples. Proof of understanding can be obtained through use of example problems with known answers. The actual problem of going from imprecise to precise is not nearly the 'dead-end' it is above claimed to be.}
{And since top created this page as a fallback defense for arguments, I feel it necessary to point out that Computer Scientists don't speak plain English. We have an additional vocabulary filled with words that are precise in their context: function, syntax, grammar, procedure, algorithm, process, big O, side-effect, turing complete, NP, NP complete, inheritance, interface polymorphism, 1, 2, 3, integer, realnum, character, expression, statement, regular expression, array, list, stack, queue, deque, pair, tuple, A*, breadth-first search, select, etc. We even have specialized branches of vocabularies that aren't studied by the general CS populace: type, kind, linear type, uniqueness type, monad, etc. Some people think these imprecise because they haven't studied them... and they might even cry out about "ivory towers" and "BookStops" when that fact is mentioned. But these words are part of our language, and they allow us to be considerably more precise where we desire it... even before we start writing real code (which is even more precise).}
{An interesting mistake above is the implicit identity-association (or false analogy) between 'model' and 'definition' ("It is possible to create cleaner working definitions, but [there is] no guarantee such definitions will be accepted. Just because you make a clean model does not mean that model will be accepted as fully representative of reality."). Words are used to describe models, but are not, themselves, models of reality. If you are having trouble describing a model with the words you currently possess, it is perfectly okay to create new words (e.g. 'foo' and 'bar') and give them meanings to help you out. It is also perfectly okay to give old words a more precise definition for the context (so long as you don't pretend that it is the general definition - you risk equivocation). Precise words can help you precisely describe aspects of a model. Whether the model itself is 'representative of reality' depends mostly on whether it does its job: models are meant to be predicative. If a model correctly (and, ideally, falsifiably) predicts those observations it is intended to predict, it is 'representative of reality' within its ascribed domain. Of course, no model is 'fully' representative of reality. That's a feature possessed only by reality itself.}
If Reynolds' is a model-free definition (if it even qualifies as a def), I'll eat my shorts. --top
{I'm certain you're lying about eating your shorts even if you were proven wrong. Of course, "model-free" hasn't been clearly defined... which offers you sufficient room for weaseling around like the typical sophist who speaks much and says nothing. Feel free to define 'model-free' and specify the Reynold's definition under discussion if you're seeking argument. Either way, 'definitions' themselves are not 'models' of reality - not when those words are used with the strict meanings Computer Scientists borrowed from linguistics and mathematics. That is true even when the definition is obviously aimed at supporting a particular model or class of models.}
See also: LaynesLaw