HomeHome Metamath Proof Explorer
Theorem List (p. 143 of 463)
< Previous  Next >
Bad symbols? Try the
GIF version.

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

Color key:    Metamath Proof Explorer  Metamath Proof Explorer
(1-29026)
  Hilbert Space Explorer  Hilbert Space Explorer
(29027-30549)
  Users' Mathboxes  Users' Mathboxes
(30550-46211)
 

Theorem List for Metamath Proof Explorer - 14201-14300   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
5.7.5  Concatenations with singleton words
 
Theoremccatws1cl 14201 The concatenation of a word with a singleton word is a word. (Contributed by Alexander van der Vekens, 22-Sep-2018.)
((𝑊 ∈ Word 𝑉𝑋𝑉) → (𝑊 ++ ⟨“𝑋”⟩) ∈ Word 𝑉)
 
Theoremccatws1clv 14202 The concatenation of a word with a singleton word (which can be over a different alphabet) is a word. (Contributed by AV, 5-Mar-2022.)
(𝑊 ∈ Word 𝑉 → (𝑊 ++ ⟨“𝑋”⟩) ∈ Word V)
 
Theoremccat2s1cl 14203 The concatenation of two singleton words is a word. (Contributed by Alexander van der Vekens, 22-Sep-2018.)
((𝑋𝑉𝑌𝑉) → (⟨“𝑋”⟩ ++ ⟨“𝑌”⟩) ∈ Word 𝑉)
 
Theoremccats1alpha 14204 A concatenation of a word with a singleton word is a word over an alphabet 𝑆 iff the symbols of both words belong to the alphabet 𝑆. (Contributed by AV, 27-Mar-2022.)
((𝐴 ∈ Word 𝑉𝑋𝑈) → ((𝐴 ++ ⟨“𝑋”⟩) ∈ Word 𝑆 ↔ (𝐴 ∈ Word 𝑆𝑋𝑆)))
 
Theoremccatws1len 14205 The length of the concatenation of a word with a singleton word. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by AV, 4-Mar-2022.)
(𝑊 ∈ Word 𝑉 → (♯‘(𝑊 ++ ⟨“𝑋”⟩)) = ((♯‘𝑊) + 1))
 
Theoremccatws1lenp1b 14206 The length of a word is 𝑁 iff the length of the concatenation of the word with a singleton word is 𝑁 + 1. (Contributed by AV, 4-Mar-2022.)
((𝑊 ∈ Word 𝑉𝑁 ∈ ℕ0) → ((♯‘(𝑊 ++ ⟨“𝑋”⟩)) = (𝑁 + 1) ↔ (♯‘𝑊) = 𝑁))
 
Theoremwrdlenccats1lenm1 14207 The length of a word is the length of the word concatenated with a singleton word minus 1. (Contributed by AV, 28-Jun-2018.) (Revised by AV, 5-Mar-2022.)
(𝑊 ∈ Word 𝑉 → ((♯‘(𝑊 ++ ⟨“𝑆”⟩)) − 1) = (♯‘𝑊))
 
Theoremccat2s1len 14208 The length of the concatenation of two singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by JJ, 14-Jan-2024.)
(♯‘(⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)) = 2
 
Theoremccat2s1lenOLD 14209 Obsolete version of ccat2s1len 14208 as of 14-Jan-2024. The length of the concatenation of two singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝑋𝑉𝑌𝑉) → (♯‘(⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)) = 2)
 
Theoremccatw2s1cl 14210 The concatenation of a word with two singleton words is a word. (Contributed by Alexander van der Vekens, 22-Sep-2018.)
((𝑊 ∈ Word 𝑉𝑋𝑉𝑌𝑉) → ((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩) ∈ Word 𝑉)
 
Theoremccatw2s1len 14211 The length of the concatenation of a word with two singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by AV, 5-Mar-2022.)
(𝑊 ∈ Word 𝑉 → (♯‘((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)) = ((♯‘𝑊) + 2))
 
Theoremccats1val1 14212 Value of a symbol in the left half of a word concatenated with a single symbol. (Contributed by Alexander van der Vekens, 5-Aug-2018.) (Revised by JJ, 20-Jan-2024.)
((𝑊 ∈ Word 𝑉𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 ++ ⟨“𝑆”⟩)‘𝐼) = (𝑊𝐼))
 
Theoremccats1val1OLD 14213 Obsolete version of ccats1val1 14212 as of 20-Jan-2024. Value of a symbol in the left half of a word concatenated with a single symbol. (Contributed by Alexander van der Vekens, 5-Aug-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝑊 ∈ Word 𝑉𝑆𝑉𝐼 ∈ (0..^(♯‘𝑊))) → ((𝑊 ++ ⟨“𝑆”⟩)‘𝐼) = (𝑊𝐼))
 
Theoremccats1val2 14214 Value of the symbol concatenated with a word. (Contributed by Alexander van der Vekens, 5-Aug-2018.) (Proof shortened by Alexander van der Vekens, 14-Oct-2018.)
((𝑊 ∈ Word 𝑉𝑆𝑉𝐼 = (♯‘𝑊)) → ((𝑊 ++ ⟨“𝑆”⟩)‘𝐼) = 𝑆)
 
Theoremccat1st1st 14215 The first symbol of a word concatenated with its first symbol is the first symbol of the word. This theorem holds even if 𝑊 is the empty word. (Contributed by AV, 26-Mar-2022.)
(𝑊 ∈ Word 𝑉 → ((𝑊 ++ ⟨“(𝑊‘0)”⟩)‘0) = (𝑊‘0))
 
Theoremccat2s1p1 14216 Extract the first of two concatenated singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by JJ, 20-Jan-2024.)
(𝑋𝑉 → ((⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)‘0) = 𝑋)
 
Theoremccat2s1p2 14217 Extract the second of two concatenated singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by JJ, 20-Jan-2024.)
(𝑌𝑉 → ((⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)‘1) = 𝑌)
 
Theoremccat2s1p1OLD 14218 Obsolete version of ccat2s1p1 14216 as of 20-Jan-2024. Extract the first of two concatenated singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝑋𝑉𝑌𝑉) → ((⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)‘0) = 𝑋)
 
Theoremccat2s1p2OLD 14219 Obsolete version of ccat2s1p2 14217 as of 20-Jan-2024. Extract the second of two concatenated singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝑋𝑉𝑌𝑉) → ((⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)‘1) = 𝑌)
 
Theoremccatw2s1ass 14220 Associative law for a concatenation of a word with two singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.)
(𝑊 ∈ Word 𝑉 → ((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩) = (𝑊 ++ (⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)))
 
Theoremccatw2s1assOLD 14221 Obsolete version of ccatw2s1ass 14220 as of 29-Jan-2024. Associative law for a concatenation of a word with two singleton words. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof modification is discouraged.) (New usage is discouraged.)
((𝑊 ∈ Word 𝑉𝑋𝑉𝑌𝑉) → ((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩) = (𝑊 ++ (⟨“𝑋”⟩ ++ ⟨“𝑌”⟩)))
 
Theoremccatws1n0 14222 The concatenation of a word with a singleton word is not the empty set. (Contributed by Alexander van der Vekens, 29-Sep-2018.) (Revised by AV, 5-Mar-2022.)
(𝑊 ∈ Word 𝑉 → (𝑊 ++ ⟨“𝑋”⟩) ≠ ∅)
 
Theoremccatws1ls 14223 The last symbol of the concatenation of a word with a singleton word is the symbol of the singleton word. (Contributed by AV, 29-Sep-2018.) (Proof shortened by AV, 14-Oct-2018.)
((𝑊 ∈ Word 𝑉𝑋𝑉) → ((𝑊 ++ ⟨“𝑋”⟩)‘(♯‘𝑊)) = 𝑋)
 
Theoremlswccats1 14224 The last symbol of a word concatenated with a singleton word is the symbol of the singleton word. (Contributed by AV, 6-Aug-2018.) (Proof shortened by AV, 22-Oct-2018.)
((𝑊 ∈ Word 𝑉𝑆𝑉) → (lastS‘(𝑊 ++ ⟨“𝑆”⟩)) = 𝑆)
 
Theoremlswccats1fst 14225 The last symbol of a nonempty word concatenated with its first symbol is the first symbol. (Contributed by AV, 28-Jun-2018.) (Proof shortened by AV, 1-May-2020.)
((𝑃 ∈ Word 𝑉 ∧ 1 ≤ (♯‘𝑃)) → (lastS‘(𝑃 ++ ⟨“(𝑃‘0)”⟩)) = ((𝑃 ++ ⟨“(𝑃‘0)”⟩)‘0))
 
Theoremccatw2s1p1 14226 Extract the symbol of the first singleton word of a word concatenated with this singleton word and another singleton word. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof shortened by AV, 1-May-2020.) (Revised by AV, 1-May-2020.) (Revised by AV, 29-Jan-2024.)
((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁𝑋𝑉) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘𝑁) = 𝑋)
 
Theoremccatw2s1p1OLD 14227 Obsolete version of ccatw2s1p1 14226 as of 29-Jan-2024. Extract the symbol of the first singleton word of a word concatenated with this singleton word and another singleton word. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof shortened by AV, 1-May-2020.) (Proof modification is discouraged.) (New usage is discouraged.)
(((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁) ∧ (𝑋𝑉𝑌𝑉)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘𝑁) = 𝑋)
 
Theoremccatw2s1p2 14228 Extract the second of two single symbols concatenated with a word. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Proof shortened by AV, 1-May-2020.)
(((𝑊 ∈ Word 𝑉 ∧ (♯‘𝑊) = 𝑁) ∧ (𝑋𝑉𝑌𝑉)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘(𝑁 + 1)) = 𝑌)
 
Theoremccat2s1fvw 14229 Extract a symbol of a word from the concatenation of the word with two single symbols. (Contributed by AV, 22-Sep-2018.) (Revised by AV, 13-Jan-2020.) (Proof shortened by AV, 1-May-2020.) (Revised by AV, 28-Jan-2024.)
((𝑊 ∈ Word 𝑉𝐼 ∈ ℕ0𝐼 < (♯‘𝑊)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘𝐼) = (𝑊𝐼))
 
Theoremccat2s1fvwOLD 14230 Obsolete version of ccat2s1fvw 14229 as of 28-Jan-2024. Extract a symbol of a word from the concatenation of the word with two single symbols. (Contributed by AV, 22-Sep-2018.) (Revised by AV, 13-Jan-2020.) (Proof shortened by AV, 1-May-2020.) (New usage is discouraged.) (Proof modification is discouraged.)
(((𝑊 ∈ Word 𝑉𝐼 ∈ ℕ0𝐼 < (♯‘𝑊)) ∧ (𝑋𝑉𝑌𝑉)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘𝐼) = (𝑊𝐼))
 
Theoremccat2s1fst 14231 The first symbol of the concatenation of a word with two single symbols. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (Revised by AV, 28-Jan-2024.)
((𝑊 ∈ Word 𝑉 ∧ 0 < (♯‘𝑊)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘0) = (𝑊‘0))
 
Theoremccat2s1fstOLD 14232 Obsolete version of ccat2s1fst 14231 as of 28-Jan-2024. The first symbol of the concatenation of a word with two single symbols. (Contributed by Alexander van der Vekens, 22-Sep-2018.) (New usage is discouraged.) (Proof modification is discouraged.)
(((𝑊 ∈ Word 𝑉 ∧ 0 < (♯‘𝑊)) ∧ (𝑋𝑉𝑌𝑉)) → (((𝑊 ++ ⟨“𝑋”⟩) ++ ⟨“𝑌”⟩)‘0) = (𝑊‘0))
 
5.7.6  Subwords/substrings
 
Syntaxcsubstr 14233 Syntax for the subword operator.
class substr
 
Definitiondf-substr 14234* Define an operation which extracts portions (called subwords or substrings) of words. Definition in Section 9.1 of [AhoHopUll] p. 318. (Contributed by Stefan O'Rear, 15-Aug-2015.)
substr = (𝑠 ∈ V, 𝑏 ∈ (ℤ × ℤ) ↦ if(((1st𝑏)..^(2nd𝑏)) ⊆ dom 𝑠, (𝑥 ∈ (0..^((2nd𝑏) − (1st𝑏))) ↦ (𝑠‘(𝑥 + (1st𝑏)))), ∅))
 
Theoremswrdnznd 14235 The value of a subword operation for noninteger arguments is the empty set. (This is due to our definition of function values for out-of-domain arguments, see ndmfv 6766). (Contributed by AV, 2-Dec-2022.) (New usage is discouraged.)
(¬ (𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑆 substr ⟨𝐹, 𝐿⟩) = ∅)
 
Theoremswrdval 14236* Value of a subword. (Contributed by Stefan O'Rear, 15-Aug-2015.)
((𝑆𝑉𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝑆 substr ⟨𝐹, 𝐿⟩) = if((𝐹..^𝐿) ⊆ dom 𝑆, (𝑥 ∈ (0..^(𝐿𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))), ∅))
 
Theoremswrd00 14237 A zero length substring. (Contributed by Stefan O'Rear, 27-Aug-2015.)
(𝑆 substr ⟨𝑋, 𝑋⟩) = ∅
 
Theoremswrdcl 14238 Closure of the subword extractor. (Contributed by Stefan O'Rear, 16-Aug-2015.) (Revised by Mario Carneiro, 26-Feb-2016.)
(𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨𝐹, 𝐿⟩) ∈ Word 𝐴)
 
Theoremswrdval2 14239* Value of the subword extractor in its intended domain. (Contributed by Stefan O'Rear, 15-Aug-2015.) (Proof shortened by AV, 2-May-2020.)
((𝑆 ∈ Word 𝐴𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr ⟨𝐹, 𝐿⟩) = (𝑥 ∈ (0..^(𝐿𝐹)) ↦ (𝑆‘(𝑥 + 𝐹))))
 
Theoremswrdlen 14240 Length of an extracted subword. (Contributed by Stefan O'Rear, 16-Aug-2015.)
((𝑆 ∈ Word 𝐴𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 substr ⟨𝐹, 𝐿⟩)) = (𝐿𝐹))
 
Theoremswrdfv 14241 A symbol in an extracted subword, indexed using the subword's indices. (Contributed by Stefan O'Rear, 16-Aug-2015.)
(((𝑆 ∈ Word 𝐴𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) ∧ 𝑋 ∈ (0..^(𝐿𝐹))) → ((𝑆 substr ⟨𝐹, 𝐿⟩)‘𝑋) = (𝑆‘(𝑋 + 𝐹)))
 
Theoremswrdfv0 14242 The first symbol in an extracted subword. (Contributed by AV, 27-Apr-2022.)
((𝑆 ∈ Word 𝐴𝐹 ∈ (0..^𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → ((𝑆 substr ⟨𝐹, 𝐿⟩)‘0) = (𝑆𝐹))
 
Theoremswrdf 14243 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.)
((𝑊 ∈ Word 𝑉𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → (𝑊 substr ⟨𝑀, 𝑁⟩):(0..^(𝑁𝑀))⟶𝑉)
 
Theoremswrdvalfn 14244 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.)
((𝑆 ∈ Word 𝑉𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr ⟨𝐹, 𝐿⟩) Fn (0..^(𝐿𝐹)))
 
Theoremswrdrn 14245 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.)
((𝑊 ∈ Word 𝑉𝑀 ∈ (0...𝑁) ∧ 𝑁 ∈ (0...(♯‘𝑊))) → ran (𝑊 substr ⟨𝑀, 𝑁⟩) ⊆ 𝑉)
 
Theoremswrdlend 14246 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.)
((𝑊 ∈ Word 𝑉𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → (𝐿𝐹 → (𝑊 substr ⟨𝐹, 𝐿⟩) = ∅))
 
Theoremswrdnd 14247 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.)
((𝑊 ∈ Word 𝑉𝐹 ∈ ℤ ∧ 𝐿 ∈ ℤ) → ((𝐹 < 0 ∨ 𝐿𝐹 ∨ (♯‘𝑊) < 𝐿) → (𝑊 substr ⟨𝐹, 𝐿⟩) = ∅))
 
Theoremswrdnd2 14248 Value of the subword extractor outside its intended domain. (Contributed by Alexander van der Vekens, 24-May-2018.)
((𝑊 ∈ Word 𝑉𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((𝐵𝐴 ∨ (♯‘𝑊) ≤ 𝐴𝐵 ≤ 0) → (𝑊 substr ⟨𝐴, 𝐵⟩) = ∅))
 
Theoremswrdnnn0nd 14249 The value of a subword operation for arguments not being nonnegative integers is the empty set. (Contributed by AV, 2-Dec-2022.)
((𝑆 ∈ Word 𝑉 ∧ ¬ (𝐹 ∈ ℕ0𝐿 ∈ ℕ0)) → (𝑆 substr ⟨𝐹, 𝐿⟩) = ∅)
 
Theoremswrdnd0 14250 The value of a subword operation for inproper arguments is the empty set. (Contributed by AV, 2-Dec-2022.)
(𝑆 ∈ Word 𝑉 → (¬ (𝐹 ∈ (0...𝐿) ∧ 𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 substr ⟨𝐹, 𝐿⟩) = ∅))
 
Theoremswrd0 14251 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.)
(∅ substr ⟨𝐹, 𝐿⟩) = ∅
 
Theoremswrdrlen 14252 Length of a right-anchored subword. (Contributed by Alexander van der Vekens, 5-Apr-2018.)
((𝑊 ∈ Word 𝑉𝐼 ∈ (0...(♯‘𝑊))) → (♯‘(𝑊 substr ⟨𝐼, (♯‘𝑊)⟩)) = ((♯‘𝑊) − 𝐼))
 
Theoremswrdlen2 14253 Length of an extracted subword. (Contributed by AV, 5-May-2020.)
((𝑆 ∈ Word 𝑉 ∧ (𝐹 ∈ ℕ0𝐿 ∈ (ℤ𝐹)) ∧ 𝐿 ≤ (♯‘𝑆)) → (♯‘(𝑆 substr ⟨𝐹, 𝐿⟩)) = (𝐿𝐹))
 
Theoremswrdfv2 14254 A symbol in an extracted subword, indexed using the word's indices. (Contributed by AV, 5-May-2020.)
(((𝑆 ∈ Word 𝑉 ∧ (𝐹 ∈ ℕ0𝐿 ∈ (ℤ𝐹)) ∧ 𝐿 ≤ (♯‘𝑆)) ∧ 𝑋 ∈ (𝐹..^𝐿)) → ((𝑆 substr ⟨𝐹, 𝐿⟩)‘(𝑋𝐹)) = (𝑆𝑋))
 
Theoremswrdwrdsymb 14255 A subword is a word over the symbols it consists of. (Contributed by AV, 2-Dec-2022.)
(𝑆 ∈ Word 𝐴 → (𝑆 substr ⟨𝑀, 𝑁⟩) ∈ Word (𝑆 “ (𝑀..^𝑁)))
 
Theoremswrdsb0eq 14256 Two subwords with the same bounds are equal if the range is not valid. (Contributed by AV, 4-May-2020.)
(((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ 𝑁𝑀) → (𝑊 substr ⟨𝑀, 𝑁⟩) = (𝑈 substr ⟨𝑀, 𝑁⟩))
 
Theoremswrdsbslen 14257 Two subwords with the same bounds have the same length. (Contributed by AV, 4-May-2020.)
(((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑁 ≤ (♯‘𝑊) ∧ 𝑁 ≤ (♯‘𝑈))) → (♯‘(𝑊 substr ⟨𝑀, 𝑁⟩)) = (♯‘(𝑈 substr ⟨𝑀, 𝑁⟩)))
 
Theoremswrdspsleq 14258* 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.)
(((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑁 ≤ (♯‘𝑊) ∧ 𝑁 ≤ (♯‘𝑈))) → ((𝑊 substr ⟨𝑀, 𝑁⟩) = (𝑈 substr ⟨𝑀, 𝑁⟩) ↔ ∀𝑖 ∈ (𝑀..^𝑁)(𝑊𝑖) = (𝑈𝑖)))
 
Theoremswrds1 14259 Extract a single symbol from a word. (Contributed by Stefan O'Rear, 23-Aug-2015.)
((𝑊 ∈ Word 𝐴𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 substr ⟨𝐼, (𝐼 + 1)⟩) = ⟨“(𝑊𝐼)”⟩)
 
Theoremswrdlsw 14260 Extract the last single symbol from a word. (Contributed by Alexander van der Vekens, 23-Sep-2018.)
((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → (𝑊 substr ⟨((♯‘𝑊) − 1), (♯‘𝑊)⟩) = ⟨“(lastS‘𝑊)”⟩)
 
Theoremccatswrd 14261 Joining two adjacent subwords makes a longer subword. (Contributed by Stefan O'Rear, 20-Aug-2015.)
((𝑆 ∈ Word 𝐴 ∧ (𝑋 ∈ (0...𝑌) ∧ 𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆)))) → ((𝑆 substr ⟨𝑋, 𝑌⟩) ++ (𝑆 substr ⟨𝑌, 𝑍⟩)) = (𝑆 substr ⟨𝑋, 𝑍⟩))
 
Theoremswrdccat2 14262 Recover the right half of a concatenated word. (Contributed by Mario Carneiro, 27-Sep-2015.)
((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) substr ⟨(♯‘𝑆), ((♯‘𝑆) + (♯‘𝑇))⟩) = 𝑇)
 
5.7.7  Prefixes of a word
 
Syntaxcpfx 14263 Syntax for the prefix operator.
class prefix
 
Definitiondf-pfx 14264* 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, (𝑆 prefix 𝐿) is the prefix of the word 𝑆 of length 𝐿. 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 = (𝑠 ∈ V, 𝑙 ∈ ℕ0 ↦ (𝑠 substr ⟨0, 𝑙⟩))
 
Theorempfxnndmnd 14265 The value of a prefix operation for out-of-domain arguments. (This is due to our definition of function values for out-of-domain arguments, see ndmfv 6766). (Contributed by AV, 3-Dec-2022.) (New usage is discouraged.)
(¬ (𝑆 ∈ V ∧ 𝐿 ∈ ℕ0) → (𝑆 prefix 𝐿) = ∅)
 
Theorempfxval 14266 Value of a prefix operation. (Contributed by AV, 2-May-2020.)
((𝑆𝑉𝐿 ∈ ℕ0) → (𝑆 prefix 𝐿) = (𝑆 substr ⟨0, 𝐿⟩))
 
Theorempfx00 14267 The zero length prefix is the empty set. (Contributed by AV, 2-May-2020.)
(𝑆 prefix 0) = ∅
 
Theorempfx0 14268 A prefix of an empty set is always the empty set. (Contributed by AV, 3-May-2020.)
(∅ prefix 𝐿) = ∅
 
Theorempfxval0 14269 Value of a prefix operation. This theorem should only be used in proofs if 𝐿 ∈ ℕ0 is not available. Otherwise (and usually), pfxval 14266 should be used. (Contributed by AV, 3-Dec-2022.) (New usage is discouraged.)
(𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐿) = (𝑆 substr ⟨0, 𝐿⟩))
 
Theorempfxcl 14270 Closure of the prefix extractor. (Contributed by AV, 2-May-2020.)
(𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐿) ∈ Word 𝐴)
 
Theorempfxmpt 14271* Value of the prefix extractor as a mapping. (Contributed by AV, 2-May-2020.)
((𝑆 ∈ Word 𝐴𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝐿) = (𝑥 ∈ (0..^𝐿) ↦ (𝑆𝑥)))
 
Theorempfxres 14272 Value of the subword extractor for left-anchored subwords. (Contributed by Stefan O'Rear, 24-Aug-2015.) (Revised by AV, 2-May-2020.)
((𝑆 ∈ Word 𝐴𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝐿) = (𝑆 ↾ (0..^𝐿)))
 
Theorempfxf 14273 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ (0...(♯‘𝑊))) → (𝑊 prefix 𝐿):(0..^𝐿)⟶𝑉)
 
Theorempfxfn 14274 Value of the prefix extractor as function with domain. (Contributed by AV, 2-May-2020.)
((𝑆 ∈ Word 𝑉𝐿 ∈ (0...(♯‘𝑆))) → (𝑆 prefix 𝐿) Fn (0..^𝐿))
 
Theorempfxfv 14275 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ (0...(♯‘𝑊)) ∧ 𝐼 ∈ (0..^𝐿)) → ((𝑊 prefix 𝐿)‘𝐼) = (𝑊𝐼))
 
Theorempfxlen 14276 Length of a prefix. (Contributed by Stefan O'Rear, 24-Aug-2015.) (Revised by AV, 2-May-2020.)
((𝑆 ∈ Word 𝐴𝐿 ∈ (0...(♯‘𝑆))) → (♯‘(𝑆 prefix 𝐿)) = 𝐿)
 
Theorempfxid 14277 A word is a prefix of itself. (Contributed by Stefan O'Rear, 16-Aug-2015.) (Revised by AV, 2-May-2020.)
(𝑆 ∈ Word 𝐴 → (𝑆 prefix (♯‘𝑆)) = 𝑆)
 
Theorempfxrn 14278 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ (0...(♯‘𝑊))) → ran (𝑊 prefix 𝐿) ⊆ 𝑉)
 
Theorempfxn0 14279 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ ℕ ∧ 𝐿 ≤ (♯‘𝑊)) → (𝑊 prefix 𝐿) ≠ ∅)
 
Theorempfxnd 14280 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 ndmfv 6766). (Contributed by AV, 3-May-2020.)
((𝑊 ∈ Word 𝑉𝐿 ∈ ℕ0 ∧ (♯‘𝑊) < 𝐿) → (𝑊 prefix 𝐿) = ∅)
 
Theorempfxnd0 14281 The value of a prefix operation for a length argument not in the range of the word length is the empty set. (This is due to our definition of function values for out-of-domain arguments, see ndmfv 6766). (Contributed by AV, 3-Dec-2022.)
((𝑊 ∈ Word 𝑉𝐿 ∉ (0...(♯‘𝑊))) → (𝑊 prefix 𝐿) = ∅)
 
Theorempfxwrdsymb 14282 A prefix of a word is a word over the symbols it consists of. (Contributed by AV, 3-Dec-2022.)
(𝑆 ∈ Word 𝐴 → (𝑆 prefix 𝐿) ∈ Word (𝑆 “ (0..^𝐿)))
 
Theoremaddlenrevpfx 14283 The sum of the lengths of two reversed parts of a word is the length of the word. (Contributed by Alexander van der Vekens, 1-Apr-2018.) (Revised by AV, 3-May-2020.)
((𝑊 ∈ Word 𝑉𝑀 ∈ (0...(♯‘𝑊))) → ((♯‘(𝑊 substr ⟨𝑀, (♯‘𝑊)⟩)) + (♯‘(𝑊 prefix 𝑀))) = (♯‘𝑊))
 
Theoremaddlenpfx 14284 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.)
((𝑊 ∈ Word 𝑉𝑀 ∈ (0...(♯‘𝑊))) → ((♯‘(𝑊 prefix 𝑀)) + (♯‘(𝑊 substr ⟨𝑀, (♯‘𝑊)⟩))) = (♯‘𝑊))
 
Theorempfxfv0 14285 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ (1...(♯‘𝑊))) → ((𝑊 prefix 𝐿)‘0) = (𝑊‘0))
 
Theorempfxtrcfv 14286 A symbol in a word truncated by one symbol. (Contributed by Alexander van der Vekens, 16-Jun-2018.) (Revised by AV, 3-May-2020.)
((𝑊 ∈ Word 𝑉𝑊 ≠ ∅ ∧ 𝐼 ∈ (0..^((♯‘𝑊) − 1))) → ((𝑊 prefix ((♯‘𝑊) − 1))‘𝐼) = (𝑊𝐼))
 
Theorempfxtrcfv0 14287 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.)
((𝑊 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑊)) → ((𝑊 prefix ((♯‘𝑊) − 1))‘0) = (𝑊‘0))
 
Theorempfxfvlsw 14288 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.)
((𝑊 ∈ Word 𝑉𝐿 ∈ (1...(♯‘𝑊))) → (lastS‘(𝑊 prefix 𝐿)) = (𝑊‘(𝐿 − 1)))
 
Theorempfxeq 14289* 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.)
(((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉) ∧ (𝑀 ∈ ℕ0𝑁 ∈ ℕ0) ∧ (𝑀 ≤ (♯‘𝑊) ∧ 𝑁 ≤ (♯‘𝑈))) → ((𝑊 prefix 𝑀) = (𝑈 prefix 𝑁) ↔ (𝑀 = 𝑁 ∧ ∀𝑖 ∈ (0..^𝑀)(𝑊𝑖) = (𝑈𝑖))))
 
Theorempfxtrcfvl 14290 The last symbol in a word truncated by one symbol. (Contributed by AV, 16-Jun-2018.) (Revised by AV, 5-May-2020.)
((𝑊 ∈ Word 𝑉 ∧ 2 ≤ (♯‘𝑊)) → (lastS‘(𝑊 prefix ((♯‘𝑊) − 1))) = (𝑊‘((♯‘𝑊) − 2)))
 
Theorempfxsuffeqwrdeq 14291 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.)
((𝑊 ∈ Word 𝑉𝑆 ∈ Word 𝑉𝐼 ∈ (0..^(♯‘𝑊))) → (𝑊 = 𝑆 ↔ ((♯‘𝑊) = (♯‘𝑆) ∧ ((𝑊 prefix 𝐼) = (𝑆 prefix 𝐼) ∧ (𝑊 substr ⟨𝐼, (♯‘𝑊)⟩) = (𝑆 substr ⟨𝐼, (♯‘𝑊)⟩)))))
 
Theorempfxsuff1eqwrdeq 14292 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.)
((𝑊 ∈ Word 𝑉𝑈 ∈ Word 𝑉 ∧ 0 < (♯‘𝑊)) → (𝑊 = 𝑈 ↔ ((♯‘𝑊) = (♯‘𝑈) ∧ ((𝑊 prefix ((♯‘𝑊) − 1)) = (𝑈 prefix ((♯‘𝑊) − 1)) ∧ (lastS‘𝑊) = (lastS‘𝑈)))))
 
Theoremdisjwrdpfx 14293* Sets of words are disjoint if each set contains exactly the extensions of distinct words of a fixed length. Remark: A word 𝑊 is called an "extension" of a word 𝑃 if 𝑃 is a prefix of 𝑊. (Contributed by AV, 29-Jul-2018.) (Revised by AV, 6-May-2020.)
Disj 𝑦𝑊 {𝑥 ∈ Word 𝑉 ∣ (𝑥 prefix 𝑁) = 𝑦}
 
Theoremccatpfx 14294 Concatenating a prefix with an adjacent subword makes a longer prefix. (Contributed by AV, 7-May-2020.)
((𝑆 ∈ Word 𝐴𝑌 ∈ (0...𝑍) ∧ 𝑍 ∈ (0...(♯‘𝑆))) → ((𝑆 prefix 𝑌) ++ (𝑆 substr ⟨𝑌, 𝑍⟩)) = (𝑆 prefix 𝑍))
 
Theorempfxccat1 14295 Recover the left half of a concatenated word. (Contributed by Mario Carneiro, 27-Sep-2015.) (Revised by AV, 6-May-2020.)
((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((𝑆 ++ 𝑇) prefix (♯‘𝑆)) = 𝑆)
 
Theorempfx1 14296 The prefix of length one of a nonempty word expressed as a singleton word. (Contributed by AV, 15-May-2020.)
((𝑊 ∈ Word 𝑉𝑊 ≠ ∅) → (𝑊 prefix 1) = ⟨“(𝑊‘0)”⟩)
 
5.7.8  Subwords of subwords
 
Theoremswrdswrdlem 14297 Lemma for swrdswrd 14298. (Contributed by Alexander van der Vekens, 4-Apr-2018.)
(((𝑊 ∈ Word 𝑉𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝑀 ∈ (0...𝑁)) ∧ (𝐾 ∈ (0...(𝑁𝑀)) ∧ 𝐿 ∈ (𝐾...(𝑁𝑀)))) → (𝑊 ∈ Word 𝑉 ∧ (𝑀 + 𝐾) ∈ (0...(𝑀 + 𝐿)) ∧ (𝑀 + 𝐿) ∈ (0...(♯‘𝑊))))
 
Theoremswrdswrd 14298 A subword of a subword is a subword. (Contributed by Alexander van der Vekens, 4-Apr-2018.)
((𝑊 ∈ Word 𝑉𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝑀 ∈ (0...𝑁)) → ((𝐾 ∈ (0...(𝑁𝑀)) ∧ 𝐿 ∈ (𝐾...(𝑁𝑀))) → ((𝑊 substr ⟨𝑀, 𝑁⟩) substr ⟨𝐾, 𝐿⟩) = (𝑊 substr ⟨(𝑀 + 𝐾), (𝑀 + 𝐿)⟩)))
 
Theorempfxswrd 14299 A prefix of a subword is a subword. (Contributed by AV, 2-Apr-2018.) (Revised by AV, 8-May-2020.)
((𝑊 ∈ Word 𝑉𝑁 ∈ (0...(♯‘𝑊)) ∧ 𝑀 ∈ (0...𝑁)) → (𝐿 ∈ (0...(𝑁𝑀)) → ((𝑊 substr ⟨𝑀, 𝑁⟩) prefix 𝐿) = (𝑊 substr ⟨𝑀, (𝑀 + 𝐿)⟩)))
 
Theoremswrdpfx 14300 A subword of a prefix is a subword. (Contributed by Alexander van der Vekens, 6-Apr-2018.) (Revised by AV, 8-May-2020.)
((𝑊 ∈ Word 𝑉𝑁 ∈ (0...(♯‘𝑊))) → ((𝐾 ∈ (0...𝑁) ∧ 𝐿 ∈ (𝐾...𝑁)) → ((𝑊 prefix 𝑁) substr ⟨𝐾, 𝐿⟩) = (𝑊 substr ⟨𝐾, 𝐿⟩)))
    < 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-16600 167 16601-16700 168 16701-16800 169 16801-16900 170 16901-17000 171 17001-17100 172 17101-17200 173 17201-17300 174 17301-17400 175 17401-17500 176 17501-17600 177 17601-17700 178 17701-17800 179 17801-17900 180 17901-18000 181 18001-18100 182 18101-18200 183 18201-18300 184 18301-18400 185 18401-18500 186 18501-18600 187 18601-18700 188 18701-18800 189 18801-18900 190 18901-19000 191 19001-19100 192 19101-19200 193 19201-19300 194 19301-19400 195 19401-19500 196 19501-19600 197 19601-19700 198 19701-19800 199 19801-19900 200 19901-20000 201 20001-20100 202 20101-20200 203 20201-20300 204 20301-20400 205 20401-20500 206 20501-20600 207 20601-20700 208 20701-20800 209 20801-20900 210 20901-21000 211 21001-21100 212 21101-21200 213 21201-21300 214 21301-21400 215 21401-21500 216 21501-21600 217 21601-21700 218 21701-21800 219 21801-21900 220 21901-22000 221 22001-22100 222 22101-22200 223 22201-22300 224 22301-22400 225 22401-22500 226 22501-22600 227 22601-22700 228 22701-22800 229 22801-22900 230 22901-23000 231 23001-23100 232 23101-23200 233 23201-23300 234 23301-23400 235 23401-23500 236 23501-23600 237 23601-23700 238 23701-23800 239 23801-23900 240 23901-24000 241 24001-24100 242 24101-24200 243 24201-24300 244 24301-24400 245 24401-24500 246 24501-24600 247 24601-24700 248 24701-24800 249 24801-24900 250 24901-25000 251 25001-25100 252 25101-25200 253 25201-25300 254 25301-25400 255 25401-25500 256 25501-25600 257 25601-25700 258 25701-25800 259 25801-25900 260 25901-26000 261 26001-26100 262 26101-26200 263 26201-26300 264 26301-26400 265 26401-26500 266 26501-26600 267 26601-26700 268 26701-26800 269 26801-26900 270 26901-27000 271 27001-27100 272 27101-27200 273 27201-27300 274 27301-27400 275 27401-27500 276 27501-27600 277 27601-27700 278 27701-27800 279 27801-27900 280 27901-28000 281 28001-28100 282 28101-28200 283 28201-28300 284 28301-28400 285 28401-28500 286 28501-28600 287 28601-28700 288 28701-28800 289 28801-28900 290 28901-29000 291 29001-29100 292 29101-29200 293 29201-29300 294 29301-29400 295 29401-29500 296 29501-29600 297 29601-29700 298 29701-29800 299 29801-29900 300 29901-30000 301 30001-30100 302 30101-30200 303 30201-30300 304 30301-30400 305 30401-30500 306 30501-30600 307 30601-30700 308 30701-30800 309 30801-30900 310 30901-31000 311 31001-31100 312 31101-31200 313 31201-31300 314 31301-31400 315 31401-31500 316 31501-31600 317 31601-31700 318 31701-31800 319 31801-31900 320 31901-32000 321 32001-32100 322 32101-32200 323 32201-32300 324 32301-32400 325 32401-32500 326 32501-32600 327 32601-32700 328 32701-32800 329 32801-32900 330 32901-33000 331 33001-33100 332 33101-33200 333 33201-33300 334 33301-33400 335 33401-33500 336 33501-33600 337 33601-33700 338 33701-33800 339 33801-33900 340 33901-34000 341 34001-34100 342 34101-34200 343 34201-34300 344 34301-34400 345 34401-34500 346 34501-34600 347 34601-34700 348 34701-34800 349 34801-34900 350 34901-35000 351 35001-35100 352 35101-35200 353 35201-35300 354 35301-35400 355 35401-35500 356 35501-35600 357 35601-35700 358 35701-35800 359 35801-35900 360 35901-36000 361 36001-36100 362 36101-36200 363 36201-36300 364 36301-36400 365 36401-36500 366 36501-36600 367 36601-36700 368 36701-36800 369 36801-36900 370 36901-37000 371 37001-37100 372 37101-37200 373 37201-37300 374 37301-37400 375 37401-37500 376 37501-37600 377 37601-37700 378 37701-37800 379 37801-37900 380 37901-38000 381 38001-38100 382 38101-38200 383 38201-38300 384 38301-38400 385 38401-38500 386 38501-38600 387 38601-38700 388 38701-38800 389 38801-38900 390 38901-39000 391 39001-39100 392 39101-39200 393 39201-39300 394 39301-39400 395 39401-39500 396 39501-39600 397 39601-39700 398 39701-39800 399 39801-39900 400 39901-40000 401 40001-40100 402 40101-40200 403 40201-40300 404 40301-40400 405 40401-40500 406 40501-40600 407 40601-40700 408 40701-40800 409 40801-40900 410 40901-41000 411 41001-41100 412 41101-41200 413 41201-41300 414 41301-41400 415 41401-41500 416 41501-41600 417 41601-41700 418 41701-41800 419 41801-41900 420 41901-42000 421 42001-42100 422 42101-42200 423 42201-42300 424 42301-42400 425 42401-42500 426 42501-42600 427 42601-42700 428 42701-42800 429 42801-42900 430 42901-43000 431 43001-43100 432 43101-43200 433 43201-43300 434 43301-43400 435 43401-43500 436 43501-43600 437 43601-43700 438 43701-43800 439 43801-43900 440 43901-44000 441 44001-44100 442 44101-44200 443 44201-44300 444 44301-44400 445 44401-44500 446 44501-44600 447 44601-44700 448 44701-44800 449 44801-44900 450 44901-45000 451 45001-45100 452 45101-45200 453 45201-45300 454 45301-45400 455 45401-45500 456 45501-45600 457 45601-45700 458 45701-45800 459 45801-45900 460 45901-46000 461 46001-46100 462 46101-46200 463 46201-46211
  Copyright terms: Public domain < Previous  Next >