reconsider N = n as Element of NAT by ORDINAL1:def 13;
set n1 = n + 1;
set p = perm;
set P = Permutations n;
set j = perm . i;
reconsider p' = perm as Permutation of (Seg (n + 1)) by MATRIX_2:def 11;
A2:
( dom p' = Seg (n + 1) & rng p' = Seg (n + 1) )
by FUNCT_2:67, FUNCT_2:def 3;
then A3:
perm . i in Seg (n + 1)
by A1, FUNCT_1:def 5;
defpred S1[ set , set ] means for k being Nat st k in Seg n & $1 = k holds
( ( k < i implies ( ( perm . k < perm . i implies $2 = perm . k ) & ( perm . k >= perm . i implies $2 = (perm . k) - 1 ) ) ) & ( k >= i implies ( ( perm . (k + 1) < perm . i implies $2 = perm . (k + 1) ) & ( perm . (k + 1) >= perm . i implies $2 = (perm . (k + 1)) - 1 ) ) ) );
A4:
for k' being set st k' in Seg n holds
ex y being set st
( y in Seg n & S1[k',y] )
proof
let k' be
set ;
:: thesis: ( k' in Seg n implies ex y being set st
( y in Seg n & S1[k',y] ) )
assume A5:
k' in Seg n
;
:: thesis: ex y being set st
( y in Seg n & S1[k',y] )
consider k being
Element of
NAT such that A6:
(
k' = k & 1
<= k &
k <= n )
by A5;
A7:
k < n + 1
by A6, NAT_1:13;
then
(
k + 1
<= n + 1 & 1
+ 0 <= k + 1 )
by NAT_1:13;
then A8:
(
k in Seg (n + 1) &
k + 1
in Seg (n + 1) )
by A6, A7;
then A9:
(
perm . k in Seg (n + 1) &
perm . (k + 1) in Seg (n + 1) )
by A2, FUNCT_1:def 5;
set k1 =
k + 1;
per cases
( ( k < i & perm . k < perm . i ) or ( k < i & perm . k >= perm . i ) or ( k >= i & perm . (k + 1) < perm . i ) or ( k >= i & perm . (k + 1) >= perm . i ) )
;
suppose A11:
(
k < i &
perm . k >= perm . i )
;
:: thesis: ex y being set st
( y in Seg n & S1[k',y] )then
p' . k <> p' . i
by A1, A8, FUNCT_2:25;
then A12:
(
perm . k > perm . i &
perm . i >= 1 )
by A3, A11, FINSEQ_1:3, XXREAL_0:1;
then reconsider pk1 =
(perm . k) - 1 as
Element of
NAT by NAT_1:20;
(
pk1 < pk1 + 1 &
perm . k <= n + 1 )
by A9, FINSEQ_1:3, NAT_1:13;
then
(
pk1 + 1
> 1 &
pk1 < n + 1 )
by A12, XXREAL_0:2;
then
(
pk1 >= 1 &
pk1 <= n )
by NAT_1:13;
then
(
pk1 in Seg n &
S1[
k',
pk1] )
by A6, A11;
hence
ex
y being
set st
(
y in Seg n &
S1[
k',
y] )
;
:: thesis: verum end; suppose A14:
(
k >= i &
perm . (k + 1) >= perm . i )
;
:: thesis: ex y being set st
( y in Seg n & S1[k',y] )then
i < k + 1
by NAT_1:13;
then
p' . (k + 1) <> p' . i
by A1, A8, FUNCT_2:25;
then A15:
(
perm . (k + 1) > perm . i &
perm . i >= 1 )
by A3, A14, FINSEQ_1:3, XXREAL_0:1;
then reconsider pk1 =
(perm . (k + 1)) - 1 as
Element of
NAT by NAT_1:20;
(
pk1 < pk1 + 1 &
perm . (k + 1) <= n + 1 )
by A9, FINSEQ_1:3, NAT_1:13;
then
(
pk1 + 1
> 1 &
pk1 < n + 1 )
by A15, XXREAL_0:2;
then
(
pk1 >= 1 &
pk1 <= n )
by NAT_1:13;
then
(
pk1 in Seg n &
S1[
k',
pk1] )
by A6, A14;
hence
ex
y being
set st
(
y in Seg n &
S1[
k',
y] )
;
:: thesis: verum end; end;
end;
consider q being Function of (Seg n),(Seg n) such that
A16:
for x being set st x in Seg n holds
S1[x,q . x]
from FUNCT_2:sch 1(A4);
for x1, x2 being set st x1 in dom q & x2 in dom q & q . x1 = q . x2 holds
x1 = x2
proof
let x1,
x2 be
set ;
:: thesis: ( x1 in dom q & x2 in dom q & q . x1 = q . x2 implies x1 = x2 )
assume A17:
(
x1 in dom q &
x2 in dom q &
q . x1 = q . x2 )
;
:: thesis: x1 = x2
A18:
dom q = Seg n
by FUNCT_2:67;
then consider k1 being
Element of
NAT such that A19:
(
x1 = k1 & 1
<= k1 &
k1 <= n )
by A17;
consider k2 being
Element of
NAT such that A20:
(
x2 = k2 & 1
<= k2 &
k2 <= n )
by A17, A18;
A21:
(
k1 < n + 1 &
k2 < n + 1 )
by A19, A20, NAT_1:13;
then
(
k1 + 1
<= n + 1 &
k2 + 1
<= n + 1 &
0 + 1
<= k1 + 1 &
0 + 1
<= k2 + 1 )
by NAT_1:13;
then A22:
(
k1 in Seg (n + 1) &
k2 in Seg (n + 1) &
k1 + 1
in Seg (n + 1) &
k2 + 1
in Seg (n + 1) )
by A19, A20, A21;
per cases
( ( k1 < i & perm . k1 < perm . i ) or ( k1 < i & perm . k1 >= perm . i ) or ( k1 >= i & perm . (k1 + 1) < perm . i ) or ( k1 >= i & perm . (k1 + 1) >= perm . i ) )
;
suppose A23:
(
k1 < i &
perm . k1 < perm . i )
;
:: thesis: x1 = x2then A24:
q . k1 = p' . k1
by A16, A17, A19;
per cases
( ( k2 < i & perm . k2 < perm . i ) or ( k2 < i & perm . k2 >= perm . i ) or ( k2 >= i & perm . (k2 + 1) < perm . i ) or ( k2 >= i & perm . (k2 + 1) >= perm . i ) )
;
suppose A25:
(
k2 < i &
perm . k2 >= perm . i )
;
:: thesis: x1 = x2then
q . k2 = (perm . k2) - 1
by A16, A17, A20;
then
(perm . k1) + 1
= perm . k2
by A17, A19, A20, A24;
then
perm . k2 <= perm . i
by A23, NAT_1:13;
then
p' . k2 = p' . i
by A25, XXREAL_0:1;
hence
x1 = x2
by A1, A2, A22, A25, FUNCT_1:def 8;
:: thesis: verum end; suppose A27:
(
k2 >= i &
perm . (k2 + 1) >= perm . i )
;
:: thesis: x1 = x2then
perm . k1 = (perm . (k2 + 1)) - 1
by A16, A17, A19, A20, A24;
then
(perm . k1) + 1
= perm . (k2 + 1)
;
then
perm . (k2 + 1) <= perm . i
by A23, NAT_1:13;
then
p' . (k2 + 1) = perm . i
by A27, XXREAL_0:1;
then
k2 + 1
= i
by A1, A2, A22, FUNCT_1:def 8;
hence
x1 = x2
by A27, NAT_1:13;
:: thesis: verum end; end; end; suppose A28:
(
k1 < i &
perm . k1 >= perm . i )
;
:: thesis: x1 = x2then A29:
q . k1 = (perm . k1) - 1
by A16, A17, A19;
per cases
( ( k2 < i & perm . k2 < perm . i ) or ( k2 < i & perm . k2 >= perm . i ) or ( k2 >= i & perm . (k2 + 1) < perm . i ) or ( k2 >= i & perm . (k2 + 1) >= perm . i ) )
;
suppose A30:
(
k2 < i &
perm . k2 < perm . i )
;
:: thesis: x1 = x2then
q . k2 = p' . k2
by A16, A17, A20;
then
perm . k1 = (perm . k2) + 1
by A17, A19, A20, A29;
then
perm . k1 <= perm . i
by A30, NAT_1:13;
then
perm . k1 = perm . i
by A28, XXREAL_0:1;
hence
x1 = x2
by A1, A2, A22, A28, FUNCT_1:def 8;
:: thesis: verum end; suppose A31:
(
k2 >= i &
perm . (k2 + 1) < perm . i )
;
:: thesis: x1 = x2then
(perm . k1) - 1
= perm . (k2 + 1)
by A16, A17, A19, A20, A29;
then
(perm . (k2 + 1)) + 1
= perm . k1
;
then
perm . k1 <= perm . i
by A31, NAT_1:13;
then
p' . k1 = p' . i
by A28, XXREAL_0:1;
hence
x1 = x2
by A1, A2, A22, A28, FUNCT_1:def 8;
:: thesis: verum end; end; end; suppose A33:
(
k1 >= i &
perm . (k1 + 1) < perm . i )
;
:: thesis: x1 = x2then A34:
q . k1 = perm . (k1 + 1)
by A16, A17, A19;
per cases
( ( k2 < i & perm . k2 < perm . i ) or ( k2 < i & perm . k2 >= perm . i ) or ( k2 >= i & perm . (k2 + 1) < perm . i ) or ( k2 >= i & perm . (k2 + 1) >= perm . i ) )
;
suppose A36:
(
k2 < i &
perm . k2 >= perm . i )
;
:: thesis: x1 = x2then
perm . (k1 + 1) = (perm . k2) - 1
by A16, A17, A19, A20, A34;
then
perm . k2 = (perm . (k1 + 1)) + 1
;
then
perm . k2 <= perm . i
by A33, NAT_1:13;
then
p' . k2 = p' . i
by A36, XXREAL_0:1;
hence
x1 = x2
by A1, A2, A22, A36, FUNCT_1:def 8;
:: thesis: verum end; suppose A37:
(
k2 >= i &
perm . (k2 + 1) >= perm . i )
;
:: thesis: x1 = x2then
perm . (k1 + 1) = (perm . (k2 + 1)) - 1
by A16, A17, A19, A20, A34;
then
perm . (k2 + 1) = (perm . (k1 + 1)) + 1
;
then
perm . (k2 + 1) <= perm . i
by A33, NAT_1:13;
then
p' . (k2 + 1) = p' . i
by A37, XXREAL_0:1;
then
k2 + 1
= i
by A1, A2, A22, FUNCT_1:def 8;
hence
x1 = x2
by A37, NAT_1:13;
:: thesis: verum end; end; end; suppose A38:
(
k1 >= i &
perm . (k1 + 1) >= perm . i )
;
:: thesis: x1 = x2then A39:
q . k1 = (perm . (k1 + 1)) - 1
by A16, A17, A19;
per cases
( ( k2 < i & perm . k2 < perm . i ) or ( k2 < i & perm . k2 >= perm . i ) or ( k2 >= i & perm . (k2 + 1) < perm . i ) or ( k2 >= i & perm . (k2 + 1) >= perm . i ) )
;
suppose A40:
(
k2 < i &
perm . k2 < perm . i )
;
:: thesis: x1 = x2then
(perm . (k1 + 1)) - 1
= perm . k2
by A16, A17, A19, A20, A39;
then
perm . (k1 + 1) = (perm . k2) + 1
;
then
perm . (k1 + 1) <= perm . i
by A40, NAT_1:13;
then
p' . (k1 + 1) = p' . i
by A38, XXREAL_0:1;
then
k1 + 1
= i
by A1, A2, A22, FUNCT_1:def 8;
hence
x1 = x2
by A38, NAT_1:13;
:: thesis: verum end; suppose A42:
(
k2 >= i &
perm . (k2 + 1) < perm . i )
;
:: thesis: x1 = x2then
(perm . (k1 + 1)) - 1
= perm . (k2 + 1)
by A16, A17, A19, A20, A39;
then
perm . (k1 + 1) = (perm . (k2 + 1)) + 1
;
then
perm . (k1 + 1) <= perm . i
by A42, NAT_1:13;
then
p' . (k1 + 1) = p' . i
by A38, XXREAL_0:1;
then
k1 + 1
= i
by A1, A2, A22, FUNCT_1:def 8;
hence
x1 = x2
by A38, NAT_1:13;
:: thesis: verum end; end; end; end;
end;
then
( q is one-to-one & card (finSeg N) = card (finSeg N) )
by FUNCT_1:def 8;
then
( q is one-to-one & q is onto )
by STIRL2_1:70;
then
q is Permutation of (Seg n)
;
then reconsider q = q as Element of Permutations n by MATRIX_2:def 11;
take
q
; :: thesis: for k being Nat st k in Seg n holds
( ( k < i implies ( ( perm . k < perm . i implies q . k = perm . k ) & ( perm . k >= perm . i implies q . k = (perm . k) - 1 ) ) ) & ( k >= i implies ( ( perm . (k + 1) < perm . i implies q . k = perm . (k + 1) ) & ( perm . (k + 1) >= perm . i implies q . k = (perm . (k + 1)) - 1 ) ) ) )
thus
for k being Nat st k in Seg n holds
( ( k < i implies ( ( perm . k < perm . i implies q . k = perm . k ) & ( perm . k >= perm . i implies q . k = (perm . k) - 1 ) ) ) & ( k >= i implies ( ( perm . (k + 1) < perm . i implies q . k = perm . (k + 1) ) & ( perm . (k + 1) >= perm . i implies q . k = (perm . (k + 1)) - 1 ) ) ) )
by A16; :: thesis: verum