Step |
Hyp |
Ref |
Expression |
1 |
|
derang.d |
|- D = ( x e. Fin |-> ( # ` { f | ( f : x -1-1-onto-> x /\ A. y e. x ( f ` y ) =/= y ) } ) ) |
2 |
|
subfac.n |
|- S = ( n e. NN0 |-> ( D ` ( 1 ... n ) ) ) |
3 |
|
subfacp1lem.a |
|- A = { f | ( f : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) /\ A. y e. ( 1 ... ( N + 1 ) ) ( f ` y ) =/= y ) } |
4 |
|
subfacp1lem1.n |
|- ( ph -> N e. NN ) |
5 |
|
subfacp1lem1.m |
|- ( ph -> M e. ( 2 ... ( N + 1 ) ) ) |
6 |
|
subfacp1lem1.x |
|- M e. _V |
7 |
|
subfacp1lem1.k |
|- K = ( ( 2 ... ( N + 1 ) ) \ { M } ) |
8 |
|
subfacp1lem2.5 |
|- F = ( G u. { <. 1 , M >. , <. M , 1 >. } ) |
9 |
|
subfacp1lem2.6 |
|- ( ph -> G : K -1-1-onto-> K ) |
10 |
|
1z |
|- 1 e. ZZ |
11 |
|
f1oprswap |
|- ( ( 1 e. ZZ /\ M e. _V ) -> { <. 1 , M >. , <. M , 1 >. } : { 1 , M } -1-1-onto-> { 1 , M } ) |
12 |
10 6 11
|
mp2an |
|- { <. 1 , M >. , <. M , 1 >. } : { 1 , M } -1-1-onto-> { 1 , M } |
13 |
12
|
a1i |
|- ( ph -> { <. 1 , M >. , <. M , 1 >. } : { 1 , M } -1-1-onto-> { 1 , M } ) |
14 |
1 2 3 4 5 6 7
|
subfacp1lem1 |
|- ( ph -> ( ( K i^i { 1 , M } ) = (/) /\ ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) /\ ( # ` K ) = ( N - 1 ) ) ) |
15 |
14
|
simp1d |
|- ( ph -> ( K i^i { 1 , M } ) = (/) ) |
16 |
|
f1oun |
|- ( ( ( G : K -1-1-onto-> K /\ { <. 1 , M >. , <. M , 1 >. } : { 1 , M } -1-1-onto-> { 1 , M } ) /\ ( ( K i^i { 1 , M } ) = (/) /\ ( K i^i { 1 , M } ) = (/) ) ) -> ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) ) |
17 |
9 13 15 15 16
|
syl22anc |
|- ( ph -> ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) ) |
18 |
14
|
simp2d |
|- ( ph -> ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) ) |
19 |
|
f1oeq1 |
|- ( F = ( G u. { <. 1 , M >. , <. M , 1 >. } ) -> ( F : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) ) ) |
20 |
8 19
|
ax-mp |
|- ( F : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) ) |
21 |
|
f1oeq2 |
|- ( ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) -> ( F : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( K u. { 1 , M } ) ) ) |
22 |
20 21
|
bitr3id |
|- ( ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) -> ( ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( K u. { 1 , M } ) ) ) |
23 |
|
f1oeq3 |
|- ( ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) -> ( F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( K u. { 1 , M } ) <-> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) ) ) |
24 |
22 23
|
bitrd |
|- ( ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) -> ( ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) ) ) |
25 |
18 24
|
syl |
|- ( ph -> ( ( G u. { <. 1 , M >. , <. M , 1 >. } ) : ( K u. { 1 , M } ) -1-1-onto-> ( K u. { 1 , M } ) <-> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) ) ) |
26 |
17 25
|
mpbid |
|- ( ph -> F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) ) |
27 |
|
f1ofun |
|- ( F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) -> Fun F ) |
28 |
26 27
|
syl |
|- ( ph -> Fun F ) |
29 |
|
snsspr1 |
|- { <. 1 , M >. } C_ { <. 1 , M >. , <. M , 1 >. } |
30 |
|
ssun2 |
|- { <. 1 , M >. , <. M , 1 >. } C_ ( G u. { <. 1 , M >. , <. M , 1 >. } ) |
31 |
30 8
|
sseqtrri |
|- { <. 1 , M >. , <. M , 1 >. } C_ F |
32 |
29 31
|
sstri |
|- { <. 1 , M >. } C_ F |
33 |
|
1ex |
|- 1 e. _V |
34 |
33
|
snid |
|- 1 e. { 1 } |
35 |
6
|
dmsnop |
|- dom { <. 1 , M >. } = { 1 } |
36 |
34 35
|
eleqtrri |
|- 1 e. dom { <. 1 , M >. } |
37 |
|
funssfv |
|- ( ( Fun F /\ { <. 1 , M >. } C_ F /\ 1 e. dom { <. 1 , M >. } ) -> ( F ` 1 ) = ( { <. 1 , M >. } ` 1 ) ) |
38 |
32 36 37
|
mp3an23 |
|- ( Fun F -> ( F ` 1 ) = ( { <. 1 , M >. } ` 1 ) ) |
39 |
28 38
|
syl |
|- ( ph -> ( F ` 1 ) = ( { <. 1 , M >. } ` 1 ) ) |
40 |
33 6
|
fvsn |
|- ( { <. 1 , M >. } ` 1 ) = M |
41 |
39 40
|
eqtrdi |
|- ( ph -> ( F ` 1 ) = M ) |
42 |
|
snsspr2 |
|- { <. M , 1 >. } C_ { <. 1 , M >. , <. M , 1 >. } |
43 |
42 31
|
sstri |
|- { <. M , 1 >. } C_ F |
44 |
6
|
snid |
|- M e. { M } |
45 |
33
|
dmsnop |
|- dom { <. M , 1 >. } = { M } |
46 |
44 45
|
eleqtrri |
|- M e. dom { <. M , 1 >. } |
47 |
|
funssfv |
|- ( ( Fun F /\ { <. M , 1 >. } C_ F /\ M e. dom { <. M , 1 >. } ) -> ( F ` M ) = ( { <. M , 1 >. } ` M ) ) |
48 |
43 46 47
|
mp3an23 |
|- ( Fun F -> ( F ` M ) = ( { <. M , 1 >. } ` M ) ) |
49 |
28 48
|
syl |
|- ( ph -> ( F ` M ) = ( { <. M , 1 >. } ` M ) ) |
50 |
6 33
|
fvsn |
|- ( { <. M , 1 >. } ` M ) = 1 |
51 |
49 50
|
eqtrdi |
|- ( ph -> ( F ` M ) = 1 ) |
52 |
26 41 51
|
3jca |
|- ( ph -> ( F : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) /\ ( F ` 1 ) = M /\ ( F ` M ) = 1 ) ) |