ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  ccatrn GIF version

Theorem ccatrn 11040
Description: The range of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015.)
Assertion
Ref Expression
ccatrn ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran (𝑆 ++ 𝑇) = (ran 𝑆 ∪ ran 𝑇))

Proof of Theorem ccatrn
Dummy variable 𝑥 is distinct from all other variables.
StepHypRef Expression
1 ccatvalfn 11032 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))))
2 lencl 10973 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℕ0)
3 nn0uz 9665 . . . . . . . . . . . 12 0 = (ℤ‘0)
42, 3eleqtrdi 2297 . . . . . . . . . . 11 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ (ℤ‘0))
54adantr 276 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ (ℤ‘0))
62nn0zd 9475 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℤ)
76uzidd 9645 . . . . . . . . . . 11 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ (ℤ‘(♯‘𝑆)))
8 lencl 10973 . . . . . . . . . . 11 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0)
9 uzaddcl 9689 . . . . . . . . . . 11 (((♯‘𝑆) ∈ (ℤ‘(♯‘𝑆)) ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)))
107, 8, 9syl2an 289 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)))
11 elfzuzb 10123 . . . . . . . . . 10 ((♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))) ↔ ((♯‘𝑆) ∈ (ℤ‘0) ∧ ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆))))
125, 10, 11sylanbrc 417 . . . . . . . . 9 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))))
13 fzosplit 10282 . . . . . . . . 9 ((♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))) → (0..^((♯‘𝑆) + (♯‘𝑇))) = ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1412, 13syl 14 . . . . . . . 8 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (0..^((♯‘𝑆) + (♯‘𝑇))) = ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1514eleq2d 2274 . . . . . . 7 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ 𝑥 ∈ ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))))
16 elun 3313 . . . . . . 7 (𝑥 ∈ ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) ↔ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1715, 16bitrdi 196 . . . . . 6 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))))
18 ccatval1 11028 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑆𝑥))
19183expa 1205 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑆𝑥))
20 ssun1 3335 . . . . . . . . . 10 ran 𝑆 ⊆ (ran 𝑆 ∪ ran 𝑇)
21 wrdfn 10984 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵𝑆 Fn (0..^(♯‘𝑆)))
2221adantr 276 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑆 Fn (0..^(♯‘𝑆)))
23 fnfvelrn 5706 . . . . . . . . . . 11 ((𝑆 Fn (0..^(♯‘𝑆)) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran 𝑆)
2422, 23sylan 283 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran 𝑆)
2520, 24sselid 3190 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
2619, 25eqeltrd 2281 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
27 ccatval2 11029 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑇‘(𝑥 − (♯‘𝑆))))
28273expa 1205 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑇‘(𝑥 − (♯‘𝑆))))
29 ssun2 3336 . . . . . . . . . 10 ran 𝑇 ⊆ (ran 𝑆 ∪ ran 𝑇)
30 wrdfn 10984 . . . . . . . . . . . 12 (𝑇 ∈ Word 𝐵𝑇 Fn (0..^(♯‘𝑇)))
3130adantl 277 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑇 Fn (0..^(♯‘𝑇)))
32 elfzouz 10255 . . . . . . . . . . . . . . 15 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ (ℤ‘(♯‘𝑆)))
33 uznn0sub 9662 . . . . . . . . . . . . . . 15 (𝑥 ∈ (ℤ‘(♯‘𝑆)) → (𝑥 − (♯‘𝑆)) ∈ ℕ0)
3432, 33syl 14 . . . . . . . . . . . . . 14 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → (𝑥 − (♯‘𝑆)) ∈ ℕ0)
3534, 3eleqtrdi 2297 . . . . . . . . . . . . 13 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → (𝑥 − (♯‘𝑆)) ∈ (ℤ‘0))
3635adantl 277 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) ∈ (ℤ‘0))
378nn0zd 9475 . . . . . . . . . . . . 13 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℤ)
3837ad2antlr 489 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑇) ∈ ℤ)
39 elfzolt2 10261 . . . . . . . . . . . . . 14 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 < ((♯‘𝑆) + (♯‘𝑇)))
4039adantl 277 . . . . . . . . . . . . 13 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 < ((♯‘𝑆) + (♯‘𝑇)))
41 elfzoelz 10251 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ ℤ)
4241zred 9477 . . . . . . . . . . . . . . 15 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ ℝ)
4342adantl 277 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 ∈ ℝ)
442nn0red 9331 . . . . . . . . . . . . . . 15 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℝ)
4544ad2antrr 488 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑆) ∈ ℝ)
468nn0red 9331 . . . . . . . . . . . . . . 15 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℝ)
4746ad2antlr 489 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑇) ∈ ℝ)
4843, 45, 47ltsubadd2d 8598 . . . . . . . . . . . . 13 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑥 − (♯‘𝑆)) < (♯‘𝑇) ↔ 𝑥 < ((♯‘𝑆) + (♯‘𝑇))))
4940, 48mpbird 167 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) < (♯‘𝑇))
50 elfzo2 10254 . . . . . . . . . . . 12 ((𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇)) ↔ ((𝑥 − (♯‘𝑆)) ∈ (ℤ‘0) ∧ (♯‘𝑇) ∈ ℤ ∧ (𝑥 − (♯‘𝑆)) < (♯‘𝑇)))
5136, 38, 49, 50syl3anbrc 1183 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇)))
52 fnfvelrn 5706 . . . . . . . . . . 11 ((𝑇 Fn (0..^(♯‘𝑇)) ∧ (𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ ran 𝑇)
5331, 51, 52syl2an2r 595 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ ran 𝑇)
5429, 53sselid 3190 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ (ran 𝑆 ∪ ran 𝑇))
5528, 54eqeltrd 2281 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
5626, 55jaodan 798 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
5756ex 115 . . . . . 6 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
5817, 57sylbid 150 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
5958ralrimiv 2577 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
60 ffnfv 5732 . . . 4 ((𝑆 ++ 𝑇):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶(ran 𝑆 ∪ ran 𝑇) ↔ ((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ ∀𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
611, 59, 60sylanbrc 417 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶(ran 𝑆 ∪ ran 𝑇))
6261frnd 5429 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran (𝑆 ++ 𝑇) ⊆ (ran 𝑆 ∪ ran 𝑇))
63 fzoss2 10277 . . . . . . . . . 10 (((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)) → (0..^(♯‘𝑆)) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
6410, 63syl 14 . . . . . . . . 9 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (0..^(♯‘𝑆)) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
6564sselda 3192 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))
66 fnfvelrn 5706 . . . . . . . 8 (((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ ran (𝑆 ++ 𝑇))
671, 65, 66syl2an2r 595 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ ran (𝑆 ++ 𝑇))
6819, 67eqeltrrd 2282 . . . . . 6 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran (𝑆 ++ 𝑇))
6968ralrimiva 2578 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^(♯‘𝑆))(𝑆𝑥) ∈ ran (𝑆 ++ 𝑇))
70 ffnfv 5732 . . . . 5 (𝑆:(0..^(♯‘𝑆))⟶ran (𝑆 ++ 𝑇) ↔ (𝑆 Fn (0..^(♯‘𝑆)) ∧ ∀𝑥 ∈ (0..^(♯‘𝑆))(𝑆𝑥) ∈ ran (𝑆 ++ 𝑇)))
7122, 69, 70sylanbrc 417 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑆:(0..^(♯‘𝑆))⟶ran (𝑆 ++ 𝑇))
7271frnd 5429 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran 𝑆 ⊆ ran (𝑆 ++ 𝑇))
73 ccatval3 11030 . . . . . . . 8 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) = (𝑇𝑥))
74733expa 1205 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) = (𝑇𝑥))
75 elfzouz 10255 . . . . . . . . . 10 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ (ℤ‘0))
762adantr 276 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ ℕ0)
77 uzaddcl 9689 . . . . . . . . . 10 ((𝑥 ∈ (ℤ‘0) ∧ (♯‘𝑆) ∈ ℕ0) → (𝑥 + (♯‘𝑆)) ∈ (ℤ‘0))
7875, 76, 77syl2anr 290 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) ∈ (ℤ‘0))
79 nn0addcl 9312 . . . . . . . . . . . 12 (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
802, 8, 79syl2an 289 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
8180nn0zd 9475 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ)
8281adantr 276 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ)
83 elfzonn0 10291 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℕ0)
8483nn0cnd 9332 . . . . . . . . . . 11 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℂ)
852nn0cnd 9332 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℂ)
8685adantr 276 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ ℂ)
87 addcom 8191 . . . . . . . . . . 11 ((𝑥 ∈ ℂ ∧ (♯‘𝑆) ∈ ℂ) → (𝑥 + (♯‘𝑆)) = ((♯‘𝑆) + 𝑥))
8884, 86, 87syl2anr 290 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) = ((♯‘𝑆) + 𝑥))
8983nn0red 9331 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℝ)
9089adantl 277 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → 𝑥 ∈ ℝ)
9146ad2antlr 489 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (♯‘𝑇) ∈ ℝ)
9244ad2antrr 488 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (♯‘𝑆) ∈ ℝ)
93 elfzolt2 10261 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 < (♯‘𝑇))
9493adantl 277 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → 𝑥 < (♯‘𝑇))
9590, 91, 92, 94ltadd2dd 8477 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((♯‘𝑆) + 𝑥) < ((♯‘𝑆) + (♯‘𝑇)))
9688, 95eqbrtrd 4065 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) < ((♯‘𝑆) + (♯‘𝑇)))
97 elfzo2 10254 . . . . . . . . 9 ((𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ ((𝑥 + (♯‘𝑆)) ∈ (ℤ‘0) ∧ ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ ∧ (𝑥 + (♯‘𝑆)) < ((♯‘𝑆) + (♯‘𝑇))))
9878, 82, 96, 97syl3anbrc 1183 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))
99 fnfvelrn 5706 . . . . . . . 8 (((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ (𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) ∈ ran (𝑆 ++ 𝑇))
1001, 98, 99syl2an2r 595 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) ∈ ran (𝑆 ++ 𝑇))
10174, 100eqeltrrd 2282 . . . . . 6 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑇𝑥) ∈ ran (𝑆 ++ 𝑇))
102101ralrimiva 2578 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^(♯‘𝑇))(𝑇𝑥) ∈ ran (𝑆 ++ 𝑇))
103 ffnfv 5732 . . . . 5 (𝑇:(0..^(♯‘𝑇))⟶ran (𝑆 ++ 𝑇) ↔ (𝑇 Fn (0..^(♯‘𝑇)) ∧ ∀𝑥 ∈ (0..^(♯‘𝑇))(𝑇𝑥) ∈ ran (𝑆 ++ 𝑇)))
10431, 102, 103sylanbrc 417 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑇:(0..^(♯‘𝑇))⟶ran (𝑆 ++ 𝑇))
105104frnd 5429 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran 𝑇 ⊆ ran (𝑆 ++ 𝑇))
10672, 105unssd 3348 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (ran 𝑆 ∪ ran 𝑇) ⊆ ran (𝑆 ++ 𝑇))
10762, 106eqssd 3209 1 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran (𝑆 ++ 𝑇) = (ran 𝑆 ∪ ran 𝑇))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 104  wo 709   = wceq 1372  wcel 2175  wral 2483  cun 3163  wss 3165   class class class wbr 4043  ran crn 4674   Fn wfn 5263  wf 5264  cfv 5268  (class class class)co 5934  cc 7905  cr 7906  0cc0 7907   + caddc 7910   < clt 8089  cmin 8225  0cn0 9277  cz 9354  cuz 9630  ...cfz 10112  ..^cfzo 10246  chash 10901  Word cword 10969   ++ cconcat 11021
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 106  ax-ia2 107  ax-ia3 108  ax-in1 615  ax-in2 616  ax-io 710  ax-5 1469  ax-7 1470  ax-gen 1471  ax-ie1 1515  ax-ie2 1516  ax-8 1526  ax-10 1527  ax-11 1528  ax-i12 1529  ax-bndl 1531  ax-4 1532  ax-17 1548  ax-i9 1552  ax-ial 1556  ax-i5r 1557  ax-13 2177  ax-14 2178  ax-ext 2186  ax-coll 4158  ax-sep 4161  ax-nul 4169  ax-pow 4217  ax-pr 4252  ax-un 4478  ax-setind 4583  ax-iinf 4634  ax-cnex 7998  ax-resscn 7999  ax-1cn 8000  ax-1re 8001  ax-icn 8002  ax-addcl 8003  ax-addrcl 8004  ax-mulcl 8005  ax-addcom 8007  ax-addass 8009  ax-distr 8011  ax-i2m1 8012  ax-0lt1 8013  ax-0id 8015  ax-rnegex 8016  ax-cnre 8018  ax-pre-ltirr 8019  ax-pre-ltwlin 8020  ax-pre-lttrn 8021  ax-pre-apti 8022  ax-pre-ltadd 8023
This theorem depends on definitions:  df-bi 117  df-dc 836  df-3or 981  df-3an 982  df-tru 1375  df-fal 1378  df-nf 1483  df-sb 1785  df-eu 2056  df-mo 2057  df-clab 2191  df-cleq 2197  df-clel 2200  df-nfc 2336  df-ne 2376  df-nel 2471  df-ral 2488  df-rex 2489  df-reu 2490  df-rab 2492  df-v 2773  df-sbc 2998  df-csb 3093  df-dif 3167  df-un 3169  df-in 3171  df-ss 3178  df-nul 3460  df-if 3571  df-pw 3617  df-sn 3638  df-pr 3639  df-op 3641  df-uni 3850  df-int 3885  df-iun 3928  df-br 4044  df-opab 4105  df-mpt 4106  df-tr 4142  df-id 4338  df-iord 4411  df-on 4413  df-ilim 4414  df-suc 4416  df-iom 4637  df-xp 4679  df-rel 4680  df-cnv 4681  df-co 4682  df-dm 4683  df-rn 4684  df-res 4685  df-ima 4686  df-iota 5229  df-fun 5270  df-fn 5271  df-f 5272  df-f1 5273  df-fo 5274  df-f1o 5275  df-fv 5276  df-riota 5889  df-ov 5937  df-oprab 5938  df-mpo 5939  df-1st 6216  df-2nd 6217  df-recs 6381  df-frec 6467  df-1o 6492  df-er 6610  df-en 6818  df-dom 6819  df-fin 6820  df-pnf 8091  df-mnf 8092  df-xr 8093  df-ltxr 8094  df-le 8095  df-sub 8227  df-neg 8228  df-inn 9019  df-n0 9278  df-z 9355  df-uz 9631  df-fz 10113  df-fzo 10247  df-ihash 10902  df-word 10970  df-concat 11022
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator