let D be non empty set ; for s being FinSequence of D
for n, m being Integer st 1 <= len s holds
Op-Shift ((Op-Shift (s,n)),m) = Op-Shift (s,(n + m))
let s be FinSequence of D; for n, m being Integer st 1 <= len s holds
Op-Shift ((Op-Shift (s,n)),m) = Op-Shift (s,(n + m))
let n, m be Integer; ( 1 <= len s implies Op-Shift ((Op-Shift (s,n)),m) = Op-Shift (s,(n + m)) )
assume A1:
1 <= len s
; Op-Shift ((Op-Shift (s,n)),m) = Op-Shift (s,(n + m))
A2:
( len (Op-Shift (s,n)) = len s & ( for i being Nat st i in Seg (len s) holds
(Op-Shift (s,n)) . i = s . ((((i - 1) + n) mod (len s)) + 1) ) )
by Def3, A1;
A3:
( len (Op-Shift (s,(n + m))) = len s & ( for i being Nat st i in Seg (len s) holds
(Op-Shift (s,(n + m))) . i = s . ((((i - 1) + (n + m)) mod (len s)) + 1) ) )
by Def3, A1;
A4:
len (Op-Shift ((Op-Shift (s,n)),m)) = len (Op-Shift (s,(n + m)))
by A3, Def3, A1, A2;
now for i being Nat st i in dom (Op-Shift ((Op-Shift (s,n)),m)) holds
(Op-Shift ((Op-Shift (s,n)),m)) . i = (Op-Shift (s,(n + m))) . ilet i be
Nat;
( i in dom (Op-Shift ((Op-Shift (s,n)),m)) implies (Op-Shift ((Op-Shift (s,n)),m)) . i = (Op-Shift (s,(n + m))) . i )assume A5:
i in dom (Op-Shift ((Op-Shift (s,n)),m))
;
(Op-Shift ((Op-Shift (s,n)),m)) . i = (Op-Shift (s,(n + m))) . ithen A6:
i in Seg (len s)
by A3, A4, FINSEQ_1:def 3;
A7:
i in Seg (len (Op-Shift (s,n)))
by A2, A3, A4, A5, FINSEQ_1:def 3;
reconsider i1 =
((i - 1) + m) mod (len s) as
Element of
NAT by INT_1:3, INT_1:57;
A8:
0 + 1
<= i1 + 1
by XREAL_1:6;
i1 + 1
<= len s
by A1, INT_1:58, NAT_1:13;
then A9:
i1 + 1
in Seg (len s)
by A8;
A10:
i1 mod (len s) = ((i - 1) + m) mod (len s)
by NAT_D:65;
A11:
(i1 + n) mod (len s) =
((((i - 1) + m) mod (len s)) + (n mod (len s))) mod (len s)
by A10, NAT_D:66
.=
(((i - 1) + m) + n) mod (len s)
by NAT_D:66
;
A12:
(Op-Shift ((Op-Shift (s,n)),m)) . i =
(Op-Shift (s,n)) . (i1 + 1)
by A7, Def3, A1, A2
.=
s . (((((i1 + 1) - 1) + n) mod (len s)) + 1)
by A9, Def3, A1
.=
s . (((((i - 1) + n) + m) mod (len s)) + 1)
by A11
;
(Op-Shift (s,(n + m))) . i = s . ((((i - 1) + (n + m)) mod (len s)) + 1)
by A6, Def3, A1;
hence
(Op-Shift ((Op-Shift (s,n)),m)) . i = (Op-Shift (s,(n + m))) . i
by A12;
verum end;
hence
Op-Shift ((Op-Shift (s,n)),m) = Op-Shift (s,(n + m))
by A4, FINSEQ_2:9; verum