let D be non empty set ; for f1 being FinSequence of D
for i1, i2 being Nat holds mid (f1,i1,i2) = Rev (mid (f1,i2,i1))
let f1 be FinSequence of D; for i1, i2 being Nat holds mid (f1,i1,i2) = Rev (mid (f1,i2,i1))
let k1, k2 be Nat; mid (f1,k1,k2) = Rev (mid (f1,k2,k1))
now ( ( k1 <= k2 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) or ( k1 > k2 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) )per cases
( k1 <= k2 or k1 > k2 )
;
case A1:
k1 <= k2
;
mid (f1,k1,k2) = Rev (mid (f1,k2,k1))then A2:
mid (
f1,
k1,
k2)
= (f1 /^ (k1 -' 1)) | ((k2 -' k1) + 1)
by FINSEQ_6:def 3;
now ( ( k1 < k2 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) or ( k1 = k2 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) )per cases
( k1 < k2 or k1 = k2 )
by A1, XXREAL_0:1;
case A3:
k1 = k2
;
mid (f1,k1,k2) = Rev (mid (f1,k2,k1))A4:
(
k1 = 0 or
0 + 1
<= k1 )
by NAT_1:13;
now ( ( k1 = 0 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) or ( 1 <= k1 & k1 <= len f1 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) or ( len f1 < k1 & mid (f1,k1,k2) = Rev (mid (f1,k2,k1)) ) )end; hence
mid (
f1,
k1,
k2)
= Rev (mid (f1,k2,k1))
;
verum end; end; end; hence
mid (
f1,
k1,
k2)
= Rev (mid (f1,k2,k1))
;
verum end; end; end;
hence
mid (f1,k1,k2) = Rev (mid (f1,k2,k1))
; verum