Cormenなどによるアルゴリズムの概要で文字列アルゴリズムについて読んでいます
以下は、いくつかの基本的な数論的表記法に関するテキストです。
注:以下のテキストでは、==をモジュロ等価として参照します。
ある整数を別の整数で割ったときの余りの概念が明確に定義されている場合、余りが等しいことを示すために特別な表記法を提供すると便利です。(a mod n)=(b mod n)の場合、a == b(mod n)と記述し、aはnを法とするbと同等であると言います。言い換えると、aとbの余りがnで割ったときに同じ余りがある場合、a == b(mod n)になります。同様に、n |の場合に限り、a == b(mod n)(b-a)。たとえば、61 == 6(mod 11)です。また、-13 == 22 == 2 ==(mod 5)。
整数は、nを法とする剰余に従ってn個の同値類に分割できます。整数aを含むnを法とする同値類は
[a] n = {a + kn:kZ}。
たとえば、[3] 7={。。。、-11、-4、3、10、17 、。。。}; このセットの他の表示は[-4]7と[10]7です。
[b] nに属するaを書くことは、a == b(mod n)を書くことと同じです。そのようなすべての同値類のセットは
Zn = {[a] n:0 <= a <= n-1} .----------> Eq 1
上記のテキストでの私の質問は、式1で、「a」は0からn-1の間にあるべきであると述べられていますが、たとえば、0から6の間にない-4として与えられているのはなぜですか?
上記に加えて、ラビン-カープアルゴリズムでは、3番目の数を法として2つの数の等価性を使用することが述べられていますか?これは何を意味するのでしょうか?