Metamath Proof Explorer


Theorem ccatalpha

Description: A concatenation of two arbitrary words is a word over an alphabet iff the symbols of both words belong to the alphabet. (Contributed by AV, 28-Feb-2021)

Ref Expression
Assertion ccatalpha AWordVBWordVA++BWordSAWordSBWordS

Proof

Step Hyp Ref Expression
1 ccatfval AWordVBWordVA++B=x0..^A+Bifx0..^AAxBxA
2 1 eleq1d AWordVBWordVA++BWordSx0..^A+Bifx0..^AAxBxAWordS
3 wrdf x0..^A+Bifx0..^AAxBxAWordSx0..^A+Bifx0..^AAxBxA:0..^x0..^A+Bifx0..^AAxBxAS
4 funmpt Funx0..^A+Bifx0..^AAxBxA
5 fzofi 0..^A+BFin
6 mptfi 0..^A+BFinx0..^A+Bifx0..^AAxBxAFin
7 5 6 ax-mp x0..^A+Bifx0..^AAxBxAFin
8 hashfun x0..^A+Bifx0..^AAxBxAFinFunx0..^A+Bifx0..^AAxBxAx0..^A+Bifx0..^AAxBxA=domx0..^A+Bifx0..^AAxBxA
9 7 8 mp1i AWordVBWordVFunx0..^A+Bifx0..^AAxBxAx0..^A+Bifx0..^AAxBxA=domx0..^A+Bifx0..^AAxBxA
10 4 9 mpbii AWordVBWordVx0..^A+Bifx0..^AAxBxA=domx0..^A+Bifx0..^AAxBxA
11 dmmptg x0..^A+Bifx0..^AAxBxAVdomx0..^A+Bifx0..^AAxBxA=0..^A+B
12 fvex AxV
13 fvex BxAV
14 12 13 ifex ifx0..^AAxBxAV
15 14 a1i x0..^A+Bifx0..^AAxBxAV
16 11 15 mprg domx0..^A+Bifx0..^AAxBxA=0..^A+B
17 16 fveq2i domx0..^A+Bifx0..^AAxBxA=0..^A+B
18 lencl AWordVA0
19 lencl BWordVB0
20 nn0addcl A0B0A+B0
21 18 19 20 syl2an AWordVBWordVA+B0
22 hashfzo0 A+B00..^A+B=A+B
23 21 22 syl AWordVBWordV0..^A+B=A+B
24 17 23 eqtrid AWordVBWordVdomx0..^A+Bifx0..^AAxBxA=A+B
25 10 24 eqtrd AWordVBWordVx0..^A+Bifx0..^AAxBxA=A+B
26 25 oveq2d AWordVBWordV0..^x0..^A+Bifx0..^AAxBxA=0..^A+B
27 26 feq2d AWordVBWordVx0..^A+Bifx0..^AAxBxA:0..^x0..^A+Bifx0..^AAxBxASx0..^A+Bifx0..^AAxBxA:0..^A+BS
28 eqid x0..^A+Bifx0..^AAxBxA=x0..^A+Bifx0..^AAxBxA
29 28 fmpt x0..^A+Bifx0..^AAxBxASx0..^A+Bifx0..^AAxBxA:0..^A+BS
30 simpl AWordVBWordVAWordV
31 nn0cn A0A
32 nn0cn B0B
33 addcom ABA+B=B+A
34 31 32 33 syl2an A0B0A+B=B+A
35 nn0z A0A
36 35 anim1ci A0B0B0A
37 nn0pzuz B0AB+AA
38 36 37 syl A0B0B+AA
39 34 38 eqeltrd A0B0A+BA
40 18 19 39 syl2an AWordVBWordVA+BA
41 fzoss2 A+BA0..^A0..^A+B
42 40 41 syl AWordVBWordV0..^A0..^A+B
43 42 sselda AWordVBWordVy0..^Ay0..^A+B
44 eleq1 x=yx0..^Ay0..^A
45 fveq2 x=yAx=Ay
46 fvoveq1 x=yBxA=ByA
47 44 45 46 ifbieq12d x=yifx0..^AAxBxA=ify0..^AAyByA
48 47 eleq1d x=yifx0..^AAxBxASify0..^AAyByAS
49 48 rspcv y0..^A+Bx0..^A+Bifx0..^AAxBxASify0..^AAyByAS
50 43 49 syl AWordVBWordVy0..^Ax0..^A+Bifx0..^AAxBxASify0..^AAyByAS
51 iftrue y0..^Aify0..^AAyByA=Ay
52 51 adantl AWordVBWordVy0..^Aify0..^AAyByA=Ay
53 52 eleq1d AWordVBWordVy0..^Aify0..^AAyByASAyS
54 50 53 sylibd AWordVBWordVy0..^Ax0..^A+Bifx0..^AAxBxASAyS
55 54 impancom AWordVBWordVx0..^A+Bifx0..^AAxBxASy0..^AAyS
56 55 ralrimiv AWordVBWordVx0..^A+Bifx0..^AAxBxASy0..^AAyS
57 iswrdsymb AWordVy0..^AAySAWordS
58 30 56 57 syl2an2r AWordVBWordVx0..^A+Bifx0..^AAxBxASAWordS
59 simpr AWordVBWordVBWordV
60 simpr AWordVBWordVy0..^By0..^B
61 18 adantr AWordVBWordVA0
62 61 adantr AWordVBWordVy0..^BA0
63 elincfzoext y0..^BA0y+A0..^B+A
64 60 62 63 syl2anc AWordVBWordVy0..^By+A0..^B+A
65 18 nn0cnd AWordVA
66 19 nn0cnd BWordVB
67 65 66 33 syl2an AWordVBWordVA+B=B+A
68 67 oveq2d AWordVBWordV0..^A+B=0..^B+A
69 68 eleq2d AWordVBWordVy+A0..^A+By+A0..^B+A
70 69 adantr AWordVBWordVy0..^By+A0..^A+By+A0..^B+A
71 64 70 mpbird AWordVBWordVy0..^By+A0..^A+B
72 eleq1 x=y+Ax0..^Ay+A0..^A
73 fveq2 x=y+AAx=Ay+A
74 fvoveq1 x=y+ABxA=By+A-A
75 72 73 74 ifbieq12d x=y+Aifx0..^AAxBxA=ify+A0..^AAy+ABy+A-A
76 75 eleq1d x=y+Aifx0..^AAxBxASify+A0..^AAy+ABy+A-AS
77 76 rspcv y+A0..^A+Bx0..^A+Bifx0..^AAxBxASify+A0..^AAy+ABy+A-AS
78 71 77 syl AWordVBWordVy0..^Bx0..^A+Bifx0..^AAxBxASify+A0..^AAy+ABy+A-AS
79 18 nn0red AWordVA
80 79 adantr AWordVBWordVA
81 80 adantr AWordVBWordVy0..^BA
82 elfzoelz y0..^By
83 82 zred y0..^By
84 83 adantr y0..^BAWordVBWordVy
85 80 adantl y0..^BAWordVBWordVA
86 84 85 readdcld y0..^BAWordVBWordVy+A
87 86 ancoms AWordVBWordVy0..^By+A
88 elfzole1 y0..^B0y
89 88 adantl AWordVBWordVy0..^B0y
90 addge02 Ay0yAy+A
91 80 83 90 syl2an AWordVBWordVy0..^B0yAy+A
92 89 91 mpbid AWordVBWordVy0..^BAy+A
93 81 87 92 lensymd AWordVBWordVy0..^B¬y+A<A
94 93 intn3an3d AWordVBWordVy0..^B¬y+A0Ay+A<A
95 elfzo0 y+A0..^Ay+A0Ay+A<A
96 94 95 sylnibr AWordVBWordVy0..^B¬y+A0..^A
97 96 iffalsed AWordVBWordVy0..^Bify+A0..^AAy+ABy+A-A=By+A-A
98 97 eleq1d AWordVBWordVy0..^Bify+A0..^AAy+ABy+A-ASBy+A-AS
99 82 zcnd y0..^By
100 65 adantr AWordVBWordVA
101 pncan yAy+A-A=y
102 99 100 101 syl2anr AWordVBWordVy0..^By+A-A=y
103 102 fveq2d AWordVBWordVy0..^BBy+A-A=By
104 103 eleq1d AWordVBWordVy0..^BBy+A-ASByS
105 104 biimpd AWordVBWordVy0..^BBy+A-ASByS
106 98 105 sylbid AWordVBWordVy0..^Bify+A0..^AAy+ABy+A-ASByS
107 78 106 syld AWordVBWordVy0..^Bx0..^A+Bifx0..^AAxBxASByS
108 107 impancom AWordVBWordVx0..^A+Bifx0..^AAxBxASy0..^BByS
109 108 ralrimiv AWordVBWordVx0..^A+Bifx0..^AAxBxASy0..^BByS
110 iswrdsymb BWordVy0..^BBySBWordS
111 59 109 110 syl2an2r AWordVBWordVx0..^A+Bifx0..^AAxBxASBWordS
112 58 111 jca AWordVBWordVx0..^A+Bifx0..^AAxBxASAWordSBWordS
113 112 ex AWordVBWordVx0..^A+Bifx0..^AAxBxASAWordSBWordS
114 29 113 syl5bir AWordVBWordVx0..^A+Bifx0..^AAxBxA:0..^A+BSAWordSBWordS
115 27 114 sylbid AWordVBWordVx0..^A+Bifx0..^AAxBxA:0..^x0..^A+Bifx0..^AAxBxASAWordSBWordS
116 3 115 syl5 AWordVBWordVx0..^A+Bifx0..^AAxBxAWordSAWordSBWordS
117 2 116 sylbid AWordVBWordVA++BWordSAWordSBWordS
118 ccatcl AWordSBWordSA++BWordS
119 117 118 impbid1 AWordVBWordVA++BWordSAWordSBWordS