Metamath Proof Explorer


Theorem lpadright

Description: The suffix of a left-padded word the original word W . (Contributed by Thierry Arnoux, 7-Aug-2023)

Ref Expression
Hypotheses lpadlen.1 φL0
lpadlen.2 φWWordS
lpadlen.3 φCS
lpadright.1 φM=ifLW0LW
lpadright.2 φN0..^W
Assertion lpadright φCleftpadWLN+M=WN

Proof

Step Hyp Ref Expression
1 lpadlen.1 φL0
2 lpadlen.2 φWWordS
3 lpadlen.3 φCS
4 lpadright.1 φM=ifLW0LW
5 lpadright.2 φN0..^W
6 1 2 3 lpadval φCleftpadWL=0..^LW×C++W
7 6 fveq1d φCleftpadWLN+M=0..^LW×C++WN+M
8 eqeq2 0=ifLW0LW0..^LW×C=00..^LW×C=ifLW0LW
9 eqeq2 LW=ifLW0LW0..^LW×C=LW0..^LW×C=ifLW0LW
10 1 adantr φLWL0
11 2 adantr φLWWWordS
12 3 adantr φLWCS
13 simpr φLWLW
14 10 11 12 13 lpadlem3 φLW0..^LW×C=
15 14 fveq2d φLW0..^LW×C=
16 hash0 =0
17 15 16 eqtrdi φLW0..^LW×C=0
18 1 adantr φ¬LWL0
19 2 adantr φ¬LWWWordS
20 3 adantr φ¬LWCS
21 lencl WWordSW0
22 2 21 syl φW0
23 22 nn0red φW
24 23 adantr φ¬LWW
25 1 nn0red φL
26 25 adantr φ¬LWL
27 23 25 ltnled φW<L¬LW
28 27 biimpar φ¬LWW<L
29 24 26 28 ltled φ¬LWWL
30 18 19 20 29 lpadlem2 φ¬LW0..^LW×C=LW
31 8 9 17 30 ifbothda φ0..^LW×C=ifLW0LW
32 31 4 eqtr4d φ0..^LW×C=M
33 32 oveq2d φN+0..^LW×C=N+M
34 33 fveq2d φ0..^LW×C++WN+0..^LW×C=0..^LW×C++WN+M
35 3 lpadlem1 φ0..^LW×CWordS
36 ccatval3 0..^LW×CWordSWWordSN0..^W0..^LW×C++WN+0..^LW×C=WN
37 35 2 5 36 syl3anc φ0..^LW×C++WN+0..^LW×C=WN
38 7 34 37 3eqtr2d φCleftpadWLN+M=WN