Users' Mathboxes Mathbox for Mario Carneiro < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >   Mathboxes  >  subfacp1lem3 Structured version   Unicode version

Theorem subfacp1lem3 24868
Description: Lemma for subfacp1 24872. In subfacp1lem6 24871 we cut up the set of all derangements on  1 ... ( N  +  1 ) first according to the value at  1, and then by whether or not  ( f `  ( f `  1
) )  =  1. In this lemma, we show that the subset of all  N  +  1 derangements that satisfy this for fixed  M  =  ( f `  1 ) is in bijection with  N  -  1 derangements, by simply dropping the  x  =  1 and  x  =  M points from the function to get a derangement on  K  =  ( 1 ... ( N  -  1 ) ) 
\  { 1 ,  M }. (Contributed by Mario Carneiro, 23-Jan-2015.)
Hypotheses
Ref Expression
derang.d  |-  D  =  ( x  e.  Fin  |->  ( # `  { f  |  ( f : x -1-1-onto-> x  /\  A. y  e.  x  ( f `  y )  =/=  y
) } ) )
subfac.n  |-  S  =  ( n  e.  NN0  |->  ( D `  ( 1 ... n ) ) )
subfacp1lem.a  |-  A  =  { f  |  ( f : ( 1 ... ( N  + 
1 ) ) -1-1-onto-> ( 1 ... ( N  + 
1 ) )  /\  A. y  e.  ( 1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y ) }
subfacp1lem1.n  |-  ( ph  ->  N  e.  NN )
subfacp1lem1.m  |-  ( ph  ->  M  e.  ( 2 ... ( N  + 
1 ) ) )
subfacp1lem1.x  |-  M  e. 
_V
subfacp1lem1.k  |-  K  =  ( ( 2 ... ( N  +  1 ) )  \  { M } )
subfacp1lem3.b  |-  B  =  { g  e.  A  |  ( ( g `
 1 )  =  M  /\  ( g `
 M )  =  1 ) }
subfacp1lem3.c  |-  C  =  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y ) }
Assertion
Ref Expression
subfacp1lem3  |-  ( ph  ->  ( # `  B
)  =  ( S `
 ( N  - 
1 ) ) )
Distinct variable groups:    f, g, n, x, y, A    f, N, g, n, x, y    B, f, g, x, y   
x, C, y    ph, x, y    D, n    f, K, n, x, y    f, M, g, x, y    S, n, x, y
Allowed substitution hints:    ph( f, g, n)    B( n)    C( f,
g, n)    D( x, y, f, g)    S( f, g)    K( g)    M( n)

Proof of Theorem subfacp1lem3
Dummy variables  b 
c are mutually distinct and distinct from all other variables.
StepHypRef Expression
1 subfacp1lem.a . . . . . . . 8  |-  A  =  { f  |  ( f : ( 1 ... ( N  + 
1 ) ) -1-1-onto-> ( 1 ... ( N  + 
1 ) )  /\  A. y  e.  ( 1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y ) }
2 fzfi 11311 . . . . . . . . 9  |-  ( 1 ... ( N  + 
1 ) )  e. 
Fin
3 deranglem 24852 . . . . . . . . 9  |-  ( ( 1 ... ( N  +  1 ) )  e.  Fin  ->  { f  |  ( f : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( f `  y )  =/=  y
) }  e.  Fin )
42, 3ax-mp 8 . . . . . . . 8  |-  { f  |  ( f : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( f `  y )  =/=  y
) }  e.  Fin
51, 4eqeltri 2506 . . . . . . 7  |-  A  e. 
Fin
6 subfacp1lem3.b . . . . . . . 8  |-  B  =  { g  e.  A  |  ( ( g `
 1 )  =  M  /\  ( g `
 M )  =  1 ) }
7 ssrab2 3428 . . . . . . . 8  |-  { g  e.  A  |  ( ( g `  1
)  =  M  /\  ( g `  M
)  =  1 ) }  C_  A
86, 7eqsstri 3378 . . . . . . 7  |-  B  C_  A
9 ssfi 7329 . . . . . . 7  |-  ( ( A  e.  Fin  /\  B  C_  A )  ->  B  e.  Fin )
105, 8, 9mp2an 654 . . . . . 6  |-  B  e. 
Fin
1110elexi 2965 . . . . 5  |-  B  e. 
_V
1211a1i 11 . . . 4  |-  ( ph  ->  B  e.  _V )
13 subfacp1lem3.c . . . . . . 7  |-  C  =  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y ) }
14 subfacp1lem1.k . . . . . . . . 9  |-  K  =  ( ( 2 ... ( N  +  1 ) )  \  { M } )
15 fzfi 11311 . . . . . . . . . 10  |-  ( 2 ... ( N  + 
1 ) )  e. 
Fin
16 diffi 7339 . . . . . . . . . 10  |-  ( ( 2 ... ( N  +  1 ) )  e.  Fin  ->  (
( 2 ... ( N  +  1 ) )  \  { M } )  e.  Fin )
1715, 16ax-mp 8 . . . . . . . . 9  |-  ( ( 2 ... ( N  +  1 ) ) 
\  { M }
)  e.  Fin
1814, 17eqeltri 2506 . . . . . . . 8  |-  K  e. 
Fin
19 deranglem 24852 . . . . . . . 8  |-  ( K  e.  Fin  ->  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) }  e.  Fin )
2018, 19ax-mp 8 . . . . . . 7  |-  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) }  e.  Fin
2113, 20eqeltri 2506 . . . . . 6  |-  C  e. 
Fin
2221elexi 2965 . . . . 5  |-  C  e. 
_V
2322a1i 11 . . . 4  |-  ( ph  ->  C  e.  _V )
24 simpr 448 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  B )
25 fveq1 5727 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  1 )  =  ( b ` 
1 ) )
2625eqeq1d 2444 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  1
)  =  M  <->  ( b `  1 )  =  M ) )
27 fveq1 5727 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  M )  =  ( b `  M ) )
2827eqeq1d 2444 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  M
)  =  1  <->  (
b `  M )  =  1 ) )
2926, 28anbi12d 692 . . . . . . . . . . . . . 14  |-  ( g  =  b  ->  (
( ( g ` 
1 )  =  M  /\  ( g `  M )  =  1 )  <->  ( ( b `
 1 )  =  M  /\  ( b `
 M )  =  1 ) ) )
3029, 6elrab2 3094 . . . . . . . . . . . . 13  |-  ( b  e.  B  <->  ( b  e.  A  /\  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) ) )
3124, 30sylib 189 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b  e.  A  /\  ( ( b ` 
1 )  =  M  /\  ( b `  M )  =  1 ) ) )
3231simpld 446 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  A )
33 vex 2959 . . . . . . . . . . . 12  |-  b  e. 
_V
34 f1oeq1 5665 . . . . . . . . . . . . 13  |-  ( f  =  b  ->  (
f : ( 1 ... ( N  + 
1 ) ) -1-1-onto-> ( 1 ... ( N  + 
1 ) )  <->  b :
( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) ) )
35 fveq1 5727 . . . . . . . . . . . . . . 15  |-  ( f  =  b  ->  (
f `  y )  =  ( b `  y ) )
3635neeq1d 2614 . . . . . . . . . . . . . 14  |-  ( f  =  b  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
3736ralbidv 2725 . . . . . . . . . . . . 13  |-  ( f  =  b  ->  ( A. y  e.  (
1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
) )
3834, 37anbi12d 692 . . . . . . . . . . . 12  |-  ( f  =  b  ->  (
( f : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( f `  y )  =/=  y
)  <->  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
) ) )
3933, 38, 1elab2 3085 . . . . . . . . . . 11  |-  ( b  e.  A  <->  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
) )
4032, 39sylib 189 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  (
b : ( 1 ... ( N  + 
1 ) ) -1-1-onto-> ( 1 ... ( N  + 
1 ) )  /\  A. y  e.  ( 1 ... ( N  + 
1 ) ) ( b `  y )  =/=  y ) )
4140simpld 446 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
42 f1of1 5673 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b :
( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  +  1 ) ) )
43 df-f1 5459 . . . . . . . . . 10  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  + 
1 ) )  <->  ( b : ( 1 ... ( N  +  1 ) ) --> ( 1 ... ( N  + 
1 ) )  /\  Fun  `' b ) )
4443simprbi 451 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  + 
1 ) )  ->  Fun  `' b )
4541, 42, 443syl 19 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  Fun  `' b )
46 f1ofn 5675 . . . . . . . . . . . 12  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
4741, 46syl 16 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
48 fnresdm 5554 . . . . . . . . . . 11  |-  ( b  Fn  ( 1 ... ( N  +  1 ) )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) )  =  b )
49 f1oeq1 5665 . . . . . . . . . . 11  |-  ( ( b  |`  ( 1 ... ( N  + 
1 ) ) )  =  b  ->  (
( b  |`  (
1 ... ( N  + 
1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  <->  b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) ) )
5047, 48, 493syl 19 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  (
( b  |`  (
1 ... ( N  + 
1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  <->  b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) ) )
5141, 50mpbird 224 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
52 f1ofo 5681 . . . . . . . . 9  |-  ( ( b  |`  ( 1 ... ( N  + 
1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  ( b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) )
-onto-> ( 1 ... ( N  +  1 ) ) )
5351, 52syl 16 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -onto-> ( 1 ... ( N  +  1 ) ) )
54 ssun2 3511 . . . . . . . . . . . . 13  |-  { 1 ,  M }  C_  ( K  u.  { 1 ,  M } )
55 derang.d . . . . . . . . . . . . . . 15  |-  D  =  ( x  e.  Fin  |->  ( # `  { f  |  ( f : x -1-1-onto-> x  /\  A. y  e.  x  ( f `  y )  =/=  y
) } ) )
56 subfac.n . . . . . . . . . . . . . . 15  |-  S  =  ( n  e.  NN0  |->  ( D `  ( 1 ... n ) ) )
57 subfacp1lem1.n . . . . . . . . . . . . . . 15  |-  ( ph  ->  N  e.  NN )
58 subfacp1lem1.m . . . . . . . . . . . . . . 15  |-  ( ph  ->  M  e.  ( 2 ... ( N  + 
1 ) ) )
59 subfacp1lem1.x . . . . . . . . . . . . . . 15  |-  M  e. 
_V
6055, 56, 1, 57, 58, 59, 14subfacp1lem1 24865 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( K  i^i  { 1 ,  M }
)  =  (/)  /\  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) )  /\  ( # `  K )  =  ( N  -  1 ) ) )
6160simp2d 970 . . . . . . . . . . . . 13  |-  ( ph  ->  ( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
6254, 61syl5sseq 3396 . . . . . . . . . . . 12  |-  ( ph  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
6362adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
64 fnssres 5558 . . . . . . . . . . 11  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6547, 63, 64syl2anc 643 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6631simprd 450 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  b  e.  B )  ->  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) )
6766simpld 446 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  =  M )
6859prid2 3913 . . . . . . . . . . . . 13  |-  M  e. 
{ 1 ,  M }
6967, 68syl6eqel 2524 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  e.  { 1 ,  M } )
7066simprd 450 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  =  1 )
71 1ex 9086 . . . . . . . . . . . . . 14  |-  1  e.  _V
7271prid1 3912 . . . . . . . . . . . . 13  |-  1  e.  { 1 ,  M }
7370, 72syl6eqel 2524 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  e.  { 1 ,  M } )
74 fveq2 5728 . . . . . . . . . . . . . 14  |-  ( x  =  1  ->  (
b `  x )  =  ( b ` 
1 ) )
7574eleq1d 2502 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  1 )  e. 
{ 1 ,  M } ) )
76 fveq2 5728 . . . . . . . . . . . . . 14  |-  ( x  =  M  ->  (
b `  x )  =  ( b `  M ) )
7776eleq1d 2502 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  M )  e.  {
1 ,  M }
) )
7871, 59, 75, 77ralpr 3861 . . . . . . . . . . . 12  |-  ( A. x  e.  { 1 ,  M }  ( b `
 x )  e. 
{ 1 ,  M } 
<->  ( ( b ` 
1 )  e.  {
1 ,  M }  /\  ( b `  M
)  e.  { 1 ,  M } ) )
7969, 73, 78sylanbrc 646 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( b `  x )  e.  {
1 ,  M }
)
80 fvres 5745 . . . . . . . . . . . . 13  |-  ( x  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 x )  =  ( b `  x
) )
8180eleq1d 2502 . . . . . . . . . . . 12  |-  ( x  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M }  <->  ( b `  x )  e.  {
1 ,  M }
) )
8281ralbiia 2737 . . . . . . . . . . 11  |-  ( A. x  e.  { 1 ,  M }  ( ( b  |`  { 1 ,  M } ) `  x )  e.  {
1 ,  M }  <->  A. x  e.  { 1 ,  M }  (
b `  x )  e.  { 1 ,  M } )
8379, 82sylibr 204 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M } )
84 ffnfv 5894 . . . . . . . . . 10  |-  ( ( b  |`  { 1 ,  M } ) : { 1 ,  M }
--> { 1 ,  M } 
<->  ( ( b  |`  { 1 ,  M } )  Fn  {
1 ,  M }  /\  A. x  e.  {
1 ,  M } 
( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M } ) )
8565, 83, 84sylanbrc 646 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M }
--> { 1 ,  M } )
86 fveq2 5728 . . . . . . . . . . . . . 14  |-  ( y  =  M  ->  (
b `  y )  =  ( b `  M ) )
8786eqeq1d 2444 . . . . . . . . . . . . 13  |-  ( y  =  M  ->  (
( b `  y
)  =  1  <->  (
b `  M )  =  1 ) )
8887rspcev 3052 . . . . . . . . . . . 12  |-  ( ( M  e.  { 1 ,  M }  /\  ( b `  M
)  =  1 )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 )
8968, 70, 88sylancr 645 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  1 )
90 fveq2 5728 . . . . . . . . . . . . . 14  |-  ( y  =  1  ->  (
b `  y )  =  ( b ` 
1 ) )
9190eqeq1d 2444 . . . . . . . . . . . . 13  |-  ( y  =  1  ->  (
( b `  y
)  =  M  <->  ( b `  1 )  =  M ) )
9291rspcev 3052 . . . . . . . . . . . 12  |-  ( ( 1  e.  { 1 ,  M }  /\  ( b `  1
)  =  M )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M )
9372, 67, 92sylancr 645 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  M )
94 eqeq2 2445 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  1 ) )
9594rexbidv 2726 . . . . . . . . . . . 12  |-  ( x  =  1  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 ) )
96 eqeq2 2445 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  M ) )
9796rexbidv 2726 . . . . . . . . . . . 12  |-  ( x  =  M  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M ) )
9871, 59, 95, 97ralpr 3861 . . . . . . . . . . 11  |-  ( A. x  e.  { 1 ,  M } E. y  e.  { 1 ,  M }  ( b `  y )  =  x  <-> 
( E. y  e. 
{ 1 ,  M }  ( b `  y )  =  1  /\  E. y  e. 
{ 1 ,  M }  ( b `  y )  =  M ) )
9989, 93, 98sylanbrc 646 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
100 eqcom 2438 . . . . . . . . . . . . 13  |-  ( x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  ( ( b  |`  { 1 ,  M } ) `  y
)  =  x )
101 fvres 5745 . . . . . . . . . . . . . 14  |-  ( y  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 y )  =  ( b `  y
) )
102101eqeq1d 2444 . . . . . . . . . . . . 13  |-  ( y  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  y
)  =  x  <->  ( b `  y )  =  x ) )
103100, 102syl5bb 249 . . . . . . . . . . . 12  |-  ( y  e.  { 1 ,  M }  ->  (
x  =  ( ( b  |`  { 1 ,  M } ) `  y )  <->  ( b `  y )  =  x ) )
104103rexbiia 2738 . . . . . . . . . . 11  |-  ( E. y  e.  { 1 ,  M } x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
105104ralbii 2729 . . . . . . . . . 10  |-  ( A. x  e.  { 1 ,  M } E. y  e.  { 1 ,  M } x  =  (
( b  |`  { 1 ,  M } ) `
 y )  <->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
10699, 105sylibr 204 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M }
x  =  ( ( b  |`  { 1 ,  M } ) `  y ) )
107 dffo3 5884 . . . . . . . . 9  |-  ( ( b  |`  { 1 ,  M } ) : { 1 ,  M } -onto-> { 1 ,  M } 
<->  ( ( b  |`  { 1 ,  M } ) : {
1 ,  M } --> { 1 ,  M }  /\  A. x  e. 
{ 1 ,  M } E. y  e.  {
1 ,  M }
x  =  ( ( b  |`  { 1 ,  M } ) `  y ) ) )
10885, 106, 107sylanbrc 646 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M } -onto-> { 1 ,  M } )
109 resdif 5696 . . . . . . . 8  |-  ( ( Fun  `' b  /\  ( b  |`  (
1 ... ( N  + 
1 ) ) ) : ( 1 ... ( N  +  1 ) ) -onto-> ( 1 ... ( N  + 
1 ) )  /\  ( b  |`  { 1 ,  M } ) : { 1 ,  M } -onto-> { 1 ,  M } )  ->  ( b  |`  ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
) ) : ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) )
11045, 53, 108, 109syl3anc 1184 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) ) : ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)
-1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
) )
111 uncom 3491 . . . . . . . . . . 11  |-  ( { 1 ,  M }  u.  K )  =  ( K  u.  { 1 ,  M } )
112111, 61syl5eq 2480 . . . . . . . . . 10  |-  ( ph  ->  ( { 1 ,  M }  u.  K
)  =  ( 1 ... ( N  + 
1 ) ) )
113 incom 3533 . . . . . . . . . . . 12  |-  ( { 1 ,  M }  i^i  K )  =  ( K  i^i  { 1 ,  M } )
11460simp1d 969 . . . . . . . . . . . 12  |-  ( ph  ->  ( K  i^i  {
1 ,  M }
)  =  (/) )
115113, 114syl5eq 2480 . . . . . . . . . . 11  |-  ( ph  ->  ( { 1 ,  M }  i^i  K
)  =  (/) )
116 uneqdifeq 3716 . . . . . . . . . . 11  |-  ( ( { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) )  /\  ( { 1 ,  M }  i^i  K )  =  (/) )  ->  ( ( { 1 ,  M }  u.  K )  =  ( 1 ... ( N  +  1 ) )  <->  ( (
1 ... ( N  + 
1 ) )  \  { 1 ,  M } )  =  K ) )
11762, 115, 116syl2anc 643 . . . . . . . . . 10  |-  ( ph  ->  ( ( { 1 ,  M }  u.  K )  =  ( 1 ... ( N  +  1 ) )  <-> 
( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K ) )
118112, 117mpbid 202 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K )
119118adantr 452 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K )
120 reseq2 5141 . . . . . . . . . 10  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
b  |`  ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) )  =  ( b  |`  K ) )
121 f1oeq1 5665 . . . . . . . . . 10  |-  ( ( b  |`  ( (
1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) )  =  ( b  |`  K )  ->  ( ( b  |`  ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
) ) : ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  <-> 
( b  |`  K ) : ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
) ) )
122120, 121syl 16 . . . . . . . . 9  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
( b  |`  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) ) : ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } )  <->  ( b  |`  K ) : ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) ) )
123 f1oeq2 5666 . . . . . . . . 9  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
( b  |`  K ) : ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  <->  ( b  |`  K ) : K -1-1-onto-> (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) ) )
124 f1oeq3 5667 . . . . . . . . 9  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
( b  |`  K ) : K -1-1-onto-> ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
125122, 123, 1243bitrd 271 . . . . . . . 8  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
( b  |`  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) ) : ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } )  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
126119, 125syl 16 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  (
( b  |`  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } ) ) : ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } ) -1-1-onto-> ( ( 1 ... ( N  +  1 ) ) 
\  { 1 ,  M } )  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
127110, 126mpbid 202 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K ) : K -1-1-onto-> K )
128 ssun1 3510 . . . . . . . . 9  |-  K  C_  ( K  u.  { 1 ,  M } )
129128, 61syl5sseq 3396 . . . . . . . 8  |-  ( ph  ->  K  C_  ( 1 ... ( N  + 
1 ) ) )
130129adantr 452 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
13140simprd 450 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
)
132 ssralv 3407 . . . . . . 7  |-  ( K 
C_  ( 1 ... ( N  +  1 ) )  ->  ( A. y  e.  (
1 ... ( N  + 
1 ) ) ( b `  y )  =/=  y  ->  A. y  e.  K  ( b `  y )  =/=  y
) )
133130, 131, 132sylc 58 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  K  ( b `  y )  =/=  y
)
13433resex 5186 . . . . . . 7  |-  ( b  |`  K )  e.  _V
135 f1oeq1 5665 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  (
f : K -1-1-onto-> K  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
136 fveq1 5727 . . . . . . . . . . 11  |-  ( f  =  ( b  |`  K )  ->  (
f `  y )  =  ( ( b  |`  K ) `  y
) )
137 fvres 5745 . . . . . . . . . . 11  |-  ( y  e.  K  ->  (
( b  |`  K ) `
 y )  =  ( b `  y
) )
138136, 137sylan9eq 2488 . . . . . . . . . 10  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
f `  y )  =  ( b `  y ) )
139138neeq1d 2614 . . . . . . . . 9  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
140139ralbidva 2721 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( b `  y )  =/=  y
) )
141135, 140anbi12d 692 . . . . . . 7  |-  ( f  =  ( b  |`  K )  ->  (
( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y
)  =/=  y )  <-> 
( ( b  |`  K ) : K -1-1-onto-> K  /\  A. y  e.  K  ( b `  y
)  =/=  y ) ) )
142134, 141, 13elab2 3085 . . . . . 6  |-  ( ( b  |`  K )  e.  C  <->  ( ( b  |`  K ) : K -1-1-onto-> K  /\  A. y  e.  K  ( b `  y
)  =/=  y ) )
143127, 133, 142sylanbrc 646 . . . . 5  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K )  e.  C )
144143ex 424 . . . 4  |-  ( ph  ->  ( b  e.  B  ->  ( b  |`  K )  e.  C ) )
14557adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  N  e.  NN )
14658adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  M  e.  ( 2 ... ( N  +  1 ) ) )
147 eqid 2436 . . . . . . . . 9  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )
148 simpr 448 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  c  e.  C )
149 vex 2959 . . . . . . . . . . . 12  |-  c  e. 
_V
150 f1oeq1 5665 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  (
f : K -1-1-onto-> K  <->  c : K
-1-1-onto-> K ) )
151 fveq1 5727 . . . . . . . . . . . . . . 15  |-  ( f  =  c  ->  (
f `  y )  =  ( c `  y ) )
152151neeq1d 2614 . . . . . . . . . . . . . 14  |-  ( f  =  c  ->  (
( f `  y
)  =/=  y  <->  ( c `  y )  =/=  y
) )
153152ralbidv 2725 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( c `  y )  =/=  y
) )
154150, 153anbi12d 692 . . . . . . . . . . . 12  |-  ( f  =  c  ->  (
( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y
)  =/=  y )  <-> 
( c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y
)  =/=  y ) ) )
155149, 154, 13elab2 3085 . . . . . . . . . . 11  |-  ( c  e.  C  <->  ( c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y
) )
156148, 155sylib 189 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y ) )
157156simpld 446 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  c : K -1-1-onto-> K )
15855, 56, 1, 145, 146, 59, 14, 147, 157subfacp1lem2a 24866 . . . . . . . 8  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 )  =  M  /\  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M )  =  1 ) )
159158simp1d 969 . . . . . . 7  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
16055, 56, 1, 145, 146, 59, 14, 147, 157subfacp1lem2b 24867 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( c `
 y ) )
161156simprd 450 . . . . . . . . . . . 12  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( c `  y )  =/=  y
)
162161r19.21bi 2804 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
c `  y )  =/=  y )
163160, 162eqnetrd 2619 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
164163ralrimiva 2789 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
165158simp2d 970 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M )
166 elfzuz 11055 . . . . . . . . . . . . 13  |-  ( M  e.  ( 2 ... ( N  +  1 ) )  ->  M  e.  ( ZZ>= `  2 )
)
167 eluz2b3 10549 . . . . . . . . . . . . . 14  |-  ( M  e.  ( ZZ>= `  2
)  <->  ( M  e.  NN  /\  M  =/=  1 ) )
168167simprbi 451 . . . . . . . . . . . . 13  |-  ( M  e.  ( ZZ>= `  2
)  ->  M  =/=  1 )
16958, 166, 1683syl 19 . . . . . . . . . . . 12  |-  ( ph  ->  M  =/=  1 )
170169adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  M  =/=  1 )
171165, 170eqnetrd 2619 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 )
172158simp3d 971 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 )
173170necomd 2687 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  1  =/=  M )
174172, 173eqnetrd 2619 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M )
175 fveq2 5728 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
176 id 20 . . . . . . . . . . . 12  |-  ( y  =  1  ->  y  =  1 )
177175, 176neeq12d 2616 . . . . . . . . . . 11  |-  ( y  =  1  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 ) )
178 fveq2 5728 . . . . . . . . . . . 12  |-  ( y  =  M  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
179 id 20 . . . . . . . . . . . 12  |-  ( y  =  M  ->  y  =  M )
180178, 179neeq12d 2616 . . . . . . . . . . 11  |-  ( y  =  M  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M ) )
18171, 59, 177, 180ralpr 3861 . . . . . . . . . 10  |-  ( A. y  e.  { 1 ,  M }  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y  <->  ( (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1  /\  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =/=  M ) )
182171, 174, 181sylanbrc 646 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  { 1 ,  M }  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
183 ralunb 3528 . . . . . . . . 9  |-  ( A. y  e.  ( K  u.  { 1 ,  M } ) ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y  <->  ( A. y  e.  K  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y  /\  A. y  e.  { 1 ,  M }  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y ) )
184164, 182, 183sylanbrc 646 . . . . . . . 8  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( K  u.  {
1 ,  M }
) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
18561adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) ) )
186185raleqdv 2910 . . . . . . . 8  |-  ( (
ph  /\  c  e.  C )  ->  ( A. y  e.  ( K  u.  { 1 ,  M } ) ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
) )
187184, 186mpbid 202 . . . . . . 7  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
188 prex 4406 . . . . . . . . 9  |-  { <. 1 ,  M >. , 
<. M ,  1 >. }  e.  _V
189149, 188unex 4707 . . . . . . . 8  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  e. 
_V
190 f1oeq1 5665 . . . . . . . . 9  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
f : ( 1 ... ( N  + 
1 ) ) -1-1-onto-> ( 1 ... ( N  + 
1 ) )  <->  ( c  u.  { <. 1 ,  M >. ,  <. M ,  1
>. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) ) )
191 fveq1 5727 . . . . . . . . . . 11  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
f `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
192191neeq1d 2614 . . . . . . . . . 10  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( f `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y ) )
193192ralbidv 2725 . . . . . . . . 9  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  ( A. y  e.  (
1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
) )
194190, 193anbi12d 692 . . . . . . . 8  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( f : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( f `  y )  =/=  y
)  <->  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
) ) )
195189, 194, 1elab2 3085 . . . . . . 7  |-  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  A  <->  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  /\  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
) )
196159, 187, 195sylanbrc 646 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  A
)
197165, 172jca 519 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M  /\  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 ) )
198 fveq1 5727 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  1 )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 ) )
199198eqeq1d 2444 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  1
)  =  M  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M ) )
200 fveq1 5727 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  M )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M ) )
201200eqeq1d 2444 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  M
)  =  1  <->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 ) )
202199, 201anbi12d 692 . . . . . . 7  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( ( g ` 
1 )  =  M  /\  ( g `  M )  =  1 )  <->  ( ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M  /\  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 ) ) )
203202, 6elrab2 3094 . . . . . 6  |-  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B  <->  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  A  /\  ( ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 )  =  M  /\  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M )  =  1 ) ) )
204196, 197, 203sylanbrc 646 . . . . 5  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
)
205204ex 424 . . . 4  |-  ( ph  ->  ( c  e.  C  ->  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
) )
20667adantrr 698 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  M )
207165adantrl 697 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M )
208206, 207eqtr4d 2471 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
20970adantrr 698 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  1 )
210172adantrl 697 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 )
211209, 210eqtr4d 2471 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
21290, 175eqeq12d 2450 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b ` 
1 )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) ) )
21386, 178eqeq12d 2450 . . . . . . . . . . . 12  |-  ( y  =  M  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b `  M )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) ) )
21471, 59, 212, 213ralpr 3861 . . . . . . . . . . 11  |-  ( A. y  e.  { 1 ,  M }  ( b `
 y )  =  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  <->  ( ( b `
 1 )  =  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  /\  ( b `  M )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) ) )
215208, 211, 214sylanbrc 646 . . . . . . . . . 10  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  A. y  e.  { 1 ,  M }  (
b `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
216215biantrud 494 . . . . . . . . 9  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  K  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( A. y  e.  K  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  /\  A. y  e.  { 1 ,  M }  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) ) )
217 ralunb 3528 . . . . . . . . 9  |-  ( A. y  e.  ( K  u.  { 1 ,  M } ) ( b `
 y )  =  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  <->  ( A. y  e.  K  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  /\  A. y  e.  { 1 ,  M }  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) )
218216, 217syl6bbr 255 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  K  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  ( K  u.  { 1 ,  M } ) ( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) )
219160eqeq2d 2447 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b `  y )  =  ( c `  y ) ) )
220219ralbidva 2721 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  ( A. y  e.  K  ( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) ) )
221220adantrl 697 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  K  ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) ) )
22261adantr 452 . . . . . . . . 9  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
223222raleqdv 2910 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  ( K  u.  {
1 ,  M }
) ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) )
224218, 221, 2233bitr3rd 276 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) ) )
225137eqeq2d 2447 . . . . . . . . 9  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( c `  y )  =  ( b `  y ) ) )
226 eqcom 2438 . . . . . . . . 9  |-  ( ( c `  y )  =  ( b `  y )  <->  ( b `  y )  =  ( c `  y ) )
227225, 226syl6bb 253 . . . . . . . 8  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( b `  y )  =  ( c `  y ) ) )
228227ralbiia 2737 . . . . . . 7  |-  ( A. y  e.  K  (
c `  y )  =  ( ( b  |`  K ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) )
229224, 228syl6bbr 255 . . . . . 6  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  A. y  e.  K  ( c `  y
)  =  ( ( b  |`  K ) `  y ) ) )
23047adantrr 698 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
b  Fn  ( 1 ... ( N  + 
1 ) ) )
231159adantrl 697 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
232 f1ofn 5675 . . . . . . . 8  |-  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  Fn  (
1 ... ( N  + 
1 ) ) )
233231, 232syl 16 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  Fn  (
1 ... ( N  + 
1 ) ) )
234 eqfnfv 5827 . . . . . . 7  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  Fn  (
1 ... ( N  + 
1 ) ) )  ->  ( b  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) )
235230, 233, 234syl2anc 643 . . . . . 6  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
) ) )
236157adantrl 697 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c : K -1-1-onto-> K )
237 f1ofn 5675 . . . . . . . 8  |-  ( c : K -1-1-onto-> K  ->  c  Fn  K )
238236, 237syl 16 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c  Fn  K )
239129adantr 452 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
240 fnssres 5558 . . . . . . . 8  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  K  C_  ( 1 ... ( N  +  1 ) ) )  -> 
( b  |`  K )  Fn  K )
241230, 239, 240syl2anc 643 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  |`  K )  Fn  K )
242 eqfnfv 5827 . . . . . . 7  |-  ( ( c  Fn  K  /\  ( b  |`  K )  Fn  K )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
243238, 241, 242syl2anc 643 . . . . . 6  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
244229, 235, 2433bitr4d 277 . . . . 5  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  <->  c  =  ( b  |`  K ) ) )
245244ex 424 . . . 4  |-  ( ph  ->  ( ( b  e.  B  /\  c  e.  C )  ->  (
b  =  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  <->  c  =  ( b  |`  K ) ) ) )
24612, 23, 144, 205, 245en3d 7144 . . 3  |-  ( ph  ->  B  ~~  C )
247 hashen 11631 . . . 4  |-  ( ( B  e.  Fin  /\  C  e.  Fin )  ->  ( ( # `  B
)  =  ( # `  C )  <->  B  ~~  C ) )
24810, 21, 247mp2an 654 . . 3  |-  ( (
# `  B )  =  ( # `  C
)  <->  B  ~~  C )
249246, 248sylibr 204 . 2  |-  ( ph  ->  ( # `  B
)  =  ( # `  C ) )
25013fveq2i 5731 . . . 4  |-  ( # `  C )  =  (
# `  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25155derangval 24853 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( # `  {
f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } ) )
25218, 251ax-mp 8 . . . 4  |-  ( D `
 K )  =  ( # `  {
f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25355, 56derangen2 24860 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( S `  ( # `  K ) ) )
25418, 253ax-mp 8 . . . 4  |-  ( D `
 K )  =  ( S `  ( # `
 K ) )
255250, 252, 2543eqtr2ri 2463 . . 3  |-  ( S `
 ( # `  K
) )  =  (
# `  C )
25660simp3d 971 . . . 4  |-  ( ph  ->  ( # `  K
)  =  ( N  -  1 ) )
257256fveq2d 5732 . . 3  |-  ( ph  ->  ( S `  ( # `
 K ) )  =  ( S `  ( N  -  1
) ) )
258255, 257syl5eqr 2482 . 2  |-  ( ph  ->  ( # `  C
)  =  ( S `
 ( N  - 
1 ) ) )
259249, 258eqtrd 2468 1  |-  ( ph  ->  ( # `  B
)  =  ( S `
 ( N  - 
1 ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359    = wceq 1652    e. wcel 1725   {cab 2422    =/= wne 2599   A.wral 2705   E.wrex 2706   {crab 2709   _Vcvv 2956    \ cdif 3317    u. cun 3318    i^i cin 3319    C_ wss 3320   (/)c0 3628   {csn 3814   {cpr 3815   <.cop 3817   class class class wbr 4212    e. cmpt 4266   `'ccnv 4877    |` cres 4880   Fun wfun 5448    Fn wfn 5449   -->wf 5450   -1-1->wf1 5451   -onto->wfo 5452   -1-1-onto->wf1o 5453   ` cfv 5454  (class class class)co 6081    ~~ cen 7106   Fincfn 7109   1c1 8991    + caddc 8993    - cmin 9291   NNcn 10000   2c2 10049   NN0cn0 10221   ZZ>=cuz 10488   ...cfz 11043   #chash 11618
This theorem is referenced by:  subfacp1lem6  24871
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1555  ax-5 1566  ax-17 1626  ax-9 1666  ax-8 1687  ax-13 1727  ax-14 1729  ax-6 1744  ax-7 1749  ax-11 1761  ax-12 1950  ax-ext 2417  ax-rep 4320  ax-sep 4330  ax-nul 4338  ax-pow 4377  ax-pr 4403  ax-un 4701  ax-cnex 9046  ax-resscn 9047  ax-1cn 9048  ax-icn 9049  ax-addcl 9050  ax-addrcl 9051  ax-mulcl 9052  ax-mulrcl 9053  ax-mulcom 9054  ax-addass 9055  ax-mulass 9056  ax-distr 9057  ax-i2m1 9058  ax-1ne0 9059  ax-1rid 9060  ax-rnegex 9061  ax-rrecex 9062  ax-cnre 9063  ax-pre-lttri 9064  ax-pre-lttrn 9065  ax-pre-ltadd 9066  ax-pre-mulgt0 9067
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1328  df-ex 1551  df-nf 1554  df-sb 1659  df-eu 2285  df-mo 2286  df-clab 2423  df-cleq 2429  df-clel 2432  df-nfc 2561  df-ne 2601  df-nel 2602  df-ral 2710  df-rex 2711  df-reu 2712  df-rmo 2713  df-rab 2714  df-v 2958  df-sbc 3162  df-csb 3252  df-dif 3323  df-un 3325  df-in 3327  df-ss 3334  df-pss 3336  df-nul 3629  df-if 3740  df-pw 3801  df-sn 3820  df-pr 3821  df-tp 3822  df-op 3823  df-uni 4016  df-int 4051  df-iun 4095  df-br 4213  df-opab 4267  df-mpt 4268  df-tr 4303  df-eprel 4494  df-id 4498  df-po 4503  df-so 4504  df-fr 4541  df-we 4543  df-ord 4584  df-on 4585  df-lim 4586  df-suc 4587  df-om 4846  df-xp 4884  df-rel 4885  df-cnv 4886  df-co 4887  df-dm 4888  df-rn 4889  df-res 4890  df-ima 4891  df-iota 5418  df-fun 5456  df-fn 5457  df-f 5458  df-f1 5459  df-fo 5460  df-f1o 5461  df-fv 5462  df-ov 6084  df-oprab 6085  df-mpt2 6086  df-1st 6349  df-2nd 6350  df-riota 6549  df-recs 6633  df-rdg 6668  df-1o 6724  df-2o 6725  df-oadd 6728  df-er 6905  df-map 7020  df-pm 7021  df-en 7110  df-dom 7111  df-sdom 7112  df-fin 7113  df-card 7826  df-cda 8048  df-pnf 9122  df-mnf 9123  df-xr 9124  df-ltxr 9125  df-le 9126  df-sub 9293  df-neg 9294  df-nn 10001  df-2 10058  df-n0 10222  df-z 10283  df-uz 10489  df-fz 11044  df-hash 11619
  Copyright terms: Public domain W3C validator