Metamath Proof Explorer


Theorem pfxccat1

Description: Recover the left half of a concatenated word. (Contributed by Mario Carneiro, 27-Sep-2015) (Revised by AV, 6-May-2020)

Ref Expression
Assertion pfxccat1 SWordBTWordBS++TprefixS=S

Proof

Step Hyp Ref Expression
1 ccatcl SWordBTWordBS++TWordB
2 lencl SWordBS0
3 lencl TWordBT0
4 2 3 anim12i SWordBTWordBS0T0
5 nn0fz0 S0S0S
6 2 5 sylib SWordBS0S
7 6 adantr SWordBTWordBS0S
8 elfz0add S0T0S0SS0S+T
9 4 7 8 sylc SWordBTWordBS0S+T
10 ccatlen SWordBTWordBS++T=S+T
11 10 oveq2d SWordBTWordB0S++T=0S+T
12 9 11 eleqtrrd SWordBTWordBS0S++T
13 pfxres S++TWordBS0S++TS++TprefixS=S++T0..^S
14 1 12 13 syl2anc SWordBTWordBS++TprefixS=S++T0..^S
15 ccatvalfn SWordBTWordBS++TFn0..^S+T
16 2 nn0zd SWordBS
17 16 uzidd SWordBSS
18 uzaddcl SST0S+TS
19 17 3 18 syl2an SWordBTWordBS+TS
20 fzoss2 S+TS0..^S0..^S+T
21 19 20 syl SWordBTWordB0..^S0..^S+T
22 15 21 fnssresd SWordBTWordBS++T0..^SFn0..^S
23 wrdfn SWordBSFn0..^S
24 23 adantr SWordBTWordBSFn0..^S
25 fvres k0..^SS++T0..^Sk=S++Tk
26 25 adantl SWordBTWordBk0..^SS++T0..^Sk=S++Tk
27 ccatval1 SWordBTWordBk0..^SS++Tk=Sk
28 27 3expa SWordBTWordBk0..^SS++Tk=Sk
29 26 28 eqtrd SWordBTWordBk0..^SS++T0..^Sk=Sk
30 22 24 29 eqfnfvd SWordBTWordBS++T0..^S=S
31 14 30 eqtrd SWordBTWordBS++TprefixS=S