Metamath Proof Explorer


Theorem signstfvc

Description: Zero-skipping sign in a word compared to a shorter word. (Contributed by Thierry Arnoux, 11-Oct-2018)

Ref Expression
Hypotheses signsv.p ˙=a101,b101ifb=0ab
signsv.w W=Basendx101+ndx˙
signsv.t T=fWordn0..^fWi=0nsgnfi
signsv.v V=fWordj1..^fifTfjTfj110
Assertion signstfvc FWordGWordN0..^FTF++GN=TFN

Proof

Step Hyp Ref Expression
1 signsv.p ˙=a101,b101ifb=0ab
2 signsv.w W=Basendx101+ndx˙
3 signsv.t T=fWordn0..^fWi=0nsgnfi
4 signsv.v V=fWordj1..^fifTfjTfj110
5 oveq2 g=F++g=F++
6 5 fveq2d g=TF++g=TF++
7 6 fveq1d g=TF++gN=TF++N
8 7 eqeq1d g=TF++gN=TFNTF++N=TFN
9 8 imbi2d g=FWordN0..^FTF++gN=TFNFWordN0..^FTF++N=TFN
10 oveq2 g=eF++g=F++e
11 10 fveq2d g=eTF++g=TF++e
12 11 fveq1d g=eTF++gN=TF++eN
13 12 eqeq1d g=eTF++gN=TFNTF++eN=TFN
14 13 imbi2d g=eFWordN0..^FTF++gN=TFNFWordN0..^FTF++eN=TFN
15 oveq2 g=e++⟨“k”⟩F++g=F++e++⟨“k”⟩
16 15 fveq2d g=e++⟨“k”⟩TF++g=TF++e++⟨“k”⟩
17 16 fveq1d g=e++⟨“k”⟩TF++gN=TF++e++⟨“k”⟩N
18 17 eqeq1d g=e++⟨“k”⟩TF++gN=TFNTF++e++⟨“k”⟩N=TFN
19 18 imbi2d g=e++⟨“k”⟩FWordN0..^FTF++gN=TFNFWordN0..^FTF++e++⟨“k”⟩N=TFN
20 oveq2 g=GF++g=F++G
21 20 fveq2d g=GTF++g=TF++G
22 21 fveq1d g=GTF++gN=TF++GN
23 22 eqeq1d g=GTF++gN=TFNTF++GN=TFN
24 23 imbi2d g=GFWordN0..^FTF++gN=TFNFWordN0..^FTF++GN=TFN
25 ccatrid FWordF++=F
26 25 fveq2d FWordTF++=TF
27 26 fveq1d FWordTF++N=TFN
28 27 adantr FWordN0..^FTF++N=TFN
29 s1cl k⟨“k”⟩Word
30 ccatass FWordeWord⟨“k”⟩WordF++e++⟨“k”⟩=F++e++⟨“k”⟩
31 29 30 syl3an3 FWordeWordkF++e++⟨“k”⟩=F++e++⟨“k”⟩
32 31 3expb FWordeWordkF++e++⟨“k”⟩=F++e++⟨“k”⟩
33 32 adantlr FWordN0..^FeWordkF++e++⟨“k”⟩=F++e++⟨“k”⟩
34 33 fveq2d FWordN0..^FeWordkTF++e++⟨“k”⟩=TF++e++⟨“k”⟩
35 34 fveq1d FWordN0..^FeWordkTF++e++⟨“k”⟩N=TF++e++⟨“k”⟩N
36 ccatcl FWordeWordF++eWord
37 36 ad2ant2r FWordN0..^FeWordkF++eWord
38 simprr FWordN0..^FeWordkk
39 lencl FWordF0
40 39 nn0zd FWordF
41 40 adantr FWordeWordF
42 lencl F++eWordF++e0
43 36 42 syl FWordeWordF++e0
44 43 nn0zd FWordeWordF++e
45 39 nn0red FWordF
46 lencl eWorde0
47 nn0addge1 Fe0FF+e
48 45 46 47 syl2an FWordeWordFF+e
49 ccatlen FWordeWordF++e=F+e
50 48 49 breqtrrd FWordeWordFF++e
51 eluz2 F++eFFF++eFF++e
52 41 44 50 51 syl3anbrc FWordeWordF++eF
53 fzoss2 F++eF0..^F0..^F++e
54 52 53 syl FWordeWord0..^F0..^F++e
55 54 ad2ant2r FWordN0..^FeWordk0..^F0..^F++e
56 simplr FWordN0..^FeWordkN0..^F
57 55 56 sseldd FWordN0..^FeWordkN0..^F++e
58 1 2 3 4 signstfvp F++eWordkN0..^F++eTF++e++⟨“k”⟩N=TF++eN
59 37 38 57 58 syl3anc FWordN0..^FeWordkTF++e++⟨“k”⟩N=TF++eN
60 35 59 eqtr3d FWordN0..^FeWordkTF++e++⟨“k”⟩N=TF++eN
61 id TF++eN=TFNTF++eN=TFN
62 60 61 sylan9eq FWordN0..^FeWordkTF++eN=TFNTF++e++⟨“k”⟩N=TFN
63 62 ex FWordN0..^FeWordkTF++eN=TFNTF++e++⟨“k”⟩N=TFN
64 63 expcom eWordkFWordN0..^FTF++eN=TFNTF++e++⟨“k”⟩N=TFN
65 64 a2d eWordkFWordN0..^FTF++eN=TFNFWordN0..^FTF++e++⟨“k”⟩N=TFN
66 9 14 19 24 28 65 wrdind GWordFWordN0..^FTF++GN=TFN
67 66 3impib GWordFWordN0..^FTF++GN=TFN
68 67 3com12 FWordGWordN0..^FTF++GN=TFN