Hi Forum Moderators,
Over the last few weeks I have been intrigued regarding a particular quote from LRM section 16.12.22.
Having done my homework on the same, I seek confirmation whether my interpretation of the LRM is correct.
Before I get to the actual LRM quote, here are some basic LRM definitions
A sequence that admits no match or that admits only empty matches is called degenerate.
A sequence that admits at least one nonempty match is called nondegenerate.
A sequence may admit both empty and nonempty matches, for example, a[*0:2]. This sequence admits an empty match and up to two nonempty matches: a and a[*2] .
Hence a[*0:2] is essentially a non-degenerate sequence.
At this point let me define a term ‘Strictly Non-Degenerate’ (although the LRM doesn’t define this).
A strictly non-degenerate sequence is one which admits only non-empty matches ( Eg: a[*1:2] )
Now that we have a basic understanding of the terms let me come to the LRM quote:
LRM 16.12.22 :: "Any sequence that is used as a property shall be nondegenerate and shall not admit any empty match."
// Note that due to the 'and' both conditions should be met
As a non-degenerate sequence can comprise of both empty and non-empty sequences ( Eg: a[*0:2] ), can I say the above LRM quote essentially means that
*“Any sequence that is used as a property shall be strictly nondegenerate” i.e can’t admit any empty match ( Eg: a[1:2] ) ?