let M be non empty addLoopStr ; for p being FinSequence of the carrier of M
for n, i being Nat st n in dom p & i in dom ((p | (n -' 1)) ^ (p /^ n)) holds
( ( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i ) & ( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) ) & i + 1 in dom p & len ((p | (n -' 1)) ^ (p /^ n)) = (len p) - 1 )
let p be FinSequence of the carrier of M; for n, i being Nat st n in dom p & i in dom ((p | (n -' 1)) ^ (p /^ n)) holds
( ( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i ) & ( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) ) & i + 1 in dom p & len ((p | (n -' 1)) ^ (p /^ n)) = (len p) - 1 )
let n, i be Nat; ( n in dom p & i in dom ((p | (n -' 1)) ^ (p /^ n)) implies ( ( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i ) & ( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) ) & i + 1 in dom p & len ((p | (n -' 1)) ^ (p /^ n)) = (len p) - 1 ) )
set a = p | (n -' 1);
set b = p /^ n;
set q = (p | (n -' 1)) ^ (p /^ n);
assume that
A1:
n in dom p
and
A2:
i in dom ((p | (n -' 1)) ^ (p /^ n))
; ( ( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i ) & ( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) ) & i + 1 in dom p & len ((p | (n -' 1)) ^ (p /^ n)) = (len p) - 1 )
dom p = Seg (len p)
by FINSEQ_1:def 3;
then A4:
( 1 <= n & n <= len p )
by A1, FINSEQ_1:1;
A5:
n <= len p
by A1, FINSEQ_3:25;
then A6:
len (p | (n -' 1)) = n -' 1
by FINSEQ_1:59, NAT_D:44;
A7:
(len p) -' n = (len p) - n
by A5, XREAL_1:233;
A8: len (p /^ n) =
(len p) - n
by A5, RFINSEQ:def 1
.=
(len p) -' n
by A5, XREAL_1:233
;
then A9:
dom (p /^ n) = Seg ((len p) -' n)
by FINSEQ_1:def 3;
A10: len ((p | (n -' 1)) ^ (p /^ n)) =
(len (p | (n -' 1))) + (len (p /^ n))
by FINSEQ_1:22
.=
(n -' 1) + ((len p) - n)
by A6, A8, A5, XREAL_1:233
.=
(n - 1) + ((len p) - n)
by A4, XREAL_1:233
.=
(len p) - 1
;
A11:
dom ((p | (n -' 1)) ^ (p /^ n)) = Seg (len ((p | (n -' 1)) ^ (p /^ n)))
by FINSEQ_1:def 3;
then
( 1 <= i & i <= (len p) - 1 )
by A10, A2, FINSEQ_1:1;
then A12:
( 1 + 1 <= i + 1 & i + 1 <= ((len p) - 1) + 1 )
by XREAL_1:6;
1 <= i + 1
by NAT_1:14;
then A13:
i + 1 in Seg (len p)
by A12;
then A14:
i + 1 in dom p
by FINSEQ_1:def 3;
A15:
( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i )
( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) )
proof
assume A18:
i > n -' 1
;
((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1)
then reconsider j =
i - (n -' 1) as
Nat by NAT_1:21;
A19:
i - (n -' 1) > (n -' 1) - (n -' 1)
by A18, XREAL_1:14;
then A20:
j >= 1
by NAT_1:14;
A21:
i <= (len p) - 1
by A11, A10, A2, FINSEQ_1:1;
A22:
(len (p | (n -' 1))) + 0 < (len (p | (n -' 1))) + j
by A19, XREAL_1:8;
A23:
i <= len ((p | (n -' 1)) ^ (p /^ n))
by A11, A2, FINSEQ_1:1;
A24:
j + n =
(i - (n - 1)) + n
by A4, XREAL_1:233
.=
i + 1
;
((len p) - 1) - (n -' 1) =
((len p) - 1) - (n - 1)
by A4, XREAL_1:233
.=
(len p) - n
;
then
j <= (len p) - n
by A21, XREAL_1:6;
then A25:
j in dom (p /^ n)
by A20, A9, A7;
then (p /^ n) . j =
(p /^ n) /. j
by PARTFUN1:def 6
.=
p /. (i + 1)
by A24, FINSEQ_5:27, A25
.=
p . (i + 1)
by A14, PARTFUN1:def 6
;
hence
((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1)
by FINSEQ_1:24, A6, A22, A23;
verum
end;
hence
( ( i <= n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . i ) & ( i > n -' 1 implies ((p | (n -' 1)) ^ (p /^ n)) . i = p . (i + 1) ) & i + 1 in dom p & len ((p | (n -' 1)) ^ (p /^ n)) = (len p) - 1 )
by A15, A13, FINSEQ_1:def 3, A10; verum