HomeHome Intuitionistic Logic Explorer
Theorem List (p. 113 of 165)
< 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
 
Theorempfxval 11201 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 11202 The zero length prefix is the empty set. (Contributed by AV, 2-May-2020.)
 |-  ( S  e.  V  ->  ( S prefix  0 )  =  (/) )
 
Theorempfx0g 11203 A prefix of an empty set is always the empty set. (Contributed by AV, 3-May-2020.)
 |-  ( L  e.  NN0  ->  ( (/) prefix  L )  =  (/) )
 
Theoremfnpfx 11204 The domain of the prefix extractor. (Contributed by Jim Kingdon, 8-Jan-2026.)
 |- prefix  Fn  ( _V  X.  NN0 )
 
Theorempfxclg 11205 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 11206 Closure of the prefix extractor. This extends pfxclg 11205 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 11207* 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 11208 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 11209 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 11210 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 11211 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 11212 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 11213 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 11214 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 11215 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 11216 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 5657). (Contributed by AV, 3-May-2020.)
 |-  ( ( W  e. Word  V 
 /\  L  e.  NN0  /\  ( `  W )  <  L )  ->  ( W prefix  L )  =  (/) )
 
Theorempfxwrdsymbg 11217 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 11218 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 11219 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 11220 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 11221 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 11222 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 11223* 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 11224 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 11225 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 11226 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 11227* 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 11228 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 11229 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 11230 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 11231 Lemma for swrdswrd 11232. (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 11232 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 11233 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 11234 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 11235 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 11236 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 11237 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 11238 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 11239 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 11240 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 11241 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 11242* 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 11243 An opth 4322-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 11244 An opth 4322-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 11245 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 11246 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 11247 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 11248 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 11249* 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 11250* 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 11251 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 11252 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 11253 Lemma 4 for pfxccatin12 11260. (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 11254 Lemma for pfxccatin12lem2 11258. (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 11255 Lemma 1 for pfxccatin12 11260. (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 11256 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 11257 Lemma for pfxccatin12lem2 11258 and pfxccatin12lem3 11259. (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 11258 Lemma 2 for pfxccatin12 11260. (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 11259 Lemma 3 for pfxccatin12 11260. (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 11260 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 11261 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 11262 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 11263 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 11264 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 11265 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 11266 Lemma for swrdccat3b 11267. (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 11267 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 11268 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 11269 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 11270 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 11271 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 11272 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 11273* Lemma for reuccatpfxs1 11274. (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 11274* 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 11275* 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 11276 Syntax for the length 2 word constructor.
 class  <" A B ">
 
Syntaxcs3 11277 Syntax for the length 3 word constructor.
 class  <" A B C ">
 
Syntaxcs4 11278 Syntax for the length 4 word constructor.
 class  <" A B C D ">
 
Syntaxcs5 11279 Syntax for the length 5 word constructor.
 class  <" A B C D E ">
 
Syntaxcs6 11280 Syntax for the length 6 word constructor.
 class  <" A B C D E F ">
 
Syntaxcs7 11281 Syntax for the length 7 word constructor.
 class  <" A B C D E F G ">
 
Syntaxcs8 11282 Syntax for the length 8 word constructor.
 class  <" A B C D E F G H ">
 
Definitiondf-s2 11283 Define the length 2 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B ">  =  ( <" A "> ++  <" B "> )
 
Definitiondf-s3 11284 Define the length 3 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C ">  =  ( <" A B "> ++  <" C "> )
 
Definitiondf-s4 11285 Define the length 4 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C D ">  =  ( <" A B C "> ++  <" D "> )
 
Definitiondf-s5 11286 Define the length 5 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C D E ">  =  ( <" A B C D "> ++  <" E "> )
 
Definitiondf-s6 11287 Define the length 6 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C D E F ">  =  ( <" A B C D E "> ++  <" F "> )
 
Definitiondf-s7 11288 Define the length 7 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C D E F G ">  =  ( <" A B C D E F "> ++  <" G "> )
 
Definitiondf-s8 11289 Define the length 8 word constructor. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |- 
 <" A B C D E F G H ">  =  ( <" A B C D E F G "> ++  <" H "> )
 
Theoremcats1cld 11290 Closure of concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  ( ph  ->  S  e. Word  A )   &    |-  ( ph  ->  X  e.  A )   =>    |-  ( ph  ->  T  e. Word  A )
 
Theoremcats1fvn 11291 The last symbol of a concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  S  e. Word  _V   &    |-  ( `  S )  =  M   =>    |-  ( X  e.  V  ->  ( T `  M )  =  X )
 
Theoremcats1fvnd 11292 The last symbol of a concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.) (Revised by Jim Kingdon, 20-Jan-2026.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  ( ph  ->  S  e. Word  _V )   &    |-  ( ph  ->  X  e.  V )   &    |-  ( ph  ->  ( `  S )  =  M )   =>    |-  ( ph  ->  ( T `  M )  =  X )
 
Theoremcats1fvd 11293 A symbol other than the last in a concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.) (Revised by Jim Kingdon, 20-Jan-2026.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  ( ph  ->  S  e. Word  _V )   &    |-  ( ph  ->  ( `  S )  =  M )   &    |-  ( ph  ->  Y  e.  V )   &    |-  ( ph  ->  X  e.  W )   &    |-  ( ph  ->  ( S `  N )  =  Y )   &    |-  ( ph  ->  N  e.  NN0 )   &    |-  ( ph  ->  N  <  M )   =>    |-  ( ph  ->  ( T `  N )  =  Y )
 
Theoremcats1lend 11294 The length of concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.) (Revised by Jim Kingdon, 19-Jan-2026.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  ( ph  ->  S  e. Word  _V )   &    |-  ( ph  ->  X  e.  W )   &    |-  ( `  S )  =  M   &    |-  ( M  +  1 )  =  N   =>    |-  ( ph  ->  ( `  T )  =  N )
 
Theoremcats1catd 11295 Closure of concatenation with a singleton word. (Contributed by Mario Carneiro, 26-Feb-2016.) (Revised by Jim Kingdon, 19-Jan-2026.)
 |-  T  =  ( S ++ 
 <" X "> )   &    |-  ( ph  ->  A  e. Word  _V )   &    |-  ( ph  ->  S  e. Word  _V )   &    |-  ( ph  ->  X  e.  W )   &    |-  ( ph  ->  C  =  ( B ++  <" X "> ) )   &    |-  ( ph  ->  B  =  ( A ++  S ) )   =>    |-  ( ph  ->  C  =  ( A ++  T ) )
 
Theoremcats2catd 11296 Closure of concatenation of concatenations with singleton words. (Contributed by AV, 1-Mar-2021.) (Revised by Jim Kingdon, 19-Jan-2026.)
 |-  ( ph  ->  B  e. Word  _V )   &    |-  ( ph  ->  D  e. Word  _V )   &    |-  ( ph  ->  X  e.  V )   &    |-  ( ph  ->  Y  e.  W )   &    |-  ( ph  ->  A  =  ( B ++  <" X "> ) )   &    |-  ( ph  ->  C  =  (
 <" Y "> ++  D ) )   =>    |-  ( ph  ->  ( A ++  C )  =  ( ( B ++  <" X Y "> ) ++  D ) )
 
Theorems2eqd 11297 Equality theorem for a doubleton word. (Contributed by Mario Carneiro, 27-Feb-2016.)
 |-  ( ph  ->  A  =  N )   &    |-  ( ph  ->  B  =  O )   =>    |-  ( ph  ->  <" A B ">  = 
 <" N O "> )
 
Theorems3eqd 11298 Equality theorem for a length 3 word. (Contributed by Mario Carneiro, 27-Feb-2016.)
 |-  ( ph  ->  A  =  N )   &    |-  ( ph  ->  B  =  O )   &    |-  ( ph  ->  C  =  P )   =>    |-  ( ph  ->  <" A B C ">  =  <" N O P "> )
 
Theorems4eqd 11299 Equality theorem for a length 4 word. (Contributed by Mario Carneiro, 27-Feb-2016.)
 |-  ( ph  ->  A  =  N )   &    |-  ( ph  ->  B  =  O )   &    |-  ( ph  ->  C  =  P )   &    |-  ( ph  ->  D  =  Q )   =>    |-  ( ph  ->  <" A B C D ">  = 
 <" N O P Q "> )
 
Theorems5eqd 11300 Equality theorem for a length 5 word. (Contributed by Mario Carneiro, 27-Feb-2016.)
 |-  ( ph  ->  A  =  N )   &    |-  ( ph  ->  B  =  O )   &    |-  ( ph  ->  C  =  P )   &    |-  ( ph  ->  D  =  Q )   &    |-  ( ph  ->  E  =  R )   =>    |-  ( ph  ->  <" A B C D E ">  =  <" N O P Q R "> )
    < 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-16411
  Copyright terms: Public domain < Previous  Next >