Metamath Proof Explorer


Theorem ccatrn

Description: The range of a concatenated word. (Contributed by Stefan O'Rear, 15-Aug-2015)

Ref Expression
Assertion ccatrn S Word B T Word B ran S ++ T = ran S ran T

Proof

Step Hyp Ref Expression
1 ccatvalfn S Word B T Word B S ++ T Fn 0 ..^ S + T
2 lencl S Word B S 0
3 nn0uz 0 = 0
4 2 3 eleqtrdi S Word B S 0
5 4 adantr S Word B T Word B S 0
6 2 nn0zd S Word B S
7 6 uzidd S Word B S S
8 lencl T Word B T 0
9 uzaddcl S S T 0 S + T S
10 7 8 9 syl2an S Word B T Word B S + T S
11 elfzuzb S 0 S + T S 0 S + T S
12 5 10 11 sylanbrc S Word B T Word B S 0 S + T
13 fzosplit S 0 S + T 0 ..^ S + T = 0 ..^ S S ..^ S + T
14 12 13 syl S Word B T Word B 0 ..^ S + T = 0 ..^ S S ..^ S + T
15 14 eleq2d S Word B T Word B x 0 ..^ S + T x 0 ..^ S S ..^ S + T
16 elun x 0 ..^ S S ..^ S + T x 0 ..^ S x S ..^ S + T
17 15 16 bitrdi S Word B T Word B x 0 ..^ S + T x 0 ..^ S x S ..^ S + T
18 ccatval1 S Word B T Word B x 0 ..^ S S ++ T x = S x
19 18 3expa S Word B T Word B x 0 ..^ S S ++ T x = S x
20 ssun1 ran S ran S ran T
21 wrdfn S Word B S Fn 0 ..^ S
22 21 adantr S Word B T Word B S Fn 0 ..^ S
23 fnfvelrn S Fn 0 ..^ S x 0 ..^ S S x ran S
24 22 23 sylan S Word B T Word B x 0 ..^ S S x ran S
25 20 24 sseldi S Word B T Word B x 0 ..^ S S x ran S ran T
26 19 25 eqeltrd S Word B T Word B x 0 ..^ S S ++ T x ran S ran T
27 ccatval2 S Word B T Word B x S ..^ S + T S ++ T x = T x S
28 27 3expa S Word B T Word B x S ..^ S + T S ++ T x = T x S
29 ssun2 ran T ran S ran T
30 wrdfn T Word B T Fn 0 ..^ T
31 30 adantl S Word B T Word B T Fn 0 ..^ T
32 elfzouz x S ..^ S + T x S
33 uznn0sub x S x S 0
34 32 33 syl x S ..^ S + T x S 0
35 34 3 eleqtrdi x S ..^ S + T x S 0
36 35 adantl S Word B T Word B x S ..^ S + T x S 0
37 8 nn0zd T Word B T
38 37 ad2antlr S Word B T Word B x S ..^ S + T T
39 elfzolt2 x S ..^ S + T x < S + T
40 39 adantl S Word B T Word B x S ..^ S + T x < S + T
41 elfzoelz x S ..^ S + T x
42 41 zred x S ..^ S + T x
43 42 adantl S Word B T Word B x S ..^ S + T x
44 2 nn0red S Word B S
45 44 ad2antrr S Word B T Word B x S ..^ S + T S
46 8 nn0red T Word B T
47 46 ad2antlr S Word B T Word B x S ..^ S + T T
48 43 45 47 ltsubadd2d S Word B T Word B x S ..^ S + T x S < T x < S + T
49 40 48 mpbird S Word B T Word B x S ..^ S + T x S < T
50 elfzo2 x S 0 ..^ T x S 0 T x S < T
51 36 38 49 50 syl3anbrc S Word B T Word B x S ..^ S + T x S 0 ..^ T
52 fnfvelrn T Fn 0 ..^ T x S 0 ..^ T T x S ran T
53 31 51 52 syl2an2r S Word B T Word B x S ..^ S + T T x S ran T
54 29 53 sseldi S Word B T Word B x S ..^ S + T T x S ran S ran T
55 28 54 eqeltrd S Word B T Word B x S ..^ S + T S ++ T x ran S ran T
56 26 55 jaodan S Word B T Word B x 0 ..^ S x S ..^ S + T S ++ T x ran S ran T
57 56 ex S Word B T Word B x 0 ..^ S x S ..^ S + T S ++ T x ran S ran T
58 17 57 sylbid S Word B T Word B x 0 ..^ S + T S ++ T x ran S ran T
59 58 ralrimiv S Word B T Word B x 0 ..^ S + T S ++ T x ran S ran T
60 ffnfv S ++ T : 0 ..^ S + T ran S ran T S ++ T Fn 0 ..^ S + T x 0 ..^ S + T S ++ T x ran S ran T
61 1 59 60 sylanbrc S Word B T Word B S ++ T : 0 ..^ S + T ran S ran T
62 61 frnd S Word B T Word B ran S ++ T ran S ran T
63 fzoss2 S + T S 0 ..^ S 0 ..^ S + T
64 10 63 syl S Word B T Word B 0 ..^ S 0 ..^ S + T
65 64 sselda S Word B T Word B x 0 ..^ S x 0 ..^ S + T
66 fnfvelrn S ++ T Fn 0 ..^ S + T x 0 ..^ S + T S ++ T x ran S ++ T
67 1 65 66 syl2an2r S Word B T Word B x 0 ..^ S S ++ T x ran S ++ T
68 19 67 eqeltrrd S Word B T Word B x 0 ..^ S S x ran S ++ T
69 68 ralrimiva S Word B T Word B x 0 ..^ S S x ran S ++ T
70 ffnfv S : 0 ..^ S ran S ++ T S Fn 0 ..^ S x 0 ..^ S S x ran S ++ T
71 22 69 70 sylanbrc S Word B T Word B S : 0 ..^ S ran S ++ T
72 71 frnd S Word B T Word B ran S ran S ++ T
73 ccatval3 S Word B T Word B x 0 ..^ T S ++ T x + S = T x
74 73 3expa S Word B T Word B x 0 ..^ T S ++ T x + S = T x
75 elfzouz x 0 ..^ T x 0
76 2 adantr S Word B T Word B S 0
77 uzaddcl x 0 S 0 x + S 0
78 75 76 77 syl2anr S Word B T Word B x 0 ..^ T x + S 0
79 nn0addcl S 0 T 0 S + T 0
80 2 8 79 syl2an S Word B T Word B S + T 0
81 80 nn0zd S Word B T Word B S + T
82 81 adantr S Word B T Word B x 0 ..^ T S + T
83 elfzonn0 x 0 ..^ T x 0
84 83 nn0cnd x 0 ..^ T x
85 2 nn0cnd S Word B S
86 85 adantr S Word B T Word B S
87 addcom x S x + S = S + x
88 84 86 87 syl2anr S Word B T Word B x 0 ..^ T x + S = S + x
89 83 nn0red x 0 ..^ T x
90 89 adantl S Word B T Word B x 0 ..^ T x
91 46 ad2antlr S Word B T Word B x 0 ..^ T T
92 44 ad2antrr S Word B T Word B x 0 ..^ T S
93 elfzolt2 x 0 ..^ T x < T
94 93 adantl S Word B T Word B x 0 ..^ T x < T
95 90 91 92 94 ltadd2dd S Word B T Word B x 0 ..^ T S + x < S + T
96 88 95 eqbrtrd S Word B T Word B x 0 ..^ T x + S < S + T
97 elfzo2 x + S 0 ..^ S + T x + S 0 S + T x + S < S + T
98 78 82 96 97 syl3anbrc S Word B T Word B x 0 ..^ T x + S 0 ..^ S + T
99 fnfvelrn S ++ T Fn 0 ..^ S + T x + S 0 ..^ S + T S ++ T x + S ran S ++ T
100 1 98 99 syl2an2r S Word B T Word B x 0 ..^ T S ++ T x + S ran S ++ T
101 74 100 eqeltrrd S Word B T Word B x 0 ..^ T T x ran S ++ T
102 101 ralrimiva S Word B T Word B x 0 ..^ T T x ran S ++ T
103 ffnfv T : 0 ..^ T ran S ++ T T Fn 0 ..^ T x 0 ..^ T T x ran S ++ T
104 31 102 103 sylanbrc S Word B T Word B T : 0 ..^ T ran S ++ T
105 104 frnd S Word B T Word B ran T ran S ++ T
106 72 105 unssd S Word B T Word B ran S ran T ran S ++ T
107 62 106 eqssd S Word B T Word B ran S ++ T = ran S ran T