Metamath Proof Explorer


Theorem revrev

Description: Reversal is an involution on words. (Contributed by Mario Carneiro, 1-Oct-2015)

Ref Expression
Assertion revrev WWordAreversereverseW=W

Proof

Step Hyp Ref Expression
1 revcl WWordAreverseWWordA
2 revcl reverseWWordAreversereverseWWordA
3 wrdf reversereverseWWordAreversereverseW:0..^reversereverseWA
4 ffn reversereverseW:0..^reversereverseWAreversereverseWFn0..^reversereverseW
5 1 2 3 4 4syl WWordAreversereverseWFn0..^reversereverseW
6 revlen reverseWWordAreversereverseW=reverseW
7 1 6 syl WWordAreversereverseW=reverseW
8 revlen WWordAreverseW=W
9 7 8 eqtrd WWordAreversereverseW=W
10 9 oveq2d WWordA0..^reversereverseW=0..^W
11 10 fneq2d WWordAreversereverseWFn0..^reversereverseWreversereverseWFn0..^W
12 5 11 mpbid WWordAreversereverseWFn0..^W
13 wrdfn WWordAWFn0..^W
14 simpr WWordAx0..^Wx0..^W
15 8 adantr WWordAx0..^WreverseW=W
16 15 oveq2d WWordAx0..^W0..^reverseW=0..^W
17 14 16 eleqtrrd WWordAx0..^Wx0..^reverseW
18 revfv reverseWWordAx0..^reverseWreversereverseWx=reverseWreverseW-1-x
19 1 17 18 syl2an2r WWordAx0..^WreversereverseWx=reverseWreverseW-1-x
20 15 oveq1d WWordAx0..^WreverseW1=W1
21 20 fvoveq1d WWordAx0..^WreverseWreverseW-1-x=reverseWW-1-x
22 lencl WWordAW0
23 22 nn0zd WWordAW
24 fzoval W0..^W=0W1
25 23 24 syl WWordA0..^W=0W1
26 25 eleq2d WWordAx0..^Wx0W1
27 26 biimpa WWordAx0..^Wx0W1
28 fznn0sub2 x0W1W-1-x0W1
29 27 28 syl WWordAx0..^WW-1-x0W1
30 25 adantr WWordAx0..^W0..^W=0W1
31 29 30 eleqtrrd WWordAx0..^WW-1-x0..^W
32 revfv WWordAW-1-x0..^WreverseWW-1-x=WW-1-W-1-x
33 31 32 syldan WWordAx0..^WreverseWW-1-x=WW-1-W-1-x
34 peano2zm WW1
35 23 34 syl WWordAW1
36 35 zcnd WWordAW1
37 elfzoelz x0..^Wx
38 37 zcnd x0..^Wx
39 nncan W1xW-1-W-1-x=x
40 36 38 39 syl2an WWordAx0..^WW-1-W-1-x=x
41 40 fveq2d WWordAx0..^WWW-1-W-1-x=Wx
42 33 41 eqtrd WWordAx0..^WreverseWW-1-x=Wx
43 21 42 eqtrd WWordAx0..^WreverseWreverseW-1-x=Wx
44 19 43 eqtrd WWordAx0..^WreversereverseWx=Wx
45 12 13 44 eqfnfvd WWordAreversereverseW=W