HomeHome Intuitionistic Logic Explorer
Theorem List (p. 113 of 166)
< Previous  Next >
Browser slow? Try the
Unicode version.

Mirrors  >  Metamath Home Page  >  ILE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

Theorem List for Intuitionistic Logic Explorer - 11201-11300   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
Theoremswrdfv0 11201 The first symbol in an extracted subword. (Contributed by AV, 27-Apr-2022.)
 |-  ( ( S  e. Word  A 
 /\  F  e.  (
 0..^ L )  /\  L  e.  ( 0 ... ( `  S )
 ) )  ->  (
 ( S substr  <. F ,  L >. ) `  0
 )  =  ( S `
  F ) )
 
Theoremswrdf 11202 A subword of a word is a function from a half-open range of nonnegative integers of the same length as the subword to the set of symbols for the original word. (Contributed by AV, 13-Nov-2018.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... N )  /\  N  e.  ( 0 ... ( `  W )
 ) )  ->  ( W substr 
 <. M ,  N >. ) : ( 0..^ ( N  -  M ) ) --> V )
 
Theoremswrdvalfn 11203 Value of the subword extractor as function with domain. (Contributed by Alexander van der Vekens, 28-Mar-2018.) (Proof shortened by AV, 2-May-2020.)
 |-  ( ( S  e. Word  V 
 /\  F  e.  (
 0 ... L )  /\  L  e.  ( 0 ... ( `  S )
 ) )  ->  ( S substr 
 <. F ,  L >. )  Fn  ( 0..^ ( L  -  F ) ) )
 
Theoremswrdrn 11204 The range of a subword of a word is a subset of the set of symbols for the word. (Contributed by AV, 13-Nov-2018.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... N )  /\  N  e.  ( 0 ... ( `  W )
 ) )  ->  ran  ( W substr 
 <. M ,  N >. ) 
 C_  V )
 
Theoremswrdlend 11205 The value of the subword extractor is the empty set (undefined) if the range is not valid. (Contributed by Alexander van der Vekens, 16-Mar-2018.) (Proof shortened by AV, 2-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  ( L  <_  F  ->  ( W substr  <. F ,  L >. )  =  (/) ) )
 
Theoremswrdnd 11206 The value of the subword extractor is the empty set (undefined) if the range is not valid. (Contributed by Alexander van der Vekens, 16-Mar-2018.) (Proof shortened by AV, 2-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  F  e.  ZZ  /\  L  e.  ZZ )  ->  ( ( F  <  0  \/  L  <_  F  \/  ( `  W )  <  L )  ->  ( W substr 
 <. F ,  L >. )  =  (/) ) )
 
Theoremswrd0g 11207 A subword of an empty set is always the empty set. (Contributed by AV, 31-Mar-2018.) (Revised by AV, 20-Oct-2018.) (Proof shortened by AV, 2-May-2020.)
 |-  ( ( F  e.  ZZ  /\  L  e.  ZZ )  ->  ( (/) substr  <. F ,  L >. )  =  (/) )
 
Theoremswrdrlen 11208 Length of a right-anchored subword. (Contributed by Alexander van der Vekens, 5-Apr-2018.)
 |-  ( ( W  e. Word  V 
 /\  I  e.  (
 0 ... ( `  W ) ) )  ->  ( `  ( W substr  <. I ,  ( `  W ) >. ) )  =  ( ( `  W )  -  I
 ) )
 
Theoremswrdlen2 11209 Length of an extracted subword. (Contributed by AV, 5-May-2020.)
 |-  ( ( S  e. Word  V 
 /\  ( F  e.  NN0  /\  L  e.  ( ZZ>= `  F ) )  /\  L  <_  ( `  S )
 )  ->  ( `  ( S substr 
 <. F ,  L >. ) )  =  ( L  -  F ) )
 
Theoremswrdfv2 11210 A symbol in an extracted subword, indexed using the word's indices. (Contributed by AV, 5-May-2020.)
 |-  ( ( ( S  e. Word  V  /\  ( F  e.  NN0  /\  L  e.  ( ZZ>= `  F )
 )  /\  L  <_  ( `  S ) )  /\  X  e.  ( F..^ L ) )  ->  ( ( S substr  <. F ,  L >. ) `  ( X  -  F ) )  =  ( S `  X ) )
 
Theoremswrdwrdsymbg 11211 A subword is a word over the symbols it consists of. (Contributed by AV, 2-Dec-2022.)
 |-  ( ( S  e. Word  A 
 /\  M  e.  (
 0 ... N )  /\  N  e.  ( 0 ... ( `  S )
 ) )  ->  ( S substr 
 <. M ,  N >. )  e. Word  ( S "
 ( M..^ N ) ) )
 
Theoremswrdsb0eq 11212 Two subwords with the same bounds are equal if the range is not valid. (Contributed by AV, 4-May-2020.)
 |-  ( ( ( W  e. Word  V  /\  U  e. Word  V )  /\  ( M  e.  NN0  /\  N  e.  NN0 )  /\  N  <_  M )  ->  ( W substr  <. M ,  N >. )  =  ( U substr  <. M ,  N >. ) )
 
Theoremswrdsbslen 11213 Two subwords with the same bounds have the same length. (Contributed by AV, 4-May-2020.)
 |-  ( ( ( W  e. Word  V  /\  U  e. Word  V )  /\  ( M  e.  NN0  /\  N  e.  NN0 )  /\  ( N 
 <_  ( `  W )  /\  N  <_  ( `  U ) ) )  ->  ( `  ( W substr  <. M ,  N >. ) )  =  ( `  ( U substr  <. M ,  N >. ) ) )
 
Theoremswrdspsleq 11214* Two words have a common subword (starting at the same position with the same length) iff they have the same symbols at each position. (Contributed by Alexander van der Vekens, 7-Aug-2018.) (Proof shortened by AV, 7-May-2020.)
 |-  ( ( ( W  e. Word  V  /\  U  e. Word  V )  /\  ( M  e.  NN0  /\  N  e.  NN0 )  /\  ( N 
 <_  ( `  W )  /\  N  <_  ( `  U ) ) )  ->  ( ( W substr  <. M ,  N >. )  =  ( U substr  <. M ,  N >. )  <->  A. i  e.  ( M..^ N ) ( W `
  i )  =  ( U `  i
 ) ) )
 
Theoremswrds1 11215 Extract a single symbol from a word. (Contributed by Stefan O'Rear, 23-Aug-2015.)
 |-  ( ( W  e. Word  A 
 /\  I  e.  (
 0..^ ( `  W )
 ) )  ->  ( W substr 
 <. I ,  ( I  +  1 ) >. )  =  <" ( W `
  I ) "> )
 
Theoremswrdlsw 11216 Extract the last single symbol from a word. (Contributed by Alexander van der Vekens, 23-Sep-2018.)
 |-  ( ( W  e. Word  V 
 /\  W  =/=  (/) )  ->  ( W substr  <. ( ( `  W )  -  1
 ) ,  ( `  W ) >. )  =  <" (lastS `  W ) "> )
 
Theoremccatswrd 11217 Joining two adjacent subwords makes a longer subword. (Contributed by Stefan O'Rear, 20-Aug-2015.)
 |-  ( ( S  e. Word  A 
 /\  ( X  e.  ( 0 ... Y )  /\  Y  e.  (
 0 ... Z )  /\  Z  e.  ( 0 ... ( `  S )
 ) ) )  ->  ( ( S substr  <. X ,  Y >. ) ++  ( S substr  <. Y ,  Z >. ) )  =  ( S substr  <. X ,  Z >. ) )
 
Theoremswrdccat2 11218 Recover the right half of a concatenated word. (Contributed by Mario Carneiro, 27-Sep-2015.)
 |-  ( ( S  e. Word  B 
 /\  T  e. Word  B )  ->  ( ( S ++ 
 T ) substr  <. ( `  S ) ,  ( ( `  S )  +  ( `  T ) ) >. )  =  T )
 
4.7.7  Prefixes of a word
 
Syntaxcpfx 11219 Syntax for the prefix operator.
 class prefix
 
Definitiondf-pfx 11220* Define an operation which extracts prefixes of words, i.e. subwords (or substrings) starting at the beginning of a word (or string). In other words,  ( S prefix  L
) is the prefix of the word  S of length  L. Definition in Section 9.1 of [AhoHopUll] p. 318. See also Wikipedia "Substring" https://en.wikipedia.org/wiki/Substring#Prefix. (Contributed by AV, 2-May-2020.)
 |- prefix  =  ( s  e.  _V ,  l  e.  NN0  |->  ( s substr  <. 0 ,  l >. ) )
 
Theorempfxval 11221 Value of a prefix operation. (Contributed by AV, 2-May-2020.)
 |-  ( ( S  e.  V  /\  L  e.  NN0 )  ->  ( S prefix  L )  =  ( S substr  <.
 0 ,  L >. ) )
 
Theorempfx00g 11222 The zero length prefix is the empty set. (Contributed by AV, 2-May-2020.)
 |-  ( S  e.  V  ->  ( S prefix  0 )  =  (/) )
 
Theorempfx0g 11223 A prefix of an empty set is always the empty set. (Contributed by AV, 3-May-2020.)
 |-  ( L  e.  NN0  ->  ( (/) prefix  L )  =  (/) )
 
Theoremfnpfx 11224 The domain of the prefix extractor. (Contributed by Jim Kingdon, 8-Jan-2026.)
 |- prefix  Fn  ( _V  X.  NN0 )
 
Theorempfxclg 11225 Closure of the prefix extractor. (Contributed by AV, 2-May-2020.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  NN0 )  ->  ( S prefix  L )  e. Word  A )
 
Theorempfxclz 11226 Closure of the prefix extractor. This extends pfxclg 11225 from  NN0 to  ZZ (negative lengths are trivial, resulting in the empty word). (Contributed by Jim Kingdon, 8-Jan-2026.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  ZZ )  ->  ( S prefix  L )  e. Word  A )
 
Theorempfxmpt 11227* Value of the prefix extractor as a mapping. (Contributed by AV, 2-May-2020.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  (
 0 ... ( `  S ) ) )  ->  ( S prefix  L )  =  ( x  e.  (
 0..^ L )  |->  ( S `  x ) ) )
 
Theorempfxres 11228 Value of the prefix extractor as the restriction of a word. (Contributed by Stefan O'Rear, 24-Aug-2015.) (Revised by AV, 2-May-2020.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  (
 0 ... ( `  S ) ) )  ->  ( S prefix  L )  =  ( S  |`  ( 0..^ L ) ) )
 
Theorempfxf 11229 A prefix of a word is a function from a half-open range of nonnegative integers of the same length as the prefix to the set of symbols for the original word. (Contributed by AV, 2-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  (
 0 ... ( `  W ) ) )  ->  ( W prefix  L ) : ( 0..^ L ) --> V )
 
Theorempfxfn 11230 Value of the prefix extractor as function with domain. (Contributed by AV, 2-May-2020.)
 |-  ( ( S  e. Word  V 
 /\  L  e.  (
 0 ... ( `  S ) ) )  ->  ( S prefix  L )  Fn  ( 0..^ L ) )
 
Theorempfxfv 11231 A symbol in a prefix of a word, indexed using the prefix' indices. (Contributed by Alexander van der Vekens, 16-Jun-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  (
 0 ... ( `  W ) )  /\  I  e.  ( 0..^ L ) )  ->  ( ( W prefix  L ) `  I
 )  =  ( W `
  I ) )
 
Theorempfxlen 11232 Length of a prefix. (Contributed by Stefan O'Rear, 24-Aug-2015.) (Revised by AV, 2-May-2020.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  (
 0 ... ( `  S ) ) )  ->  ( `  ( S prefix  L ) )  =  L )
 
Theorempfxid 11233 A word is a prefix of itself. (Contributed by Stefan O'Rear, 16-Aug-2015.) (Revised by AV, 2-May-2020.)
 |-  ( S  e. Word  A  ->  ( S prefix  ( `  S ) )  =  S )
 
Theorempfxrn 11234 The range of a prefix of a word is a subset of the set of symbols for the word. (Contributed by AV, 2-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  (
 0 ... ( `  W ) ) )  ->  ran  ( W prefix  L )  C_  V )
 
Theorempfxn0 11235 A prefix consisting of at least one symbol is not empty. (Contributed by Alexander van der Vekens, 4-Aug-2018.) (Revised by AV, 2-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  NN  /\  L  <_  ( `  W ) )  ->  ( W prefix  L )  =/=  (/) )
 
Theorempfxnd 11236 The value of a prefix operation for a length argument larger than the word length is the empty set. (This is due to our definition of function values for out-of-domain arguments, see ndmfvg 5660). (Contributed by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  NN0  /\  ( `  W )  <  L )  ->  ( W prefix  L )  =  (/) )
 
Theorempfxwrdsymbg 11237 A prefix of a word is a word over the symbols it consists of. (Contributed by AV, 3-Dec-2022.)
 |-  ( ( S  e. Word  A 
 /\  L  e.  NN0 )  ->  ( S prefix  L )  e. Word  ( S " ( 0..^ L ) ) )
 
Theoremaddlenpfx 11238 The sum of the lengths of two parts of a word is the length of the word. (Contributed by AV, 21-Oct-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... ( `  W ) ) )  ->  ( ( `  ( W prefix  M ) )  +  ( `  ( W substr  <. M ,  ( `  W ) >. ) ) )  =  ( `  W ) )
 
Theorempfxfv0 11239 The first symbol of a prefix is the first symbol of the word. (Contributed by Alexander van der Vekens, 16-Jun-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  (
 1 ... ( `  W ) ) )  ->  ( ( W prefix  L ) `  0 )  =  ( W `  0
 ) )
 
Theorempfxtrcfv 11240 A symbol in a word truncated by one symbol. (Contributed by Alexander van der Vekens, 16-Jun-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  W  =/=  (/)  /\  I  e.  ( 0..^ ( ( `  W )  -  1
 ) ) )  ->  ( ( W prefix  (
 ( `  W )  -  1 ) ) `  I )  =  ( W `  I ) )
 
Theorempfxtrcfv0 11241 The first symbol in a word truncated by one symbol. (Contributed by Alexander van der Vekens, 16-Jun-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  2  <_  ( `  W ) )  ->  ( ( W prefix  (
 ( `  W )  -  1 ) ) `  0 )  =  ( W `  0 ) )
 
Theorempfxfvlsw 11242 The last symbol in a nonempty prefix of a word. (Contributed by Alexander van der Vekens, 24-Jun-2018.) (Revised by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  (
 1 ... ( `  W ) ) )  ->  (lastS `  ( W prefix  L ) )  =  ( W `  ( L  -  1 ) ) )
 
Theorempfxeq 11243* The prefixes of two words are equal iff they have the same length and the same symbols at each position. (Contributed by Alexander van der Vekens, 7-Aug-2018.) (Revised by AV, 4-May-2020.)
 |-  ( ( ( W  e. Word  V  /\  U  e. Word  V )  /\  ( M  e.  NN0  /\  N  e.  NN0 )  /\  ( M 
 <_  ( `  W )  /\  N  <_  ( `  U ) ) )  ->  ( ( W prefix  M )  =  ( U prefix  N )  <->  ( M  =  N  /\  A. i  e.  ( 0..^ M ) ( W `  i
 )  =  ( U `
  i ) ) ) )
 
Theorempfxtrcfvl 11244 The last symbol in a word truncated by one symbol. (Contributed by AV, 16-Jun-2018.) (Revised by AV, 5-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  2  <_  ( `  W ) )  ->  (lastS `  ( W prefix  (
 ( `  W )  -  1 ) ) )  =  ( W `  ( ( `  W )  -  2 ) ) )
 
Theorempfxsuffeqwrdeq 11245 Two words are equal if and only if they have the same prefix and the same suffix. (Contributed by Alexander van der Vekens, 23-Sep-2018.) (Revised by AV, 5-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  S  e. Word  V  /\  I  e.  (
 0..^ ( `  W )
 ) )  ->  ( W  =  S  <->  ( ( `  W )  =  ( `  S )  /\  ( ( W prefix  I )  =  ( S prefix  I )  /\  ( W substr 
 <. I ,  ( `  W ) >. )  =  ( S substr  <. I ,  ( `  W ) >. ) ) ) ) )
 
Theorempfxsuff1eqwrdeq 11246 Two (nonempty) words are equal if and only if they have the same prefix and the same single symbol suffix. (Contributed by Alexander van der Vekens, 23-Sep-2018.) (Revised by AV, 6-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  U  e. Word  V  /\  0  <  ( `  W ) )  ->  ( W  =  U  <->  ( ( `  W )  =  ( `  U )  /\  ( ( W prefix 
 ( ( `  W )  -  1 ) )  =  ( U prefix  (
 ( `  W )  -  1 ) )  /\  (lastS `  W )  =  (lastS `  U )
 ) ) ) )
 
Theoremdisjwrdpfx 11247* Sets of words are disjoint if each set contains exactly the extensions of distinct words of a fixed length. Remark: A word  W is called an "extension" of a word  P if  P is a prefix of  W. (Contributed by AV, 29-Jul-2018.) (Revised by AV, 6-May-2020.)
 |- Disj  y  e.  W  { x  e. Word  V  |  ( x prefix  N )  =  y }
 
Theoremccatpfx 11248 Concatenating a prefix with an adjacent subword makes a longer prefix. (Contributed by AV, 7-May-2020.)
 |-  ( ( S  e. Word  A 
 /\  Y  e.  (
 0 ... Z )  /\  Z  e.  ( 0 ... ( `  S )
 ) )  ->  (
 ( S prefix  Y ) ++  ( S substr  <. Y ,  Z >. ) )  =  ( S prefix  Z )
 )
 
Theorempfxccat1 11249 Recover the left half of a concatenated word. (Contributed by Mario Carneiro, 27-Sep-2015.) (Revised by AV, 6-May-2020.)
 |-  ( ( S  e. Word  B 
 /\  T  e. Word  B )  ->  ( ( S ++ 
 T ) prefix  ( `  S ) )  =  S )
 
Theorempfx1 11250 The prefix of length one of a nonempty word expressed as a singleton word. (Contributed by AV, 15-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  W  =/=  (/) )  ->  ( W prefix  1 )  =  <" ( W `
  0 ) "> )
 
4.7.8  Subwords of subwords
 
Theoremswrdswrdlem 11251 Lemma for swrdswrd 11252. (Contributed by Alexander van der Vekens, 4-Apr-2018.)
 |-  ( ( ( W  e. Word  V  /\  N  e.  ( 0 ... ( `  W ) )  /\  M  e.  ( 0 ... N ) )  /\  ( K  e.  (
 0 ... ( N  -  M ) )  /\  L  e.  ( K ... ( N  -  M ) ) ) ) 
 ->  ( W  e. Word  V  /\  ( M  +  K )  e.  ( 0 ... ( M  +  L ) )  /\  ( M  +  L )  e.  ( 0 ... ( `  W ) ) ) )
 
Theoremswrdswrd 11252 A subword of a subword is a subword. (Contributed by Alexander van der Vekens, 4-Apr-2018.)
 |-  ( ( W  e. Word  V 
 /\  N  e.  (
 0 ... ( `  W ) )  /\  M  e.  ( 0 ... N ) )  ->  ( ( K  e.  ( 0
 ... ( N  -  M ) )  /\  L  e.  ( K ... ( N  -  M ) ) )  ->  ( ( W substr  <. M ,  N >. ) substr  <. K ,  L >. )  =  ( W substr  <. ( M  +  K ) ,  ( M  +  L ) >. ) ) )
 
Theorempfxswrd 11253 A prefix of a subword is a subword. (Contributed by AV, 2-Apr-2018.) (Revised by AV, 8-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  N  e.  (
 0 ... ( `  W ) )  /\  M  e.  ( 0 ... N ) )  ->  ( L  e.  ( 0 ... ( N  -  M ) )  ->  ( ( W substr  <. M ,  N >. ) prefix  L )  =  ( W substr  <. M ,  ( M  +  L ) >. ) ) )
 
Theoremswrdpfx 11254 A subword of a prefix is a subword. (Contributed by Alexander van der Vekens, 6-Apr-2018.) (Revised by AV, 8-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  N  e.  (
 0 ... ( `  W ) ) )  ->  ( ( K  e.  ( 0 ... N )  /\  L  e.  ( K ... N ) ) 
 ->  ( ( W prefix  N ) substr 
 <. K ,  L >. )  =  ( W substr  <. K ,  L >. ) ) )
 
Theorempfxpfx 11255 A prefix of a prefix is a prefix. (Contributed by Alexander van der Vekens, 7-Apr-2018.) (Revised by AV, 8-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  N  e.  (
 0 ... ( `  W ) )  /\  L  e.  ( 0 ... N ) )  ->  ( ( W prefix  N ) prefix  L )  =  ( W prefix  L ) )
 
Theorempfxpfxid 11256 A prefix of a prefix with the same length is the original prefix. In other words, the operation "prefix of length  N " is idempotent. (Contributed by AV, 5-Apr-2018.) (Revised by AV, 8-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  N  e.  (
 0 ... ( `  W ) ) )  ->  ( ( W prefix  N ) prefix  N )  =  ( W prefix  N ) )
 
4.7.9  Subwords and concatenations
 
Theorempfxcctswrd 11257 The concatenation of the prefix of a word and the rest of the word yields the word itself. (Contributed by AV, 21-Oct-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... ( `  W ) ) )  ->  ( ( W prefix  M ) ++  ( W substr  <. M ,  ( `  W ) >. ) )  =  W )
 
Theoremlenpfxcctswrd 11258 The length of the concatenation of the prefix of a word and the rest of the word is the length of the word. (Contributed by AV, 21-Oct-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... ( `  W ) ) )  ->  ( `  ( ( W prefix  M ) ++  ( W substr  <. M ,  ( `  W ) >. ) ) )  =  ( `  W ) )
 
Theoremlenrevpfxcctswrd 11259 The length of the concatenation of the rest of a word and the prefix of the word is the length of the word. (Contributed by Alexander van der Vekens, 1-Apr-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  M  e.  (
 0 ... ( `  W ) ) )  ->  ( `  ( ( W substr  <. M ,  ( `  W ) >. ) ++  ( W prefix  M ) ) )  =  ( `  W ) )
 
Theorempfxlswccat 11260 Reconstruct a nonempty word from its prefix and last symbol. (Contributed by Alexander van der Vekens, 5-Aug-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  W  =/=  (/) )  ->  ( ( W prefix  (
 ( `  W )  -  1 ) ) ++  <" (lastS `  W ) "> )  =  W )
 
Theoremccats1pfxeq 11261 The last symbol of a word concatenated with the word with the last symbol removed results in the word itself. (Contributed by Alexander van der Vekens, 24-Oct-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  U  e. Word  V  /\  ( `  U )  =  ( ( `  W )  +  1 )
 )  ->  ( W  =  ( U prefix  ( `  W ) )  ->  U  =  ( W ++  <" (lastS `  U ) "> ) ) )
 
Theoremccats1pfxeqrex 11262* There exists a symbol such that its concatenation after the prefix obtained by deleting the last symbol of a nonempty word results in the word itself. (Contributed by AV, 5-Oct-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  U  e. Word  V  /\  ( `  U )  =  ( ( `  W )  +  1 )
 )  ->  ( W  =  ( U prefix  ( `  W ) )  ->  E. s  e.  V  U  =  ( W ++  <" s "> ) ) )
 
Theoremccatopth 11263 An opth 4323-like theorem for recovering the two halves of a concatenated word. (Contributed by Mario Carneiro, 1-Oct-2015.) (Proof shortened by AV, 12-Oct-2022.)
 |-  ( ( ( A  e. Word  X  /\  B  e. Word  X )  /\  ( C  e. Word  X  /\  D  e. Word  X )  /\  ( `  A )  =  ( `  C ) )  ->  ( ( A ++  B )  =  ( C ++  D )  <-> 
 ( A  =  C  /\  B  =  D ) ) )
 
Theoremccatopth2 11264 An opth 4323-like theorem for recovering the two halves of a concatenated word. (Contributed by Mario Carneiro, 1-Oct-2015.)
 |-  ( ( ( A  e. Word  X  /\  B  e. Word  X )  /\  ( C  e. Word  X  /\  D  e. Word  X )  /\  ( `  B )  =  ( `  D ) )  ->  ( ( A ++  B )  =  ( C ++  D )  <-> 
 ( A  =  C  /\  B  =  D ) ) )
 
Theoremccatlcan 11265 Concatenation of words is left-cancellative. (Contributed by Mario Carneiro, 2-Oct-2015.)
 |-  ( ( A  e. Word  X 
 /\  B  e. Word  X  /\  C  e. Word  X )  ->  ( ( C ++  A )  =  ( C ++  B )  <->  A  =  B ) )
 
Theoremccatrcan 11266 Concatenation of words is right-cancellative. (Contributed by Mario Carneiro, 2-Oct-2015.)
 |-  ( ( A  e. Word  X 
 /\  B  e. Word  X  /\  C  e. Word  X )  ->  ( ( A ++  C )  =  ( B ++  C )  <->  A  =  B ) )
 
Theoremwrdeqs1cat 11267 Decompose a nonempty word by separating off the first symbol. (Contributed by Stefan O'Rear, 25-Aug-2015.) (Revised by Mario Carneiro, 1-Oct-2015.) (Proof shortened by AV, 12-Oct-2022.)
 |-  ( ( W  e. Word  A 
 /\  W  =/=  (/) )  ->  W  =  ( <" ( W `  0
 ) "> ++  ( W substr  <. 1 ,  ( `  W ) >. ) ) )
 
Theoremcats1un 11268 Express a word with an extra symbol as the union of the word and the new value. (Contributed by Mario Carneiro, 28-Feb-2016.)
 |-  ( ( A  e. Word  X 
 /\  B  e.  X )  ->  ( A ++  <" B "> )  =  ( A  u.  { <. ( `  A ) ,  B >. } ) )
 
Theoremwrdind 11269* Perform induction over the structure of a word. (Contributed by Mario Carneiro, 27-Sep-2015.) (Revised by Mario Carneiro, 26-Feb-2016.) (Proof shortened by AV, 12-Oct-2022.)
 |-  ( x  =  (/)  ->  ( ph  <->  ps ) )   &    |-  ( x  =  y  ->  (
 ph 
 <->  ch ) )   &    |-  ( x  =  ( y ++  <" z "> )  ->  ( ph  <->  th ) )   &    |-  ( x  =  A  ->  (
 ph 
 <->  ta ) )   &    |-  ps   &    |-  (
 ( y  e. Word  B  /\  z  e.  B )  ->  ( ch  ->  th ) )   =>    |-  ( A  e. Word  B  ->  ta )
 
Theoremwrd2ind 11270* Perform induction over the structure of two words of the same length. (Contributed by AV, 23-Jan-2019.) (Proof shortened by AV, 12-Oct-2022.)
 |-  ( ( x  =  (/)  /\  w  =  (/) )  ->  ( ph  <->  ps ) )   &    |-  (
 ( x  =  y 
 /\  w  =  u )  ->  ( ph  <->  ch ) )   &    |-  ( ( x  =  ( y ++  <" z "> )  /\  w  =  ( u ++  <" s "> ) )  ->  ( ph 
 <-> 
 th ) )   &    |-  ( x  =  A  ->  ( rh  <->  ta ) )   &    |-  ( w  =  B  ->  (
 ph 
 <->  rh ) )   &    |-  ps   &    |-  (
 ( ( y  e. Word  X  /\  z  e.  X )  /\  ( u  e. Word  Y  /\  s  e.  Y )  /\  ( `  y
 )  =  ( `  u ) )  ->  ( ch 
 ->  th ) )   =>    |-  ( ( A  e. Word  X  /\  B  e. Word  Y 
 /\  ( `  A )  =  ( `  B )
 )  ->  ta )
 
4.7.10  Subwords of concatenations
 
Theoremswrdccatfn 11271 The subword of a concatenation as function. (Contributed by Alexander van der Vekens, 27-May-2018.)
 |-  ( ( ( A  e. Word  V  /\  B  e. Word  V )  /\  ( M  e.  ( 0 ...
 N )  /\  N  e.  ( 0 ... (
 ( `  A )  +  ( `  B ) ) ) ) )  ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  Fn  ( 0..^ ( N  -  M ) ) )
 
Theoremswrdccatin1 11272 The subword of a concatenation of two words within the first of the concatenated words. (Contributed by Alexander van der Vekens, 28-Mar-2018.)
 |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( ( M  e.  ( 0 ...
 N )  /\  N  e.  ( 0 ... ( `  A ) ) ) 
 ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  =  ( A substr  <. M ,  N >. ) ) )
 
Theorempfxccatin12lem4 11273 Lemma 4 for pfxccatin12 11280. (Contributed by Alexander van der Vekens, 30-Mar-2018.) (Revised by Alexander van der Vekens, 23-May-2018.)
 |-  ( ( L  e.  NN0  /\  M  e.  NN0  /\  N  e.  ZZ )  ->  (
 ( K  e.  (
 0..^ ( N  -  M ) )  /\  -.  K  e.  ( 0..^ ( L  -  M ) ) )  ->  K  e.  ( ( L  -  M )..^ ( ( L  -  M )  +  ( N  -  L ) ) ) ) )
 
Theorempfxccatin12lem2a 11274 Lemma for pfxccatin12lem2 11278. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 27-May-2018.)
 |-  ( ( M  e.  ( 0 ... L )  /\  N  e.  ( L ... X ) ) 
 ->  ( ( K  e.  ( 0..^ ( N  -  M ) )  /\  -.  K  e.  ( 0..^ ( L  -  M ) ) )  ->  ( K  +  M )  e.  ( L..^ X ) ) )
 
Theorempfxccatin12lem1 11275 Lemma 1 for pfxccatin12 11280. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( M  e.  ( 0 ... L )  /\  N  e.  ( L ... X ) ) 
 ->  ( ( K  e.  ( 0..^ ( N  -  M ) )  /\  -.  K  e.  ( 0..^ ( L  -  M ) ) )  ->  ( K  -  ( L  -  M ) )  e.  ( 0..^ ( N  -  L ) ) ) )
 
Theoremswrdccatin2 11276 The subword of a concatenation of two words within the second of the concatenated words. (Contributed by Alexander van der Vekens, 28-Mar-2018.) (Revised by Alexander van der Vekens, 27-May-2018.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( ( M  e.  ( L ... N )  /\  N  e.  ( L ... ( L  +  ( `  B ) ) ) ) 
 ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  =  ( B substr  <. ( M  -  L ) ,  ( N  -  L ) >. ) ) )
 
Theorempfxccatin12lem2c 11277 Lemma for pfxccatin12lem2 11278 and pfxccatin12lem3 11279. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 27-May-2018.)
 |-  L  =  ( `  A )   =>    |-  ( ( ( A  e. Word  V  /\  B  e. Word  V )  /\  ( M  e.  ( 0 ...
 L )  /\  N  e.  ( L ... ( L  +  ( `  B ) ) ) ) )  ->  ( ( A ++  B )  e. Word  V  /\  M  e.  ( 0
 ... N )  /\  N  e.  ( 0 ... ( `  ( A ++  B ) ) ) ) )
 
Theorempfxccatin12lem2 11278 Lemma 2 for pfxccatin12 11280. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 9-May-2020.)
 |-  L  =  ( `  A )   =>    |-  ( ( ( A  e. Word  V  /\  B  e. Word  V )  /\  ( M  e.  ( 0 ...
 L )  /\  N  e.  ( L ... ( L  +  ( `  B ) ) ) ) )  ->  ( ( K  e.  ( 0..^ ( N  -  M ) )  /\  -.  K  e.  ( 0..^ ( L  -  M ) ) )  ->  ( (
 ( A ++  B ) substr  <. M ,  N >. ) `
  K )  =  ( ( B prefix  ( N  -  L ) ) `
  ( K  -  ( `  ( A substr  <. M ,  L >. ) ) ) ) ) )
 
Theorempfxccatin12lem3 11279 Lemma 3 for pfxccatin12 11280. (Contributed by AV, 30-Mar-2018.) (Revised by AV, 27-May-2018.)
 |-  L  =  ( `  A )   =>    |-  ( ( ( A  e. Word  V  /\  B  e. Word  V )  /\  ( M  e.  ( 0 ...
 L )  /\  N  e.  ( L ... ( L  +  ( `  B ) ) ) ) )  ->  ( ( K  e.  ( 0..^ ( N  -  M ) )  /\  K  e.  ( 0..^ ( L  -  M ) ) ) 
 ->  ( ( ( A ++ 
 B ) substr  <. M ,  N >. ) `  K )  =  ( ( A substr 
 <. M ,  L >. ) `
  K ) ) )
 
Theorempfxccatin12 11280 The subword of a concatenation of two words within both of the concatenated words. (Contributed by Alexander van der Vekens, 5-Apr-2018.) (Revised by AV, 9-May-2020.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( ( M  e.  ( 0 ...
 L )  /\  N  e.  ( L ... ( L  +  ( `  B ) ) ) ) 
 ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  =  ( ( A substr  <. M ,  L >. ) ++  ( B prefix  ( N  -  L ) ) ) ) )
 
Theorempfxccat3 11281 The subword of a concatenation is either a subword of the first concatenated word or a subword of the second concatenated word or a concatenation of a suffix of the first word with a prefix of the second word. (Contributed by Alexander van der Vekens, 30-Mar-2018.) (Revised by AV, 10-May-2020.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( ( M  e.  ( 0 ...
 N )  /\  N  e.  ( 0 ... ( L  +  ( `  B ) ) ) ) 
 ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  =  if ( N 
 <_  L ,  ( A substr  <. M ,  N >. ) ,  if ( L 
 <_  M ,  ( B substr  <. ( M  -  L ) ,  ( N  -  L ) >. ) ,  ( ( A substr  <. M ,  L >. ) ++  ( B prefix 
 ( N  -  L ) ) ) ) ) ) )
 
Theoremswrdccat 11282 The subword of a concatenation of two words as concatenation of subwords of the two concatenated words. (Contributed by Alexander van der Vekens, 29-May-2018.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( ( M  e.  ( 0 ...
 N )  /\  N  e.  ( 0 ... ( L  +  ( `  B ) ) ) ) 
 ->  ( ( A ++  B ) substr 
 <. M ,  N >. )  =  ( ( A substr  <. M ,  if ( N  <_  L ,  N ,  L ) >. ) ++  ( B substr 
 <. if ( 0  <_  ( M  -  L ) ,  ( M  -  L ) ,  0 ) ,  ( N  -  L ) >. ) ) ) )
 
Theorempfxccatpfx1 11283 A prefix of a concatenation being a prefix of the first concatenated word. (Contributed by AV, 10-May-2020.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V  /\  N  e.  ( 0
 ... L ) ) 
 ->  ( ( A ++  B ) prefix  N )  =  ( A prefix  N ) )
 
Theorempfxccatpfx2 11284 A prefix of a concatenation of two words being the first word concatenated with a prefix of the second word. (Contributed by AV, 10-May-2020.)
 |-  L  =  ( `  A )   &    |-  M  =  ( `  B )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V  /\  N  e.  ( ( L  +  1 )
 ... ( L  +  M ) ) ) 
 ->  ( ( A ++  B ) prefix  N )  =  ( A ++  ( B prefix  ( N  -  L ) ) ) )
 
Theorempfxccat3a 11285 A prefix of a concatenation is either a prefix of the first concatenated word or a concatenation of the first word with a prefix of the second word. (Contributed by Alexander van der Vekens, 31-Mar-2018.) (Revised by AV, 10-May-2020.)
 |-  L  =  ( `  A )   &    |-  M  =  ( `  B )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( N  e.  ( 0 ... ( L  +  M )
 )  ->  ( ( A ++  B ) prefix  N )  =  if ( N 
 <_  L ,  ( A prefix  N ) ,  ( A ++  ( B prefix  ( N  -  L ) ) ) ) ) )
 
Theoremswrdccat3blem 11286 Lemma for swrdccat3b 11287. (Contributed by AV, 30-May-2018.)
 |-  L  =  ( `  A )   =>    |-  ( ( ( ( A  e. Word  V  /\  B  e. Word  V )  /\  M  e.  ( 0 ... ( L  +  ( `  B ) ) ) )  /\  ( L  +  ( `  B ) )  <_  L ) 
 ->  if ( L  <_  M ,  ( B substr  <. ( M  -  L ) ,  ( `  B ) >. ) ,  ( ( A substr  <. M ,  L >. ) ++  B ) )  =  ( A substr  <. M ,  ( L  +  ( `  B ) ) >. ) )
 
Theoremswrdccat3b 11287 A suffix of a concatenation is either a suffix of the second concatenated word or a concatenation of a suffix of the first word with the second word. (Contributed by Alexander van der Vekens, 31-Mar-2018.) (Revised by Alexander van der Vekens, 30-May-2018.) (Proof shortened by AV, 14-Oct-2022.)
 |-  L  =  ( `  A )   =>    |-  ( ( A  e. Word  V 
 /\  B  e. Word  V )  ->  ( M  e.  ( 0 ... ( L  +  ( `  B ) ) )  ->  ( ( A ++  B ) substr 
 <. M ,  ( L  +  ( `  B ) ) >. )  =  if ( L  <_  M ,  ( B substr  <. ( M  -  L ) ,  ( `  B ) >. ) ,  ( ( A substr  <. M ,  L >. ) ++  B ) ) ) )
 
Theorempfxccatid 11288 A prefix of a concatenation of length of the first concatenated word is the first word itself. (Contributed by Alexander van der Vekens, 20-Sep-2018.) (Revised by AV, 10-May-2020.)
 |-  ( ( A  e. Word  V 
 /\  B  e. Word  V  /\  N  =  ( `  A ) )  ->  ( ( A ++  B ) prefix  N )  =  A )
 
Theoremccats1pfxeqbi 11289 A word is a prefix of a word with length greater by 1 than the first word iff the second word is the first word concatenated with the last symbol of the second word. (Contributed by AV, 24-Oct-2018.) (Revised by AV, 10-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  U  e. Word  V  /\  ( `  U )  =  ( ( `  W )  +  1 )
 )  ->  ( W  =  ( U prefix  ( `  W ) )  <->  U  =  ( W ++  <" (lastS `  U ) "> ) ) )
 
Theoremswrdccatin1d 11290 The subword of a concatenation of two words within the first of the concatenated words. (Contributed by AV, 31-May-2018.) (Revised by Mario Carneiro/AV, 21-Oct-2018.)
 |-  ( ph  ->  ( `  A )  =  L )   &    |-  ( ph  ->  ( A  e. Word  V  /\  B  e. Word  V ) )   &    |-  ( ph  ->  M  e.  (
 0 ... N ) )   &    |-  ( ph  ->  N  e.  ( 0 ... L ) )   =>    |-  ( ph  ->  (
 ( A ++  B ) substr  <. M ,  N >. )  =  ( A substr  <. M ,  N >. ) )
 
Theoremswrdccatin2d 11291 The subword of a concatenation of two words within the second of the concatenated words. (Contributed by AV, 31-May-2018.) (Revised by Mario Carneiro/AV, 21-Oct-2018.)
 |-  ( ph  ->  ( `  A )  =  L )   &    |-  ( ph  ->  ( A  e. Word  V  /\  B  e. Word  V ) )   &    |-  ( ph  ->  M  e.  ( L ... N ) )   &    |-  ( ph  ->  N  e.  ( L ... ( L  +  ( `  B ) ) ) )   =>    |-  ( ph  ->  ( ( A ++  B ) substr  <. M ,  N >. )  =  ( B substr  <. ( M  -  L ) ,  ( N  -  L ) >. ) )
 
Theorempfxccatin12d 11292 The subword of a concatenation of two words within both of the concatenated words. (Contributed by AV, 31-May-2018.) (Revised by AV, 10-May-2020.)
 |-  ( ph  ->  ( `  A )  =  L )   &    |-  ( ph  ->  ( A  e. Word  V  /\  B  e. Word  V ) )   &    |-  ( ph  ->  M  e.  (
 0 ... L ) )   &    |-  ( ph  ->  N  e.  ( L ... ( L  +  ( `  B ) ) ) )   =>    |-  ( ph  ->  ( ( A ++  B ) substr  <. M ,  N >. )  =  ( ( A substr  <. M ,  L >. ) ++  ( B prefix 
 ( N  -  L ) ) ) )
 
Theoremreuccatpfxs1lem 11293* Lemma for reuccatpfxs1 11294. (Contributed by Alexander van der Vekens, 5-Oct-2018.) (Revised by AV, 9-May-2020.)
 |-  ( ( ( W  e. Word  V  /\  U  e.  X )  /\  A. s  e.  V  ( ( W ++ 
 <" s "> )  e.  X  ->  S  =  s )  /\  A. x  e.  X  ( x  e. Word  V  /\  ( `  x )  =  ( ( `  W )  +  1 )
 ) )  ->  ( W  =  ( U prefix  ( `  W ) )  ->  U  =  ( W ++  <" S "> )
 ) )
 
Theoremreuccatpfxs1 11294* There is a unique word having the length of a given word increased by 1 with the given word as prefix if there is a unique symbol which extends the given word. (Contributed by Alexander van der Vekens, 6-Oct-2018.) (Revised by AV, 21-Jan-2022.) (Revised by AV, 13-Oct-2022.)
 |-  F/_ v X   =>    |-  ( ( W  e. Word  V 
 /\  A. x  e.  X  ( x  e. Word  V  /\  ( `  x )  =  ( ( `  W )  +  1 )
 ) )  ->  ( E! v  e.  V  ( W ++  <" v "> )  e.  X  ->  E! x  e.  X  W  =  ( x prefix  ( `  W ) ) ) )
 
Theoremreuccatpfxs1v 11295* There is a unique word having the length of a given word increased by 1 with the given word as prefix if there is a unique symbol which extends the given word. (Contributed by Alexander van der Vekens, 6-Oct-2018.) (Revised by AV, 21-Jan-2022.) (Revised by AV, 10-May-2022.) (Proof shortened by AV, 13-Oct-2022.)
 |-  ( ( W  e. Word  V 
 /\  A. x  e.  X  ( x  e. Word  V  /\  ( `  x )  =  ( ( `  W )  +  1 )
 ) )  ->  ( E! v  e.  V  ( W ++  <" v "> )  e.  X  ->  E! x  e.  X  W  =  ( x prefix  ( `  W ) ) ) )
 
4.7.11  Longer string literals
 
Syntaxcs2 11296 Syntax for the length 2 word constructor.
 class  <" A B ">
 
Syntaxcs3 11297 Syntax for the length 3 word constructor.
 class  <" A B C ">
 
Syntaxcs4 11298 Syntax for the length 4 word constructor.
 class  <" A B C D ">
 
Syntaxcs5 11299 Syntax for the length 5 word constructor.
 class  <" A B C D E ">
 
Syntaxcs6 11300 Syntax for the length 6 word constructor.
 class  <" A B C D E F ">
    < Previous  Next >

Page List
Jump to page: Contents  1 1-100 2 101-200 3 201-300 4 301-400 5 401-500 6 501-600 7 601-700 8 701-800 9 801-900 10 901-1000 11 1001-1100 12 1101-1200 13 1201-1300 14 1301-1400 15 1401-1500 16 1501-1600 17 1601-1700 18 1701-1800 19 1801-1900 20 1901-2000 21 2001-2100 22 2101-2200 23 2201-2300 24 2301-2400 25 2401-2500 26 2501-2600 27 2601-2700 28 2701-2800 29 2801-2900 30 2901-3000 31 3001-3100 32 3101-3200 33 3201-3300 34 3301-3400 35 3401-3500 36 3501-3600 37 3601-3700 38 3701-3800 39 3801-3900 40 3901-4000 41 4001-4100 42 4101-4200 43 4201-4300 44 4301-4400 45 4401-4500 46 4501-4600 47 4601-4700 48 4701-4800 49 4801-4900 50 4901-5000 51 5001-5100 52 5101-5200 53 5201-5300 54 5301-5400 55 5401-5500 56 5501-5600 57 5601-5700 58 5701-5800 59 5801-5900 60 5901-6000 61 6001-6100 62 6101-6200 63 6201-6300 64 6301-6400 65 6401-6500 66 6501-6600 67 6601-6700 68 6701-6800 69 6801-6900 70 6901-7000 71 7001-7100 72 7101-7200 73 7201-7300 74 7301-7400 75 7401-7500 76 7501-7600 77 7601-7700 78 7701-7800 79 7801-7900 80 7901-8000 81 8001-8100 82 8101-8200 83 8201-8300 84 8301-8400 85 8401-8500 86 8501-8600 87 8601-8700 88 8701-8800 89 8801-8900 90 8901-9000 91 9001-9100 92 9101-9200 93 9201-9300 94 9301-9400 95 9401-9500 96 9501-9600 97 9601-9700 98 9701-9800 99 9801-9900 100 9901-10000 101 10001-10100 102 10101-10200 103 10201-10300 104 10301-10400 105 10401-10500 106 10501-10600 107 10601-10700 108 10701-10800 109 10801-10900 110 10901-11000 111 11001-11100 112 11101-11200 113 11201-11300 114 11301-11400 115 11401-11500 116 11501-11600 117 11601-11700 118 11701-11800 119 11801-11900 120 11901-12000 121 12001-12100 122 12101-12200 123 12201-12300 124 12301-12400 125 12401-12500 126 12501-12600 127 12601-12700 128 12701-12800 129 12801-12900 130 12901-13000 131 13001-13100 132 13101-13200 133 13201-13300 134 13301-13400 135 13401-13500 136 13501-13600 137 13601-13700 138 13701-13800 139 13801-13900 140 13901-14000 141 14001-14100 142 14101-14200 143 14201-14300 144 14301-14400 145 14401-14500 146 14501-14600 147 14601-14700 148 14701-14800 149 14801-14900 150 14901-15000 151 15001-15100 152 15101-15200 153 15201-15300 154 15301-15400 155 15401-15500 156 15501-15600 157 15601-15700 158 15701-15800 159 15801-15900 160 15901-16000 161 16001-16100 162 16101-16200 163 16201-16300 164 16301-16400 165 16401-16500 166 16501-16512
  Copyright terms: Public domain < Previous  Next >