Like Alexander, I agree that word indices start at 0... like natural 
numbers ;-)

On Sunday, April 26, 2020 at 8:49:01 AM UTC+2, Alexander van der Vekens 
wrote:
>
> About 0 or 1 as first (or zeroth ;-) ?) index of words (see remarks of FL 
> and Norm below):
>
> Although there are good reasons to index the symbols of a word W by 1 .. 
> length(W), there are also good reasons to start with 0. See, for example, 
> Wikipedia https://en.wikipedia.org/wiki/Zero-based_numbering , especially 
> the note *of Edsger W. Dijkstra Why numbering should start at zero* (
> https://www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.html) - 
> Dijkstra would like our definition ( M ..^ N )...
>
> Also the argument that using the modulo function is a good one - I used 
> this for the proof of the friendship theorem, see, for example, 
> ~cshwidx0mod. In the context of graph theory, it is useful to index the 
> vertices in a walk, trail, path etc. of length n by 0 ... n and the edges 
> by 0 ..^ n . Therefore, starting words with index 0 simplifies the 
> definition of "walks as words" (see ~ df-wwlk), which I also used for the 
> proof of the friendship theorem. 
>
> Since we are using 0 as first index already for several years, and there 
> is a huge amount of theorems based on this definition (as already mentioned 
> by Norm), I propose not to change the definition df-word. If there is a 
> very good reason for a change in the future (which would justify the amount 
> of work required to modify all existing related theorems), we can discuss 
> this topic again.
>
> On Saturday, April 25, 2020 at 7:29:25 PM UTC+2, Norman Megill wrote:
>>
>> From FL:
>>
>> ...
>>
>> I would also appreciate if the first index of a word is 1not 0. The C 
>> language has arrays that begins et 0 and its a pain un the neck because you 
>> always have to deal with n - 1 expressions.
>>
>> From Norm: 
>
>> ...
>>
>> 2. I assume you mean df-word.  As Mario suggested, it would be helpful if 
>> you provide the label of what you are referring to.
>>
>> I probably agree with you but I haven't worked with df-word, so others' 
>> comments would be more valid. I wonder if the awkward "( M ..^ N )" would 
>> largely be replaced by "( M ... N )". At this point, though, there are 
>> hundreds of theorems involved and probably a huge effort to convert.  An 
>> important question is whether the literature typically starts with 0 or 1, 
>> which I don't know, and it's nice to be follow the literature convention 
>> when possible.
>>
>> (In C, I often start arrays with 1 because that's the way humans count. 
>> For me at least it leads to fewer bugs, and being able to use n instead of 
>> n-1 over and over saves typing and might even make up for the wasted memory 
>> space of the unused 0th entry. I imagine, though, that for "real" C 
>> programmers, counting from 0 is second nature so that when they see index n 
>> it mentally means the (n+1)th entry to them, so they don't need to use n-1.)
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/95e2049c-c07c-40d7-b0e3-79061ef5327c%40googlegroups.com.

Reply via email to