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

Theorem subfacp1lem3 31164
Description: Lemma for subfacp1 31168. In subfacp1lem6 31167 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 12771 . . . . . . . . 9  |-  ( 1 ... ( N  + 
1 ) )  e. 
Fin
3 deranglem 31148 . . . . . . . . 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 5 . . . . . . . 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 2697 . . . . . . 7  |-  A  e. 
Fin
6 subfacp1lem3.b . . . . . . . 8  |-  B  =  { g  e.  A  |  ( ( g `
 1 )  =  M  /\  ( g `
 M )  =  1 ) }
7 ssrab2 3687 . . . . . . . 8  |-  { g  e.  A  |  ( ( g `  1
)  =  M  /\  ( g `  M
)  =  1 ) }  C_  A
86, 7eqsstri 3635 . . . . . . 7  |-  B  C_  A
9 ssfi 8180 . . . . . . 7  |-  ( ( A  e.  Fin  /\  B  C_  A )  ->  B  e.  Fin )
105, 8, 9mp2an 708 . . . . . 6  |-  B  e. 
Fin
1110elexi 3213 . . . . 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 12771 . . . . . . . . . 10  |-  ( 2 ... ( N  + 
1 ) )  e. 
Fin
16 diffi 8192 . . . . . . . . . 10  |-  ( ( 2 ... ( N  +  1 ) )  e.  Fin  ->  (
( 2 ... ( N  +  1 ) )  \  { M } )  e.  Fin )
1715, 16ax-mp 5 . . . . . . . . 9  |-  ( ( 2 ... ( N  +  1 ) ) 
\  { M }
)  e.  Fin
1814, 17eqeltri 2697 . . . . . . . 8  |-  K  e. 
Fin
19 deranglem 31148 . . . . . . . 8  |-  ( K  e.  Fin  ->  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) }  e.  Fin )
2018, 19ax-mp 5 . . . . . . 7  |-  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) }  e.  Fin
2113, 20eqeltri 2697 . . . . . 6  |-  C  e. 
Fin
2221elexi 3213 . . . . 5  |-  C  e. 
_V
2322a1i 11 . . . 4  |-  ( ph  ->  C  e.  _V )
24 simpr 477 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  B )
25 fveq1 6190 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  1 )  =  ( b ` 
1 ) )
2625eqeq1d 2624 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  1
)  =  M  <->  ( b `  1 )  =  M ) )
27 fveq1 6190 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  M )  =  ( b `  M ) )
2827eqeq1d 2624 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  M
)  =  1  <->  (
b `  M )  =  1 ) )
2926, 28anbi12d 747 . . . . . . . . . . . . . 14  |-  ( g  =  b  ->  (
( ( g ` 
1 )  =  M  /\  ( g `  M )  =  1 )  <->  ( ( b `
 1 )  =  M  /\  ( b `
 M )  =  1 ) ) )
3029, 6elrab2 3366 . . . . . . . . . . . . 13  |-  ( b  e.  B  <->  ( b  e.  A  /\  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) ) )
3124, 30sylib 208 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b  e.  A  /\  ( ( b ` 
1 )  =  M  /\  ( b `  M )  =  1 ) ) )
3231simpld 475 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  A )
33 vex 3203 . . . . . . . . . . . 12  |-  b  e. 
_V
34 f1oeq1 6127 . . . . . . . . . . . . 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 6190 . . . . . . . . . . . . . . 15  |-  ( f  =  b  ->  (
f `  y )  =  ( b `  y ) )
3635neeq1d 2853 . . . . . . . . . . . . . 14  |-  ( f  =  b  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
3736ralbidv 2986 . . . . . . . . . . . . 13  |-  ( f  =  b  ->  ( A. y  e.  (
1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
) )
3834, 37anbi12d 747 . . . . . . . . . . . 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 3354 . . . . . . . . . . 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 208 . . . . . . . . . 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 475 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
42 f1of1 6136 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b :
( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  +  1 ) ) )
43 df-f1 5893 . . . . . . . . . 10  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  + 
1 ) )  <->  ( b : ( 1 ... ( N  +  1 ) ) --> ( 1 ... ( N  + 
1 ) )  /\  Fun  `' b ) )
4443simprbi 480 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  + 
1 ) )  ->  Fun  `' b )
4541, 42, 443syl 18 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  Fun  `' b )
46 f1ofn 6138 . . . . . . . . . . . 12  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
4741, 46syl 17 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
48 fnresdm 6000 . . . . . . . . . . 11  |-  ( b  Fn  ( 1 ... ( N  +  1 ) )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) )  =  b )
49 f1oeq1 6127 . . . . . . . . . . 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 18 . . . . . . . . . 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 247 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
52 f1ofo 6144 . . . . . . . . 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 17 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -onto-> ( 1 ... ( N  +  1 ) ) )
54 ssun2 3777 . . . . . . . . . . . . 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 31161 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( K  i^i  { 1 ,  M }
)  =  (/)  /\  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) )  /\  ( # `  K )  =  ( N  -  1 ) ) )
6160simp2d 1074 . . . . . . . . . . . . 13  |-  ( ph  ->  ( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
6254, 61syl5sseq 3653 . . . . . . . . . . . 12  |-  ( ph  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
6362adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
64 fnssres 6004 . . . . . . . . . . 11  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6547, 63, 64syl2anc 693 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6631simprd 479 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  b  e.  B )  ->  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) )
6766simpld 475 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  =  M )
6859prid2 4298 . . . . . . . . . . . . 13  |-  M  e. 
{ 1 ,  M }
6967, 68syl6eqel 2709 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  e.  { 1 ,  M } )
7066simprd 479 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  =  1 )
71 1ex 10035 . . . . . . . . . . . . . 14  |-  1  e.  _V
7271prid1 4297 . . . . . . . . . . . . 13  |-  1  e.  { 1 ,  M }
7370, 72syl6eqel 2709 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  e.  { 1 ,  M } )
74 fveq2 6191 . . . . . . . . . . . . . 14  |-  ( x  =  1  ->  (
b `  x )  =  ( b ` 
1 ) )
7574eleq1d 2686 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  1 )  e. 
{ 1 ,  M } ) )
76 fveq2 6191 . . . . . . . . . . . . . 14  |-  ( x  =  M  ->  (
b `  x )  =  ( b `  M ) )
7776eleq1d 2686 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  M )  e.  {
1 ,  M }
) )
7871, 59, 75, 77ralpr 4238 . . . . . . . . . . . 12  |-  ( A. x  e.  { 1 ,  M }  ( b `
 x )  e. 
{ 1 ,  M } 
<->  ( ( b ` 
1 )  e.  {
1 ,  M }  /\  ( b `  M
)  e.  { 1 ,  M } ) )
7969, 73, 78sylanbrc 698 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( b `  x )  e.  {
1 ,  M }
)
80 fvres 6207 . . . . . . . . . . . . 13  |-  ( x  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 x )  =  ( b `  x
) )
8180eleq1d 2686 . . . . . . . . . . . 12  |-  ( x  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M }  <->  ( b `  x )  e.  {
1 ,  M }
) )
8281ralbiia 2979 . . . . . . . . . . 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 224 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M } )
84 ffnfv 6388 . . . . . . . . . 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 698 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M }
--> { 1 ,  M } )
86 fveq2 6191 . . . . . . . . . . . . . 14  |-  ( y  =  M  ->  (
b `  y )  =  ( b `  M ) )
8786eqeq1d 2624 . . . . . . . . . . . . 13  |-  ( y  =  M  ->  (
( b `  y
)  =  1  <->  (
b `  M )  =  1 ) )
8887rspcev 3309 . . . . . . . . . . . 12  |-  ( ( M  e.  { 1 ,  M }  /\  ( b `  M
)  =  1 )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 )
8968, 70, 88sylancr 695 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  1 )
90 fveq2 6191 . . . . . . . . . . . . . 14  |-  ( y  =  1  ->  (
b `  y )  =  ( b ` 
1 ) )
9190eqeq1d 2624 . . . . . . . . . . . . 13  |-  ( y  =  1  ->  (
( b `  y
)  =  M  <->  ( b `  1 )  =  M ) )
9291rspcev 3309 . . . . . . . . . . . 12  |-  ( ( 1  e.  { 1 ,  M }  /\  ( b `  1
)  =  M )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M )
9372, 67, 92sylancr 695 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  M )
94 eqeq2 2633 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  1 ) )
9594rexbidv 3052 . . . . . . . . . . . 12  |-  ( x  =  1  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 ) )
96 eqeq2 2633 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  M ) )
9796rexbidv 3052 . . . . . . . . . . . 12  |-  ( x  =  M  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M ) )
9871, 59, 95, 97ralpr 4238 . . . . . . . . . . 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 698 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
100 eqcom 2629 . . . . . . . . . . . . 13  |-  ( x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  ( ( b  |`  { 1 ,  M } ) `  y
)  =  x )
101 fvres 6207 . . . . . . . . . . . . . 14  |-  ( y  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 y )  =  ( b `  y
) )
102101eqeq1d 2624 . . . . . . . . . . . . 13  |-  ( y  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  y
)  =  x  <->  ( b `  y )  =  x ) )
103100, 102syl5bb 272 . . . . . . . . . . . 12  |-  ( y  e.  { 1 ,  M }  ->  (
x  =  ( ( b  |`  { 1 ,  M } ) `  y )  <->  ( b `  y )  =  x ) )
104103rexbiia 3040 . . . . . . . . . . 11  |-  ( E. y  e.  { 1 ,  M } x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
105104ralbii 2980 . . . . . . . . . 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 224 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M }
x  =  ( ( b  |`  { 1 ,  M } ) `  y ) )
107 dffo3 6374 . . . . . . . . 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 698 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M } -onto-> { 1 ,  M } )
109 resdif 6157 . . . . . . . 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 1326 . . . . . . 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 3757 . . . . . . . . . . 11  |-  ( { 1 ,  M }  u.  K )  =  ( K  u.  { 1 ,  M } )
112111, 61syl5eq 2668 . . . . . . . . . 10  |-  ( ph  ->  ( { 1 ,  M }  u.  K
)  =  ( 1 ... ( N  + 
1 ) ) )
113 incom 3805 . . . . . . . . . . . 12  |-  ( { 1 ,  M }  i^i  K )  =  ( K  i^i  { 1 ,  M } )
11460simp1d 1073 . . . . . . . . . . . 12  |-  ( ph  ->  ( K  i^i  {
1 ,  M }
)  =  (/) )
115113, 114syl5eq 2668 . . . . . . . . . . 11  |-  ( ph  ->  ( { 1 ,  M }  i^i  K
)  =  (/) )
116 uneqdifeq 4057 . . . . . . . . . . 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 693 . . . . . . . . . 10  |-  ( ph  ->  ( ( { 1 ,  M }  u.  K )  =  ( 1 ... ( N  +  1 ) )  <-> 
( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K ) )
118112, 117mpbid 222 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K )
119118adantr 481 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K )
120 reseq2 5391 . . . . . . . . . 10  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
b  |`  ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) )  =  ( b  |`  K ) )
121 f1oeq1 6127 . . . . . . . . . 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 17 . . . . . . . . 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 6128 . . . . . . . . 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 6129 . . . . . . . . 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 294 . . . . . . . 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 17 . . . . . . 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 222 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K ) : K -1-1-onto-> K )
128 ssun1 3776 . . . . . . . . 9  |-  K  C_  ( K  u.  { 1 ,  M } )
129128, 61syl5sseq 3653 . . . . . . . 8  |-  ( ph  ->  K  C_  ( 1 ... ( N  + 
1 ) ) )
130129adantr 481 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
13140simprd 479 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
)
132 ssralv 3666 . . . . . . 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 65 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  K  ( b `  y )  =/=  y
)
13433resex 5443 . . . . . . 7  |-  ( b  |`  K )  e.  _V
135 f1oeq1 6127 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  (
f : K -1-1-onto-> K  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
136 fveq1 6190 . . . . . . . . . . 11  |-  ( f  =  ( b  |`  K )  ->  (
f `  y )  =  ( ( b  |`  K ) `  y
) )
137 fvres 6207 . . . . . . . . . . 11  |-  ( y  e.  K  ->  (
( b  |`  K ) `
 y )  =  ( b `  y
) )
138136, 137sylan9eq 2676 . . . . . . . . . 10  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
f `  y )  =  ( b `  y ) )
139138neeq1d 2853 . . . . . . . . 9  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
140139ralbidva 2985 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( b `  y )  =/=  y
) )
141135, 140anbi12d 747 . . . . . . 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 3354 . . . . . 6  |-  ( ( b  |`  K )  e.  C  <->  ( ( b  |`  K ) : K -1-1-onto-> K  /\  A. y  e.  K  ( b `  y
)  =/=  y ) )
143127, 133, 142sylanbrc 698 . . . . 5  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K )  e.  C )
144143ex 450 . . . 4  |-  ( ph  ->  ( b  e.  B  ->  ( b  |`  K )  e.  C ) )
14557adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  N  e.  NN )
14658adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  M  e.  ( 2 ... ( N  +  1 ) ) )
147 eqid 2622 . . . . . . . . 9  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )
148 simpr 477 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  c  e.  C )
149 vex 3203 . . . . . . . . . . . 12  |-  c  e. 
_V
150 f1oeq1 6127 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  (
f : K -1-1-onto-> K  <->  c : K
-1-1-onto-> K ) )
151 fveq1 6190 . . . . . . . . . . . . . . 15  |-  ( f  =  c  ->  (
f `  y )  =  ( c `  y ) )
152151neeq1d 2853 . . . . . . . . . . . . . 14  |-  ( f  =  c  ->  (
( f `  y
)  =/=  y  <->  ( c `  y )  =/=  y
) )
153152ralbidv 2986 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( c `  y )  =/=  y
) )
154150, 153anbi12d 747 . . . . . . . . . . . 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 3354 . . . . . . . . . . 11  |-  ( c  e.  C  <->  ( c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y
) )
156148, 155sylib 208 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y ) )
157156simpld 475 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  c : K -1-1-onto-> K )
15855, 56, 1, 145, 146, 59, 14, 147, 157subfacp1lem2a 31162 . . . . . . . 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 1073 . . . . . . 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 31163 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( c `
 y ) )
161156simprd 479 . . . . . . . . . . . 12  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( c `  y )  =/=  y
)
162161r19.21bi 2932 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
c `  y )  =/=  y )
163160, 162eqnetrd 2861 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
164163ralrimiva 2966 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
165158simp2d 1074 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M )
166 elfzuz 12338 . . . . . . . . . . . . 13  |-  ( M  e.  ( 2 ... ( N  +  1 ) )  ->  M  e.  ( ZZ>= `  2 )
)
167 eluz2b3 11762 . . . . . . . . . . . . . 14  |-  ( M  e.  ( ZZ>= `  2
)  <->  ( M  e.  NN  /\  M  =/=  1 ) )
168167simprbi 480 . . . . . . . . . . . . 13  |-  ( M  e.  ( ZZ>= `  2
)  ->  M  =/=  1 )
16958, 166, 1683syl 18 . . . . . . . . . . . 12  |-  ( ph  ->  M  =/=  1 )
170169adantr 481 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  M  =/=  1 )
171165, 170eqnetrd 2861 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 )
172158simp3d 1075 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 )
173170necomd 2849 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  1  =/=  M )
174172, 173eqnetrd 2861 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M )
175 fveq2 6191 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
176 id 22 . . . . . . . . . . . 12  |-  ( y  =  1  ->  y  =  1 )
177175, 176neeq12d 2855 . . . . . . . . . . 11  |-  ( y  =  1  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 ) )
178 fveq2 6191 . . . . . . . . . . . 12  |-  ( y  =  M  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
179 id 22 . . . . . . . . . . . 12  |-  ( y  =  M  ->  y  =  M )
180178, 179neeq12d 2855 . . . . . . . . . . 11  |-  ( y  =  M  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M ) )
18171, 59, 177, 180ralpr 4238 . . . . . . . . . 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 698 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  { 1 ,  M }  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
183 ralunb 3794 . . . . . . . . 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 698 . . . . . . . 8  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( K  u.  {
1 ,  M }
) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
18561adantr 481 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) ) )
186185raleqdv 3144 . . . . . . . 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 222 . . . . . . 7  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
188 prex 4909 . . . . . . . . 9  |-  { <. 1 ,  M >. , 
<. M ,  1 >. }  e.  _V
189149, 188unex 6956 . . . . . . . 8  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  e. 
_V
190 f1oeq1 6127 . . . . . . . . 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 6190 . . . . . . . . . . 11  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
f `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
192191neeq1d 2853 . . . . . . . . . 10  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( f `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y ) )
193192ralbidv 2986 . . . . . . . . 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 747 . . . . . . . 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 3354 . . . . . . 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 698 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  A
)
197165, 172jca 554 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M  /\  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 ) )
198 fveq1 6190 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  1 )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 ) )
199198eqeq1d 2624 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  1
)  =  M  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M ) )
200 fveq1 6190 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  M )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M ) )
201200eqeq1d 2624 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  M
)  =  1  <->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 ) )
202199, 201anbi12d 747 . . . . . . 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 3366 . . . . . 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 698 . . . . 5  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
)
205204ex 450 . . . 4  |-  ( ph  ->  ( c  e.  C  ->  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
) )
20667adantrr 753 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  M )
207165adantrl 752 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M )
208206, 207eqtr4d 2659 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
20970adantrr 753 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  1 )
210172adantrl 752 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 )
211209, 210eqtr4d 2659 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
21290, 175eqeq12d 2637 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b ` 
1 )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) ) )
21386, 178eqeq12d 2637 . . . . . . . . . . . 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 4238 . . . . . . . . . . 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 698 . . . . . . . . . 10  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  A. y  e.  { 1 ,  M }  (
b `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
216215biantrud 528 . . . . . . . . 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 3794 . . . . . . . . 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 278 . . . . . . . 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 2632 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b `  y )  =  ( c `  y ) ) )
220219ralbidva 2985 . . . . . . . . 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 752 . . . . . . . 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 481 . . . . . . . . 9  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
223222raleqdv 3144 . . . . . . . 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 299 . . . . . . 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 2632 . . . . . . . . 9  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( c `  y )  =  ( b `  y ) ) )
226 eqcom 2629 . . . . . . . . 9  |-  ( ( c `  y )  =  ( b `  y )  <->  ( b `  y )  =  ( c `  y ) )
227225, 226syl6bb 276 . . . . . . . 8  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( b `  y )  =  ( c `  y ) ) )
228227ralbiia 2979 . . . . . . 7  |-  ( A. y  e.  K  (
c `  y )  =  ( ( b  |`  K ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) )
229224, 228syl6bbr 278 . . . . . 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 753 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
b  Fn  ( 1 ... ( N  + 
1 ) ) )
231159adantrl 752 . . . . . . . 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 6138 . . . . . . . 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 17 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  Fn  (
1 ... ( N  + 
1 ) ) )
234 eqfnfv 6311 . . . . . . 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 693 . . . . . 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 752 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c : K -1-1-onto-> K )
237 f1ofn 6138 . . . . . . . 8  |-  ( c : K -1-1-onto-> K  ->  c  Fn  K )
238236, 237syl 17 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c  Fn  K )
239129adantr 481 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
240 fnssres 6004 . . . . . . . 8  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  K  C_  ( 1 ... ( N  +  1 ) ) )  -> 
( b  |`  K )  Fn  K )
241230, 239, 240syl2anc 693 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  |`  K )  Fn  K )
242 eqfnfv 6311 . . . . . . 7  |-  ( ( c  Fn  K  /\  ( b  |`  K )  Fn  K )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
243238, 241, 242syl2anc 693 . . . . . 6  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
244229, 235, 2433bitr4d 300 . . . . 5  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  <->  c  =  ( b  |`  K ) ) )
245244ex 450 . . . 4  |-  ( ph  ->  ( ( b  e.  B  /\  c  e.  C )  ->  (
b  =  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  <->  c  =  ( b  |`  K ) ) ) )
24612, 23, 144, 205, 245en3d 7992 . . 3  |-  ( ph  ->  B  ~~  C )
247 hashen 13135 . . . 4  |-  ( ( B  e.  Fin  /\  C  e.  Fin )  ->  ( ( # `  B
)  =  ( # `  C )  <->  B  ~~  C ) )
24810, 21, 247mp2an 708 . . 3  |-  ( (
# `  B )  =  ( # `  C
)  <->  B  ~~  C )
249246, 248sylibr 224 . 2  |-  ( ph  ->  ( # `  B
)  =  ( # `  C ) )
25013fveq2i 6194 . . . 4  |-  ( # `  C )  =  (
# `  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25155derangval 31149 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( # `  {
f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } ) )
25218, 251ax-mp 5 . . . 4  |-  ( D `
 K )  =  ( # `  {
f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25355, 56derangen2 31156 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( S `  ( # `  K ) ) )
25418, 253ax-mp 5 . . . 4  |-  ( D `
 K )  =  ( S `  ( # `
 K ) )
255250, 252, 2543eqtr2ri 2651 . . 3  |-  ( S `
 ( # `  K
) )  =  (
# `  C )
25660simp3d 1075 . . . 4  |-  ( ph  ->  ( # `  K
)  =  ( N  -  1 ) )
257256fveq2d 6195 . . 3  |-  ( ph  ->  ( S `  ( # `
 K ) )  =  ( S `  ( N  -  1
) ) )
258255, 257syl5eqr 2670 . 2  |-  ( ph  ->  ( # `  C
)  =  ( S `
 ( N  - 
1 ) ) )
259249, 258eqtrd 2656 1  |-  ( ph  ->  ( # `  B
)  =  ( S `
 ( N  - 
1 ) ) )
Colors of variables: wff setvar class
Syntax hints:    -> wi 4    <-> wb 196    /\ wa 384    = wceq 1483    e. wcel 1990   {cab 2608    =/= wne 2794   A.wral 2912   E.wrex 2913   {crab 2916   _Vcvv 3200    \ cdif 3571    u. cun 3572    i^i cin 3573    C_ wss 3574   (/)c0 3915   {csn 4177   {cpr 4179   <.cop 4183   class class class wbr 4653    |-> cmpt 4729   `'ccnv 5113    |` cres 5116   Fun wfun 5882    Fn wfn 5883   -->wf 5884   -1-1->wf1 5885   -onto->wfo 5886   -1-1-onto->wf1o 5887   ` cfv 5888  (class class class)co 6650    ~~ cen 7952   Fincfn 7955   1c1 9937    + caddc 9939    - cmin 10266   NNcn 11020   2c2 11070   NN0cn0 11292   ZZ>=cuz 11687   ...cfz 12326   #chash 13117
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1722  ax-4 1737  ax-5 1839  ax-6 1888  ax-7 1935  ax-8 1992  ax-9 1999  ax-10 2019  ax-11 2034  ax-12 2047  ax-13 2246  ax-ext 2602  ax-rep 4771  ax-sep 4781  ax-nul 4789  ax-pow 4843  ax-pr 4906  ax-un 6949  ax-cnex 9992  ax-resscn 9993  ax-1cn 9994  ax-icn 9995  ax-addcl 9996  ax-addrcl 9997  ax-mulcl 9998  ax-mulrcl 9999  ax-mulcom 10000  ax-addass 10001  ax-mulass 10002  ax-distr 10003  ax-i2m1 10004  ax-1ne0 10005  ax-1rid 10006  ax-rnegex 10007  ax-rrecex 10008  ax-cnre 10009  ax-pre-lttri 10010  ax-pre-lttrn 10011  ax-pre-ltadd 10012  ax-pre-mulgt0 10013
This theorem depends on definitions:  df-bi 197  df-or 385  df-an 386  df-3or 1038  df-3an 1039  df-tru 1486  df-ex 1705  df-nf 1710  df-sb 1881  df-eu 2474  df-mo 2475  df-clab 2609  df-cleq 2615  df-clel 2618  df-nfc 2753  df-ne 2795  df-nel 2898  df-ral 2917  df-rex 2918  df-reu 2919  df-rmo 2920  df-rab 2921  df-v 3202  df-sbc 3436  df-csb 3534  df-dif 3577  df-un 3579  df-in 3581  df-ss 3588  df-pss 3590  df-nul 3916  df-if 4087  df-pw 4160  df-sn 4178  df-pr 4180  df-tp 4182  df-op 4184  df-uni 4437  df-int 4476  df-iun 4522  df-br 4654  df-opab 4713  df-mpt 4730  df-tr 4753  df-id 5024  df-eprel 5029  df-po 5035  df-so 5036  df-fr 5073  df-we 5075  df-xp 5120  df-rel 5121  df-cnv 5122  df-co 5123  df-dm 5124  df-rn 5125  df-res 5126  df-ima 5127  df-pred 5680  df-ord 5726  df-on 5727  df-lim 5728  df-suc 5729  df-iota 5851  df-fun 5890  df-fn 5891  df-f 5892  df-f1 5893  df-fo 5894  df-f1o 5895  df-fv 5896  df-riota 6611  df-ov 6653  df-oprab 6654  df-mpt2 6655  df-om 7066  df-1st 7168  df-2nd 7169  df-wrecs 7407  df-recs 7468  df-rdg 7506  df-1o 7560  df-2o 7561  df-oadd 7564  df-er 7742  df-map 7859  df-pm 7860  df-en 7956  df-dom 7957  df-sdom 7958  df-fin 7959  df-card 8765  df-cda 8990  df-pnf 10076  df-mnf 10077  df-xr 10078  df-ltxr 10079  df-le 10080  df-sub 10268  df-neg 10269  df-nn 11021  df-2 11079  df-n0 11293  df-xnn0 11364  df-z 11378  df-uz 11688  df-fz 12327  df-hash 13118
This theorem is referenced by:  subfacp1lem6  31167
  Copyright terms: Public domain W3C validator