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

Theorem ccatrn 11297
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 11289 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))))
2 lencl 11228 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℕ0)
3 nn0uz 9889 . . . . . . . . . . . 12 0 = (ℤ‘0)
42, 3eleqtrdi 2325 . . . . . . . . . . 11 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ (ℤ‘0))
54adantr 276 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ (ℤ‘0))
62nn0zd 9698 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℤ)
76uzidd 9869 . . . . . . . . . . 11 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ (ℤ‘(♯‘𝑆)))
8 lencl 11228 . . . . . . . . . . 11 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℕ0)
9 uzaddcl 9918 . . . . . . . . . . 11 (((♯‘𝑆) ∈ (ℤ‘(♯‘𝑆)) ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)))
107, 8, 9syl2an 289 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)))
11 elfzuzb 10353 . . . . . . . . . 10 ((♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))) ↔ ((♯‘𝑆) ∈ (ℤ‘0) ∧ ((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆))))
125, 10, 11sylanbrc 417 . . . . . . . . 9 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))))
13 fzosplit 10513 . . . . . . . . 9 ((♯‘𝑆) ∈ (0...((♯‘𝑆) + (♯‘𝑇))) → (0..^((♯‘𝑆) + (♯‘𝑇))) = ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1412, 13syl 14 . . . . . . . 8 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (0..^((♯‘𝑆) + (♯‘𝑇))) = ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1514eleq2d 2302 . . . . . . 7 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ 𝑥 ∈ ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))))
16 elun 3360 . . . . . . 7 (𝑥 ∈ ((0..^(♯‘𝑆)) ∪ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) ↔ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))))
1715, 16bitrdi 196 . . . . . 6 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))))
18 ccatval1 11285 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑆𝑥))
19183expa 1230 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑆𝑥))
20 ssun1 3382 . . . . . . . . . 10 ran 𝑆 ⊆ (ran 𝑆 ∪ ran 𝑇)
21 wrdfn 11239 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵𝑆 Fn (0..^(♯‘𝑆)))
2221adantr 276 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑆 Fn (0..^(♯‘𝑆)))
23 fnfvelrn 5809 . . . . . . . . . . 11 ((𝑆 Fn (0..^(♯‘𝑆)) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran 𝑆)
2422, 23sylan 283 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran 𝑆)
2520, 24sselid 3236 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
2619, 25eqeltrd 2309 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
27 ccatval2 11286 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑇‘(𝑥 − (♯‘𝑆))))
28273expa 1230 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) = (𝑇‘(𝑥 − (♯‘𝑆))))
29 ssun2 3383 . . . . . . . . . 10 ran 𝑇 ⊆ (ran 𝑆 ∪ ran 𝑇)
30 wrdfn 11239 . . . . . . . . . . . 12 (𝑇 ∈ Word 𝐵𝑇 Fn (0..^(♯‘𝑇)))
3130adantl 277 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑇 Fn (0..^(♯‘𝑇)))
32 elfzouz 10485 . . . . . . . . . . . . . . 15 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ (ℤ‘(♯‘𝑆)))
33 uznn0sub 9886 . . . . . . . . . . . . . . 15 (𝑥 ∈ (ℤ‘(♯‘𝑆)) → (𝑥 − (♯‘𝑆)) ∈ ℕ0)
3432, 33syl 14 . . . . . . . . . . . . . 14 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → (𝑥 − (♯‘𝑆)) ∈ ℕ0)
3534, 3eleqtrdi 2325 . . . . . . . . . . . . 13 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → (𝑥 − (♯‘𝑆)) ∈ (ℤ‘0))
3635adantl 277 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) ∈ (ℤ‘0))
378nn0zd 9698 . . . . . . . . . . . . 13 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℤ)
3837ad2antlr 489 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑇) ∈ ℤ)
39 elfzolt2 10491 . . . . . . . . . . . . . 14 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 < ((♯‘𝑆) + (♯‘𝑇)))
4039adantl 277 . . . . . . . . . . . . 13 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 < ((♯‘𝑆) + (♯‘𝑇)))
41 elfzoelz 10481 . . . . . . . . . . . . . . . 16 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ ℤ)
4241zred 9700 . . . . . . . . . . . . . . 15 (𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))) → 𝑥 ∈ ℝ)
4342adantl 277 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → 𝑥 ∈ ℝ)
442nn0red 9554 . . . . . . . . . . . . . . 15 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℝ)
4544ad2antrr 488 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑆) ∈ ℝ)
468nn0red 9554 . . . . . . . . . . . . . . 15 (𝑇 ∈ Word 𝐵 → (♯‘𝑇) ∈ ℝ)
4746ad2antlr 489 . . . . . . . . . . . . . 14 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (♯‘𝑇) ∈ ℝ)
4843, 45, 47ltsubadd2d 8817 . . . . . . . . . . . . 13 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑥 − (♯‘𝑆)) < (♯‘𝑇) ↔ 𝑥 < ((♯‘𝑆) + (♯‘𝑇))))
4940, 48mpbird 167 . . . . . . . . . . . 12 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) < (♯‘𝑇))
50 elfzo2 10484 . . . . . . . . . . . 12 ((𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇)) ↔ ((𝑥 − (♯‘𝑆)) ∈ (ℤ‘0) ∧ (♯‘𝑇) ∈ ℤ ∧ (𝑥 − (♯‘𝑆)) < (♯‘𝑇)))
5136, 38, 49, 50syl3anbrc 1208 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇)))
52 fnfvelrn 5809 . . . . . . . . . . 11 ((𝑇 Fn (0..^(♯‘𝑇)) ∧ (𝑥 − (♯‘𝑆)) ∈ (0..^(♯‘𝑇))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ ran 𝑇)
5331, 51, 52syl2an2r 599 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ ran 𝑇)
5429, 53sselid 3236 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → (𝑇‘(𝑥 − (♯‘𝑆))) ∈ (ran 𝑆 ∪ ran 𝑇))
5528, 54eqeltrd 2309 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
5626, 55jaodan 805 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ (𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇))))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
5756ex 115 . . . . . 6 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((𝑥 ∈ (0..^(♯‘𝑆)) ∨ 𝑥 ∈ ((♯‘𝑆)..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
5817, 57sylbid 150 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
5958ralrimiv 2614 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇))
60 ffnfv 5835 . . . 4 ((𝑆 ++ 𝑇):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶(ran 𝑆 ∪ ran 𝑇) ↔ ((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ ∀𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))((𝑆 ++ 𝑇)‘𝑥) ∈ (ran 𝑆 ∪ ran 𝑇)))
611, 59, 60sylanbrc 417 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (𝑆 ++ 𝑇):(0..^((♯‘𝑆) + (♯‘𝑇)))⟶(ran 𝑆 ∪ ran 𝑇))
6261frnd 5518 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran (𝑆 ++ 𝑇) ⊆ (ran 𝑆 ∪ ran 𝑇))
63 fzoss2 10508 . . . . . . . . . 10 (((♯‘𝑆) + (♯‘𝑇)) ∈ (ℤ‘(♯‘𝑆)) → (0..^(♯‘𝑆)) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
6410, 63syl 14 . . . . . . . . 9 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (0..^(♯‘𝑆)) ⊆ (0..^((♯‘𝑆) + (♯‘𝑇))))
6564sselda 3238 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))
66 fnfvelrn 5809 . . . . . . . 8 (((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ 𝑥 ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ ran (𝑆 ++ 𝑇))
671, 65, 66syl2an2r 599 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → ((𝑆 ++ 𝑇)‘𝑥) ∈ ran (𝑆 ++ 𝑇))
6819, 67eqeltrrd 2310 . . . . . 6 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑆))) → (𝑆𝑥) ∈ ran (𝑆 ++ 𝑇))
6968ralrimiva 2615 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^(♯‘𝑆))(𝑆𝑥) ∈ ran (𝑆 ++ 𝑇))
70 ffnfv 5835 . . . . 5 (𝑆:(0..^(♯‘𝑆))⟶ran (𝑆 ++ 𝑇) ↔ (𝑆 Fn (0..^(♯‘𝑆)) ∧ ∀𝑥 ∈ (0..^(♯‘𝑆))(𝑆𝑥) ∈ ran (𝑆 ++ 𝑇)))
7122, 69, 70sylanbrc 417 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑆:(0..^(♯‘𝑆))⟶ran (𝑆 ++ 𝑇))
7271frnd 5518 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran 𝑆 ⊆ ran (𝑆 ++ 𝑇))
73 ccatval3 11287 . . . . . . . 8 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) = (𝑇𝑥))
74733expa 1230 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) = (𝑇𝑥))
75 elfzouz 10485 . . . . . . . . . 10 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ (ℤ‘0))
762adantr 276 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ ℕ0)
77 uzaddcl 9918 . . . . . . . . . 10 ((𝑥 ∈ (ℤ‘0) ∧ (♯‘𝑆) ∈ ℕ0) → (𝑥 + (♯‘𝑆)) ∈ (ℤ‘0))
7875, 76, 77syl2anr 290 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) ∈ (ℤ‘0))
79 nn0addcl 9531 . . . . . . . . . . . 12 (((♯‘𝑆) ∈ ℕ0 ∧ (♯‘𝑇) ∈ ℕ0) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
802, 8, 79syl2an 289 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℕ0)
8180nn0zd 9698 . . . . . . . . . 10 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ)
8281adantr 276 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ)
83 elfzonn0 10525 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℕ0)
8483nn0cnd 9555 . . . . . . . . . . 11 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℂ)
852nn0cnd 9555 . . . . . . . . . . . 12 (𝑆 ∈ Word 𝐵 → (♯‘𝑆) ∈ ℂ)
8685adantr 276 . . . . . . . . . . 11 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (♯‘𝑆) ∈ ℂ)
87 addcom 8410 . . . . . . . . . . 11 ((𝑥 ∈ ℂ ∧ (♯‘𝑆) ∈ ℂ) → (𝑥 + (♯‘𝑆)) = ((♯‘𝑆) + 𝑥))
8884, 86, 87syl2anr 290 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) = ((♯‘𝑆) + 𝑥))
8983nn0red 9554 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 ∈ ℝ)
9089adantl 277 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → 𝑥 ∈ ℝ)
9146ad2antlr 489 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (♯‘𝑇) ∈ ℝ)
9244ad2antrr 488 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (♯‘𝑆) ∈ ℝ)
93 elfzolt2 10491 . . . . . . . . . . . 12 (𝑥 ∈ (0..^(♯‘𝑇)) → 𝑥 < (♯‘𝑇))
9493adantl 277 . . . . . . . . . . 11 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → 𝑥 < (♯‘𝑇))
9590, 91, 92, 94ltadd2dd 8696 . . . . . . . . . 10 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((♯‘𝑆) + 𝑥) < ((♯‘𝑆) + (♯‘𝑇)))
9688, 95eqbrtrd 4131 . . . . . . . . 9 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) < ((♯‘𝑆) + (♯‘𝑇)))
97 elfzo2 10484 . . . . . . . . 9 ((𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇))) ↔ ((𝑥 + (♯‘𝑆)) ∈ (ℤ‘0) ∧ ((♯‘𝑆) + (♯‘𝑇)) ∈ ℤ ∧ (𝑥 + (♯‘𝑆)) < ((♯‘𝑆) + (♯‘𝑇))))
9878, 82, 96, 97syl3anbrc 1208 . . . . . . . 8 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇))))
99 fnfvelrn 5809 . . . . . . . 8 (((𝑆 ++ 𝑇) Fn (0..^((♯‘𝑆) + (♯‘𝑇))) ∧ (𝑥 + (♯‘𝑆)) ∈ (0..^((♯‘𝑆) + (♯‘𝑇)))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) ∈ ran (𝑆 ++ 𝑇))
1001, 98, 99syl2an2r 599 . . . . . . 7 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → ((𝑆 ++ 𝑇)‘(𝑥 + (♯‘𝑆))) ∈ ran (𝑆 ++ 𝑇))
10174, 100eqeltrrd 2310 . . . . . 6 (((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) ∧ 𝑥 ∈ (0..^(♯‘𝑇))) → (𝑇𝑥) ∈ ran (𝑆 ++ 𝑇))
102101ralrimiva 2615 . . . . 5 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ∀𝑥 ∈ (0..^(♯‘𝑇))(𝑇𝑥) ∈ ran (𝑆 ++ 𝑇))
103 ffnfv 5835 . . . . 5 (𝑇:(0..^(♯‘𝑇))⟶ran (𝑆 ++ 𝑇) ↔ (𝑇 Fn (0..^(♯‘𝑇)) ∧ ∀𝑥 ∈ (0..^(♯‘𝑇))(𝑇𝑥) ∈ ran (𝑆 ++ 𝑇)))
10431, 102, 103sylanbrc 417 . . . 4 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → 𝑇:(0..^(♯‘𝑇))⟶ran (𝑆 ++ 𝑇))
105104frnd 5518 . . 3 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran 𝑇 ⊆ ran (𝑆 ++ 𝑇))
10672, 105unssd 3395 . 2 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → (ran 𝑆 ∪ ran 𝑇) ⊆ ran (𝑆 ++ 𝑇))
10762, 106eqssd 3255 1 ((𝑆 ∈ Word 𝐵𝑇 ∈ Word 𝐵) → ran (𝑆 ++ 𝑇) = (ran 𝑆 ∪ ran 𝑇))
Colors of variables: wff set class
Syntax hints:  wi 4  wa 104  wo 716   = wceq 1398  wcel 2203  wral 2520  cun 3209  wss 3211   class class class wbr 4109  ran crn 4750   Fn wfn 5347  wf 5348  cfv 5352  (class class class)co 6050  cc 8125  cr 8126  0cc0 8127   + caddc 8130   < clt 8308  cmin 8444  0cn0 9496  cz 9577  cuz 9853  ...cfz 10342  ..^cfzo 10476  chash 11138  Word cword 11224   ++ cconcat 11278
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 619  ax-in2 620  ax-io 717  ax-5 1496  ax-7 1497  ax-gen 1498  ax-ie1 1542  ax-ie2 1543  ax-8 1553  ax-10 1554  ax-11 1555  ax-i12 1556  ax-bndl 1558  ax-4 1559  ax-17 1575  ax-i9 1579  ax-ial 1583  ax-i5r 1584  ax-13 2205  ax-14 2206  ax-ext 2214  ax-coll 4225  ax-sep 4228  ax-nul 4236  ax-pow 4287  ax-pr 4322  ax-un 4554  ax-setind 4659  ax-iinf 4710  ax-cnex 8218  ax-resscn 8219  ax-1cn 8220  ax-1re 8221  ax-icn 8222  ax-addcl 8223  ax-addrcl 8224  ax-mulcl 8225  ax-addcom 8227  ax-addass 8229  ax-distr 8231  ax-i2m1 8232  ax-0lt1 8233  ax-0id 8235  ax-rnegex 8236  ax-cnre 8238  ax-pre-ltirr 8239  ax-pre-ltwlin 8240  ax-pre-lttrn 8241  ax-pre-apti 8242  ax-pre-ltadd 8243
This theorem depends on definitions:  df-bi 117  df-dc 843  df-3or 1006  df-3an 1007  df-tru 1401  df-fal 1404  df-nf 1510  df-sb 1812  df-eu 2083  df-mo 2084  df-clab 2219  df-cleq 2225  df-clel 2228  df-nfc 2373  df-ne 2413  df-nel 2508  df-ral 2525  df-rex 2526  df-reu 2527  df-rab 2529  df-v 2815  df-sbc 3043  df-csb 3139  df-dif 3213  df-un 3215  df-in 3217  df-ss 3224  df-nul 3509  df-if 3621  df-pw 3671  df-sn 3695  df-pr 3696  df-op 3698  df-uni 3915  df-int 3950  df-iun 3993  df-br 4110  df-opab 4172  df-mpt 4173  df-tr 4209  df-id 4414  df-iord 4487  df-on 4489  df-ilim 4490  df-suc 4492  df-iom 4713  df-xp 4755  df-rel 4756  df-cnv 4757  df-co 4758  df-dm 4759  df-rn 4760  df-res 4761  df-ima 4762  df-iota 5312  df-fun 5354  df-fn 5355  df-f 5356  df-f1 5357  df-fo 5358  df-f1o 5359  df-fv 5360  df-riota 6003  df-ov 6053  df-oprab 6054  df-mpo 6055  df-1st 6334  df-2nd 6335  df-recs 6536  df-frec 6622  df-1o 6647  df-er 6767  df-en 6976  df-dom 6977  df-fin 6978  df-pnf 8310  df-mnf 8311  df-xr 8312  df-ltxr 8313  df-le 8314  df-sub 8446  df-neg 8447  df-inn 9238  df-n0 9497  df-z 9578  df-uz 9854  df-fz 10343  df-fzo 10477  df-ihash 11139  df-word 11225  df-concat 11279
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator