len f < (len f) + 1
by NAT_1:13;
then A49:
(len f) - 1 < ((len f) + 1) - 1
by XREAL_1:9;
A50:
(i2 + 1) - 1 <= (len f) - 1
by A4, XREAL_1:9;
A51:
i2 < len f
by A4, NAT_1:13;
A52:
(i1 + 1) - 1 <= (len f) - 1
by A2, XREAL_1:9;
A53:
i1 -' 1 = i1 - 1
by A1, XREAL_1:233;
A54:
i1 < len f
by A2, NAT_1:13;
then A55:
(len f) -' 1 = (len f) - 1
by A1, XREAL_1:233, XXREAL_0:2;
A56:
1 < len f
by A1, A54, XXREAL_0:2;
then
1 + 1 <= len f
by NAT_1:13;
then A57:
(1 + 1) - 1 <= (len f) - 1
by XREAL_1:9;
then A58:
1 <= (len f) -' 1
by NAT_D:39;
now ( ( i1 <= i2 & ex g being FinSequence of (TOP-REAL 2) st
( g is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies g . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies g . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) ) or ( i1 > i2 & ex g being FinSequence of (TOP-REAL 2) st
( g is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies g . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies g . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) ) )per cases
( i1 <= i2 or i1 > i2 )
;
case A59:
i1 <= i2
;
ex g being FinSequence of (TOP-REAL 2) st
( g is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies g . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies g . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then A60:
i1 < i2
by A5, XXREAL_0:1;
now ( ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) & mid (f,i1,i2) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies (mid (f,i1,i2)) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies (mid (f,i1,i2)) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) or ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 & (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) )per cases
( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 or ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 ) )
;
case A61:
(
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 )
;
( mid (f,i1,i2) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies (mid (f,i1,i2)) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies (mid (f,i1,i2)) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )set g =
mid (
f,
i1,
i2);
i1 + 1
<= i2
by A60, NAT_1:13;
then
(1 + i1) + 1
<= i2 + 1
by XREAL_1:6;
then
(2 + i1) - i1 <= (i2 + 1) - i1
by XREAL_1:9;
then A62:
(2 + i1) - i1 <= (i2 - i1) + 1
;
len (mid (f,i1,i2)) = (i2 -' i1) + 1
by A1, A3, A54, A51, A59, FINSEQ_6:118;
then
2
<= len (mid (f,i1,i2))
by A59, A62, XREAL_1:233;
then A63:
(mid (f,i1,i2)) . 2 =
f . ((2 + i1) -' 1)
by A1, A3, A54, A51, A59, FINSEQ_6:118
.=
f . (((i1 + 1) + 1) - 1)
by NAT_D:37
.=
f . (i1 + 1)
;
mid (
f,
i1,
i2)
is_a_part>_of f,
i1,
i2
by A1, A51, A59, Th31;
hence
(
mid (
f,
i1,
i2)
is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
(mid (f,i1,i2)) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
(mid (f,i1,i2)) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A61, A63;
verum end; case A64:
(
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 )
;
( (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )set g =
(mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2));
A65:
len (mid (f,i1,1)) = (i1 -' 1) + 1
by A1, A54, FINSEQ_6:187;
A66:
(mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part<_of f,
i1,
i2
by A1, A51, A60, Th34;
now ( ( 1 < i1 & (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) or ( 1 >= i1 & (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) )per cases
( 1 < i1 or 1 >= i1 )
;
case A67:
1
< i1
;
( (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then
1
+ 1
<= (i1 - 1) + 1
by NAT_1:13;
then A68:
2
<= len (mid (f,i1,1))
by A1, A65, XREAL_1:233;
A69:
i1 -' 1
<= (len f) -' 1
by A54, A53, A55, XREAL_1:9;
A70:
1
+ 1
<= i1
by A67, NAT_1:13;
then A71:
(1 + 1) - 1
<= i1 - 1
by XREAL_1:9;
A72:
f . ((i1 -' (1 + 1)) + 1) =
f . ((i1 - (1 + 1)) + 1)
by A70, XREAL_1:233
.=
f . (i1 - 1)
.=
f . (i1 -' 1)
by A1, XREAL_1:233
;
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 =
(mid (f,i1,1)) . 2
by A53, A65, A70, FINSEQ_1:64
.=
f . ((i1 -' (1 + 1)) + 1)
by A54, A56, A67, A68, FINSEQ_6:118
;
hence
(
(mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A53, A64, A66, A72, A71, A69, Th22;
verum end; case A73:
1
>= i1
;
( (mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then
i1 = 1
by A1, XXREAL_0:1;
then A74:
i1 -' 1
= 0
by XREAL_1:232;
A75:
S_Drop (
(i1 -' 1),
f) =
S_Drop (
((i1 -' 1) + ((len f) -' 1)),
f)
by Th23
.=
(len f) -' 1
by A58, A74, Th22
;
A76:
1
<= (((len f) -' 1) -' i2) + 1
by NAT_1:11;
A77:
(i2 + 1) - 1
<= (len f) - 1
by A4, XREAL_1:9;
A78:
(len f) - i2 >= (i2 + 1) - i2
by A4, XREAL_1:9;
1
<= len f
by A56;
then S1:
1
in dom f
by FINSEQ_3:25;
A79:
len (mid (f,i1,1)) =
len (mid (f,1,1))
by A1, A73, XXREAL_0:1
.=
1
by S1, FINSEQ_6:193
;
len (mid (f,((len f) -' 1),i2)) =
(((len f) -' 1) -' i2) + 1
by A3, A55, A50, A49, FINSEQ_6:187
.=
(((len f) - 1) - i2) + 1
by A55, A50, XREAL_1:233
.=
(len f) - i2
;
then
1
+ 1
<= (len (mid (f,i1,1))) + (len (mid (f,((len f) -' 1),i2)))
by A79, A78, XREAL_1:6;
then ((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2 =
(mid (f,((len f) -' 1),i2)) . (2 - (len (mid (f,i1,1))))
by A79, FINSEQ_6:108
.=
(mid (f,((len f) -' 1),i2)) . (2 - ((i1 -' 1) + 1))
by A1, A54, FINSEQ_6:187
.=
(mid (f,((len f) -' 1),i2)) . ((1 + 1) - ((1 -' 1) + 1))
by A1, A73, XXREAL_0:1
.=
(mid (f,((len f) -' 1),i2)) . ((1 + 1) - (0 + 1))
by XREAL_1:232
.=
f . ((((len f) -' 1) -' 1) + 1)
by A3, A55, A49, A77, A76, FINSEQ_6:190
.=
f . ((len f) -' 1)
by A58, XREAL_1:235
;
hence
(
(mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A64, A66, A75;
verum end; end; end; hence
(
(mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,1)) ^ (mid (f,((len f) -' 1),i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
;
verum end; end; end; hence
ex
g being
FinSequence of
(TOP-REAL 2) st
(
g is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
g . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
g . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
;
verum end; case A80:
i1 > i2
;
ex g being FinSequence of (TOP-REAL 2) st
( g is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies g . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies g . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then
i1 > 1
by A3, XXREAL_0:2;
then A81:
1
+ 1
<= i1
by NAT_1:13;
then A82:
(1 + 1) - 1
<= i1 - 1
by XREAL_1:9;
now ( ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 & mid (f,i1,i2) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies (mid (f,i1,i2)) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies (mid (f,i1,i2)) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) or ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) & (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) )per cases
( ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 ) or (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 )
;
case A83:
(
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 )
;
( mid (f,i1,i2) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies (mid (f,i1,i2)) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies (mid (f,i1,i2)) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )set g =
mid (
f,
i1,
i2);
A84:
i1 -' 1
<= (len f) -' 1
by A54, A53, A55, XREAL_1:9;
i2 + 1
<= i1
by A80, NAT_1:13;
then
(1 + i2) + 1
<= i1 + 1
by XREAL_1:6;
then
(2 + i2) - i2 <= (i1 + 1) - i2
by XREAL_1:9;
then A85:
(2 + i2) - i2 <= (i1 - i2) + 1
;
len (mid (f,i1,i2)) = (i1 -' i2) + 1
by A1, A3, A54, A51, A80, FINSEQ_6:118;
then
2
<= len (mid (f,i1,i2))
by A80, A85, XREAL_1:233;
then A86:
(mid (f,i1,i2)) . 2 =
f . ((i1 -' 2) + 1)
by A1, A3, A54, A51, A80, FINSEQ_6:118
.=
f . ((i1 - (1 + 1)) + 1)
by A81, XREAL_1:233
.=
f . (i1 - 1)
.=
f . (i1 -' 1)
by A1, XREAL_1:233
;
mid (
f,
i1,
i2)
is_a_part<_of f,
i1,
i2
by A3, A54, A80, Th32;
hence
(
mid (
f,
i1,
i2)
is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
(mid (f,i1,i2)) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
(mid (f,i1,i2)) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A53, A82, A83, A86, A84, Th22;
verum end; case A87:
(
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 )
;
( (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )set g =
(mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2));
A88:
(mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part>_of f,
i1,
i2
by A3, A54, A80, Th33;
A89:
len (mid (f,i1,((len f) -' 1))) =
(((len f) -' 1) -' i1) + 1
by A1, A54, A57, A55, A52, A49, FINSEQ_6:118
.=
(((len f) - 1) - i1) + 1
by A55, A52, XREAL_1:233
.=
(len f) - i1
;
now ( ( i1 + 1 < len f & (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) or ( i1 + 1 >= len f & (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) )per cases
( i1 + 1 < len f or i1 + 1 >= len f )
;
case
i1 + 1
< len f
;
( (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then
(i1 + 1) + 1
<= len f
by NAT_1:13;
then A90:
(i1 + 2) - i1 <= (len f) - i1
by XREAL_1:9;
then ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 =
(mid (f,i1,((len f) -' 1))) . 2
by A89, FINSEQ_1:64
.=
f . ((2 + i1) -' 1)
by A1, A54, A57, A55, A52, A49, A89, A90, FINSEQ_6:118
.=
f . (((1 + 1) + i1) - 1)
by NAT_D:37
.=
f . (1 + i1)
;
hence
(
(mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A87, A88;
verum end; case A91:
i1 + 1
>= len f
;
( (mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 = f . (S_Drop ((i1 -' 1),f)) ) )then S1:
i1 + 1
= len f
by A2, XXREAL_0:1;
then
i1 <= len f
by NAT_1:13;
then
i1 in dom f
by A1, FINSEQ_3:25;
then A92:
len (mid (f,i1,((len f) -' 1))) = 1
by A55, S1, FINSEQ_6:193;
len (mid (f,1,i2)) =
(i2 -' 1) + 1
by A3, A56, A51, FINSEQ_6:118
.=
(i2 - 1) + 1
by A3, XREAL_1:233
.=
i2
;
then
1
+ 1
<= (len (mid (f,i1,((len f) -' 1)))) + (len (mid (f,1,i2)))
by A3, A92, XREAL_1:6;
then ((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2 =
(mid (f,1,i2)) . (2 - ((i1 + 1) - i1))
by A92, FINSEQ_6:108
.=
f . 1
by A3, A56, A51, FINSEQ_6:118
.=
f /. 1
by A56, FINSEQ_4:15
.=
f /. (len f)
by FINSEQ_6:def 1
.=
f . (len f)
by A56, FINSEQ_4:15
;
hence
(
(mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
by A87, A88, A91, XXREAL_0:1;
verum end; end; end; hence
(
(mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2)) is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
((mid (f,i1,((len f) -' 1))) ^ (mid (f,1,i2))) . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
;
verum end; end; end; hence
ex
g being
FinSequence of
(TOP-REAL 2) st
(
g is_a_part_of f,
i1,
i2 & ( (
(f /. (i1 + 1)) `1 > (f /. i1) `1 or
(f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies
g . 2
= f . (i1 + 1) ) & (
(f /. (i1 + 1)) `1 <= (f /. i1) `1 &
(f /. (i1 + 1)) `2 <= (f /. i1) `2 implies
g . 2
= f . (S_Drop ((i1 -' 1),f)) ) )
;
verum end; end; end;
hence
( ex b1 being FinSequence of (TOP-REAL 2) st
( b1 is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies b1 . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies b1 . 2 = f . (S_Drop ((i1 -' 1),f)) ) ) & ( for b1, b2 being FinSequence of (TOP-REAL 2) st b1 is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies b1 . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies b1 . 2 = f . (S_Drop ((i1 -' 1),f)) ) & b2 is_a_part_of f,i1,i2 & ( ( (f /. (i1 + 1)) `1 > (f /. i1) `1 or (f /. (i1 + 1)) `2 > (f /. i1) `2 ) implies b2 . 2 = f . (i1 + 1) ) & ( (f /. (i1 + 1)) `1 <= (f /. i1) `1 & (f /. (i1 + 1)) `2 <= (f /. i1) `2 implies b2 . 2 = f . (S_Drop ((i1 -' 1),f)) ) holds
b1 = b2 ) )
by A5, Th55; verum