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

Theorem subfacp1lem3 24821
Description: Lemma for subfacp1 24825. In subfacp1lem6 24824 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 11266 . . . . . . . . 9  |-  ( 1 ... ( N  + 
1 ) )  e. 
Fin
3 deranglem 24805 . . . . . . . . 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 2474 . . . . . . 7  |-  A  e. 
Fin
6 subfacp1lem3.b . . . . . . . 8  |-  B  =  { g  e.  A  |  ( ( g `
 1 )  =  M  /\  ( g `
 M )  =  1 ) }
7 ssrab2 3388 . . . . . . . 8  |-  { g  e.  A  |  ( ( g `  1
)  =  M  /\  ( g `  M
)  =  1 ) }  C_  A
86, 7eqsstri 3338 . . . . . . 7  |-  B  C_  A
9 ssfi 7288 . . . . . . 7  |-  ( ( A  e.  Fin  /\  B  C_  A )  ->  B  e.  Fin )
105, 8, 9mp2an 654 . . . . . 6  |-  B  e. 
Fin
1110elexi 2925 . . . . 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 11266 . . . . . . . . . 10  |-  ( 2 ... ( N  + 
1 ) )  e. 
Fin
16 diffi 7298 . . . . . . . . . 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 2474 . . . . . . . 8  |-  K  e. 
Fin
19 deranglem 24805 . . . . . . . 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 2474 . . . . . 6  |-  C  e. 
Fin
2221elexi 2925 . . . . 5  |-  C  e. 
_V
2322a1i 11 . . . 4  |-  ( ph  ->  C  e.  _V )
24 simpr 448 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  B )
25 fveq1 5686 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  1 )  =  ( b ` 
1 ) )
2625eqeq1d 2412 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  1
)  =  M  <->  ( b `  1 )  =  M ) )
27 fveq1 5686 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  M )  =  ( b `  M ) )
2827eqeq1d 2412 . . . . . . . . . . . . . . 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 3054 . . . . . . . . . . . . 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 2919 . . . . . . . . . . . 12  |-  b  e. 
_V
34 f1oeq1 5624 . . . . . . . . . . . . 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 5686 . . . . . . . . . . . . . . 15  |-  ( f  =  b  ->  (
f `  y )  =  ( b `  y ) )
3635neeq1d 2580 . . . . . . . . . . . . . 14  |-  ( f  =  b  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
3736ralbidv 2686 . . . . . . . . . . . . 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 3045 . . . . . . . . . . 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 5632 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b :
( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  +  1 ) ) )
43 df-f1 5418 . . . . . . . . . 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 5634 . . . . . . . . . . . 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 5513 . . . . . . . . . . 11  |-  ( b  Fn  ( 1 ... ( N  +  1 ) )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) )  =  b )
49 f1oeq1 5624 . . . . . . . . . . 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 5640 . . . . . . . . 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 3471 . . . . . . . . . . . . 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 24818 . . . . . . . . . . . . . 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 3356 . . . . . . . . . . . 12  |-  ( ph  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
6362adantr 452 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
64 fnssres 5517 . . . . . . . . . . 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 3873 . . . . . . . . . . . . 13  |-  M  e. 
{ 1 ,  M }
6967, 68syl6eqel 2492 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  e.  { 1 ,  M } )
7066simprd 450 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  =  1 )
71 1ex 9042 . . . . . . . . . . . . . 14  |-  1  e.  _V
7271prid1 3872 . . . . . . . . . . . . 13  |-  1  e.  { 1 ,  M }
7370, 72syl6eqel 2492 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  e.  { 1 ,  M } )
74 fveq2 5687 . . . . . . . . . . . . . 14  |-  ( x  =  1  ->  (
b `  x )  =  ( b ` 
1 ) )
7574eleq1d 2470 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  1 )  e. 
{ 1 ,  M } ) )
76 fveq2 5687 . . . . . . . . . . . . . 14  |-  ( x  =  M  ->  (
b `  x )  =  ( b `  M ) )
7776eleq1d 2470 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  M )  e.  {
1 ,  M }
) )
7871, 59, 75, 77ralpr 3821 . . . . . . . . . . . 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 5704 . . . . . . . . . . . . 13  |-  ( x  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 x )  =  ( b `  x
) )
8180eleq1d 2470 . . . . . . . . . . . 12  |-  ( x  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M }  <->  ( b `  x )  e.  {
1 ,  M }
) )
8281ralbiia 2698 . . . . . . . . . . 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 5853 . . . . . . . . . 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 5687 . . . . . . . . . . . . . 14  |-  ( y  =  M  ->  (
b `  y )  =  ( b `  M ) )
8786eqeq1d 2412 . . . . . . . . . . . . 13  |-  ( y  =  M  ->  (
( b `  y
)  =  1  <->  (
b `  M )  =  1 ) )
8887rspcev 3012 . . . . . . . . . . . 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 5687 . . . . . . . . . . . . . 14  |-  ( y  =  1  ->  (
b `  y )  =  ( b ` 
1 ) )
9190eqeq1d 2412 . . . . . . . . . . . . 13  |-  ( y  =  1  ->  (
( b `  y
)  =  M  <->  ( b `  1 )  =  M ) )
9291rspcev 3012 . . . . . . . . . . . 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 2413 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  1 ) )
9594rexbidv 2687 . . . . . . . . . . . 12  |-  ( x  =  1  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 ) )
96 eqeq2 2413 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  M ) )
9796rexbidv 2687 . . . . . . . . . . . 12  |-  ( x  =  M  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M ) )
9871, 59, 95, 97ralpr 3821 . . . . . . . . . . 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 2406 . . . . . . . . . . . . 13  |-  ( x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  ( ( b  |`  { 1 ,  M } ) `  y
)  =  x )
101 fvres 5704 . . . . . . . . . . . . . 14  |-  ( y  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 y )  =  ( b `  y
) )
102101eqeq1d 2412 . . . . . . . . . . . . 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 2699 . . . . . . . . . . 11  |-  ( E. y  e.  { 1 ,  M } x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
105104ralbii 2690 . . . . . . . . . 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 5843 . . . . . . . . 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 5655 . . . . . . . 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 3451 . . . . . . . . . . 11  |-  ( { 1 ,  M }  u.  K )  =  ( K  u.  { 1 ,  M } )
112111, 61syl5eq 2448 . . . . . . . . . 10  |-  ( ph  ->  ( { 1 ,  M }  u.  K
)  =  ( 1 ... ( N  + 
1 ) ) )
113 incom 3493 . . . . . . . . . . . 12  |-  ( { 1 ,  M }  i^i  K )  =  ( K  i^i  { 1 ,  M } )
11460simp1d 969 . . . . . . . . . . . 12  |-  ( ph  ->  ( K  i^i  {
1 ,  M }
)  =  (/) )
115113, 114syl5eq 2448 . . . . . . . . . . 11  |-  ( ph  ->  ( { 1 ,  M }  i^i  K
)  =  (/) )
116 uneqdifeq 3676 . . . . . . . . . . 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 5100 . . . . . . . . . 10  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
b  |`  ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) )  =  ( b  |`  K ) )
121 f1oeq1 5624 . . . . . . . . . 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 5625 . . . . . . . . 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 5626 . . . . . . . . 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 3470 . . . . . . . . 9  |-  K  C_  ( K  u.  { 1 ,  M } )
129128, 61syl5sseq 3356 . . . . . . . 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 3367 . . . . . . 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 5145 . . . . . . 7  |-  ( b  |`  K )  e.  _V
135 f1oeq1 5624 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  (
f : K -1-1-onto-> K  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
136 fveq1 5686 . . . . . . . . . . 11  |-  ( f  =  ( b  |`  K )  ->  (
f `  y )  =  ( ( b  |`  K ) `  y
) )
137 fvres 5704 . . . . . . . . . . 11  |-  ( y  e.  K  ->  (
( b  |`  K ) `
 y )  =  ( b `  y
) )
138136, 137sylan9eq 2456 . . . . . . . . . 10  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
f `  y )  =  ( b `  y ) )
139138neeq1d 2580 . . . . . . . . 9  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
140139ralbidva 2682 . . . . . . . 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 3045 . . . . . 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 2404 . . . . . . . . 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 2919 . . . . . . . . . . . 12  |-  c  e. 
_V
150 f1oeq1 5624 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  (
f : K -1-1-onto-> K  <->  c : K
-1-1-onto-> K ) )
151 fveq1 5686 . . . . . . . . . . . . . . 15  |-  ( f  =  c  ->  (
f `  y )  =  ( c `  y ) )
152151neeq1d 2580 . . . . . . . . . . . . . 14  |-  ( f  =  c  ->  (
( f `  y
)  =/=  y  <->  ( c `  y )  =/=  y
) )
153152ralbidv 2686 . . . . . . . . . . . . 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 3045 . . . . . . . . . . 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 24819 . . . . . . . 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 24820 . . . . . . . . . . 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 2764 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
c `  y )  =/=  y )
163160, 162eqnetrd 2585 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
164163ralrimiva 2749 . . . . . . . . 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 11011 . . . . . . . . . . . . 13  |-  ( M  e.  ( 2 ... ( N  +  1 ) )  ->  M  e.  ( ZZ>= `  2 )
)
167 eluz2b3 10505 . . . . . . . . . . . . . 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 2585 . . . . . . . . . 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 2650 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  1  =/=  M )
174172, 173eqnetrd 2585 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M )
175 fveq2 5687 . . . . . . . . . . . 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 2582 . . . . . . . . . . 11  |-  ( y  =  1  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 ) )
178 fveq2 5687 . . . . . . . . . . . 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 2582 . . . . . . . . . . 11  |-  ( y  =  M  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M ) )
18171, 59, 177, 180ralpr 3821 . . . . . . . . . 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 3488 . . . . . . . . 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 2870 . . . . . . . 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 4366 . . . . . . . . 9  |-  { <. 1 ,  M >. , 
<. M ,  1 >. }  e.  _V
189149, 188unex 4666 . . . . . . . 8  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  e. 
_V
190 f1oeq1 5624 . . . . . . . . 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 5686 . . . . . . . . . . 11  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
f `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
192191neeq1d 2580 . . . . . . . . . 10  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( f `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y ) )
193192ralbidv 2686 . . . . . . . . 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 3045 . . . . . . 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 5686 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  1 )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 ) )
199198eqeq1d 2412 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  1
)  =  M  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M ) )
200 fveq1 5686 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  M )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M ) )
201200eqeq1d 2412 . . . . . . . 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 3054 . . . . . 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 2439 . . . . . . . . . . 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 2439 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
21290, 175eqeq12d 2418 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b ` 
1 )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) ) )
21386, 178eqeq12d 2418 . . . . . . . . . . . 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 3821 . . . . . . . . . . 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 3488 . . . . . . . . 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 2415 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b `  y )  =  ( c `  y ) ) )
220219ralbidva 2682 . . . . . . . . 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 2870 . . . . . . . 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 2415 . . . . . . . . 9  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( c `  y )  =  ( b `  y ) ) )
226 eqcom 2406 . . . . . . . . 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 2698 . . . . . . 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 5634 . . . . . . . 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 5786 . . . . . . 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 5634 . . . . . . . 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 5517 . . . . . . . 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 5786 . . . . . . 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 7103 . . 3  |-  ( ph  ->  B  ~~  C )
247 hashen 11586 . . . 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 5690 . . . 4  |-  ( # `  C )  =  (
# `  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25155derangval 24806 . . . . 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 24813 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( S `  ( # `  K ) ) )
25418, 253ax-mp 8 . . . 4  |-  ( D `
 K )  =  ( S `  ( # `
 K ) )
255250, 252, 2543eqtr2ri 2431 . . 3  |-  ( S `
 ( # `  K
) )  =  (
# `  C )
25660simp3d 971 . . . 4  |-  ( ph  ->  ( # `  K
)  =  ( N  -  1 ) )
257256fveq2d 5691 . . 3  |-  ( ph  ->  ( S `  ( # `
 K ) )  =  ( S `  ( N  -  1
) ) )
258255, 257syl5eqr 2450 . 2  |-  ( ph  ->  ( # `  C
)  =  ( S `
 ( N  - 
1 ) ) )
259249, 258eqtrd 2436 1  |-  ( ph  ->  ( # `  B
)  =  ( S `
 ( N  - 
1 ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 177    /\ wa 359    = wceq 1649    e. wcel 1721   {cab 2390    =/= wne 2567   A.wral 2666   E.wrex 2667   {crab 2670   _Vcvv 2916    \ cdif 3277    u. cun 3278    i^i cin 3279    C_ wss 3280   (/)c0 3588   {csn 3774   {cpr 3775   <.cop 3777   class class class wbr 4172    e. cmpt 4226   `'ccnv 4836    |` cres 4839   Fun wfun 5407    Fn wfn 5408   -->wf 5409   -1-1->wf1 5410   -onto->wfo 5411   -1-1-onto->wf1o 5412   ` cfv 5413  (class class class)co 6040    ~~ cen 7065   Fincfn 7068   1c1 8947    + caddc 8949    - cmin 9247   NNcn 9956   2c2 10005   NN0cn0 10177   ZZ>=cuz 10444   ...cfz 10999   #chash 11573
This theorem is referenced by:  subfacp1lem6  24824
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1552  ax-5 1563  ax-17 1623  ax-9 1662  ax-8 1683  ax-13 1723  ax-14 1725  ax-6 1740  ax-7 1745  ax-11 1757  ax-12 1946  ax-ext 2385  ax-rep 4280  ax-sep 4290  ax-nul 4298  ax-pow 4337  ax-pr 4363  ax-un 4660  ax-cnex 9002  ax-resscn 9003  ax-1cn 9004  ax-icn 9005  ax-addcl 9006  ax-addrcl 9007  ax-mulcl 9008  ax-mulrcl 9009  ax-mulcom 9010  ax-addass 9011  ax-mulass 9012  ax-distr 9013  ax-i2m1 9014  ax-1ne0 9015  ax-1rid 9016  ax-rnegex 9017  ax-rrecex 9018  ax-cnre 9019  ax-pre-lttri 9020  ax-pre-lttrn 9021  ax-pre-ltadd 9022  ax-pre-mulgt0 9023
This theorem depends on definitions:  df-bi 178  df-or 360  df-an 361  df-3or 937  df-3an 938  df-tru 1325  df-ex 1548  df-nf 1551  df-sb 1656  df-eu 2258  df-mo 2259  df-clab 2391  df-cleq 2397  df-clel 2400  df-nfc 2529  df-ne 2569  df-nel 2570  df-ral 2671  df-rex 2672  df-reu 2673  df-rmo 2674  df-rab 2675  df-v 2918  df-sbc 3122  df-csb 3212  df-dif 3283  df-un 3285  df-in 3287  df-ss 3294  df-pss 3296  df-nul 3589  df-if 3700  df-pw 3761  df-sn 3780  df-pr 3781  df-tp 3782  df-op 3783  df-uni 3976  df-int 4011  df-iun 4055  df-br 4173  df-opab 4227  df-mpt 4228  df-tr 4263  df-eprel 4454  df-id 4458  df-po 4463  df-so 4464  df-fr 4501  df-we 4503  df-ord 4544  df-on 4545  df-lim 4546  df-suc 4547  df-om 4805  df-xp 4843  df-rel 4844  df-cnv 4845  df-co 4846  df-dm 4847  df-rn 4848  df-res 4849  df-ima 4850  df-iota 5377  df-fun 5415  df-fn 5416  df-f 5417  df-f1 5418  df-fo 5419  df-f1o 5420  df-fv 5421  df-ov 6043  df-oprab 6044  df-mpt2 6045  df-1st 6308  df-2nd 6309  df-riota 6508  df-recs 6592  df-rdg 6627  df-1o 6683  df-2o 6684  df-oadd 6687  df-er 6864  df-map 6979  df-pm 6980  df-en 7069  df-dom 7070  df-sdom 7071  df-fin 7072  df-card 7782  df-cda 8004  df-pnf 9078  df-mnf 9079  df-xr 9080  df-ltxr 9081  df-le 9082  df-sub 9249  df-neg 9250  df-nn 9957  df-2 10014  df-n0 10178  df-z 10239  df-uz 10445  df-fz 11000  df-hash 11574
  Copyright terms: Public domain W3C validator