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

Theorem subfacp1lem3 23713
Description: Lemma for subfacp1 23717. In subfacp1lem6 23716 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 11034 . . . . . . . . 9  |-  ( 1 ... ( N  + 
1 ) )  e. 
Fin
3 deranglem 23697 . . . . . . . . 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 2353 . . . . . . 7  |-  A  e. 
Fin
6 subfacp1lem3.b . . . . . . . 8  |-  B  =  { g  e.  A  |  ( ( g `
 1 )  =  M  /\  ( g `
 M )  =  1 ) }
7 ssrab2 3258 . . . . . . . 8  |-  { g  e.  A  |  ( ( g `  1
)  =  M  /\  ( g `  M
)  =  1 ) }  C_  A
86, 7eqsstri 3208 . . . . . . 7  |-  B  C_  A
9 ssfi 7083 . . . . . . 7  |-  ( ( A  e.  Fin  /\  B  C_  A )  ->  B  e.  Fin )
105, 8, 9mp2an 653 . . . . . 6  |-  B  e. 
Fin
1110elexi 2797 . . . . 5  |-  B  e. 
_V
1211a1i 10 . . . 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 11034 . . . . . . . . . 10  |-  ( 2 ... ( N  + 
1 ) )  e. 
Fin
16 diffi 7089 . . . . . . . . . 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 2353 . . . . . . . 8  |-  K  e. 
Fin
19 deranglem 23697 . . . . . . . 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 2353 . . . . . 6  |-  C  e. 
Fin
2221elexi 2797 . . . . 5  |-  C  e. 
_V
2322a1i 10 . . . 4  |-  ( ph  ->  C  e.  _V )
24 simpr 447 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  B )
25 fveq1 5524 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  1 )  =  ( b ` 
1 ) )
2625eqeq1d 2291 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  1
)  =  M  <->  ( b `  1 )  =  M ) )
27 fveq1 5524 . . . . . . . . . . . . . . . 16  |-  ( g  =  b  ->  (
g `  M )  =  ( b `  M ) )
2827eqeq1d 2291 . . . . . . . . . . . . . . 15  |-  ( g  =  b  ->  (
( g `  M
)  =  1  <->  (
b `  M )  =  1 ) )
2926, 28anbi12d 691 . . . . . . . . . . . . . 14  |-  ( g  =  b  ->  (
( ( g ` 
1 )  =  M  /\  ( g `  M )  =  1 )  <->  ( ( b `
 1 )  =  M  /\  ( b `
 M )  =  1 ) ) )
3029, 6elrab2 2925 . . . . . . . . . . . . 13  |-  ( b  e.  B  <->  ( b  e.  A  /\  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) ) )
3124, 30sylib 188 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b  e.  A  /\  ( ( b ` 
1 )  =  M  /\  ( b `  M )  =  1 ) ) )
3231simpld 445 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  e.  A )
33 vex 2791 . . . . . . . . . . . 12  |-  b  e. 
_V
34 f1oeq1 5463 . . . . . . . . . . . . 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 5524 . . . . . . . . . . . . . . 15  |-  ( f  =  b  ->  (
f `  y )  =  ( b `  y ) )
3635neeq1d 2459 . . . . . . . . . . . . . 14  |-  ( f  =  b  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
3736ralbidv 2563 . . . . . . . . . . . . 13  |-  ( f  =  b  ->  ( A. y  e.  (
1 ... ( N  + 
1 ) ) ( f `  y )  =/=  y  <->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
) )
3834, 37anbi12d 691 . . . . . . . . . . . 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 2917 . . . . . . . . . . 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 188 . . . . . . . . . 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 445 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
42 f1of1 5471 . . . . . . . . 9  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b :
( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  +  1 ) ) )
43 df-f1 5260 . . . . . . . . . 10  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-> ( 1 ... ( N  + 
1 ) )  <->  ( b : ( 1 ... ( N  +  1 ) ) --> ( 1 ... ( N  + 
1 ) )  /\  Fun  `' b ) )
4443simprbi 450 . . . . . . . . 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 5473 . . . . . . . . . . . 12  |-  ( b : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
4741, 46syl 15 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  b  Fn  ( 1 ... ( N  +  1 ) ) )
48 fnresdm 5353 . . . . . . . . . . 11  |-  ( b  Fn  ( 1 ... ( N  +  1 ) )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) )  =  b )
49 f1oeq1 5463 . . . . . . . . . . 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 223 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -1-1-onto-> ( 1 ... ( N  +  1 ) ) )
52 f1ofo 5479 . . . . . . . . 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 15 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  ( 1 ... ( N  +  1 ) ) ) : ( 1 ... ( N  +  1 ) ) -onto-> ( 1 ... ( N  +  1 ) ) )
54 ssun2 3339 . . . . . . . . . . . . 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 23710 . . . . . . . . . . . . . 14  |-  ( ph  ->  ( ( K  i^i  { 1 ,  M }
)  =  (/)  /\  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) )  /\  ( # `  K )  =  ( N  -  1 ) ) )
6160simp2d 968 . . . . . . . . . . . . 13  |-  ( ph  ->  ( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
6254, 61syl5sseq 3226 . . . . . . . . . . . 12  |-  ( ph  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
6362adantr 451 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )
64 fnssres 5357 . . . . . . . . . . 11  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  { 1 ,  M }  C_  ( 1 ... ( N  +  1 ) ) )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6547, 63, 64syl2anc 642 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } )  Fn 
{ 1 ,  M } )
6631simprd 449 . . . . . . . . . . . . . 14  |-  ( (
ph  /\  b  e.  B )  ->  (
( b `  1
)  =  M  /\  ( b `  M
)  =  1 ) )
6766simpld 445 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  =  M )
6859prid2 3735 . . . . . . . . . . . . 13  |-  M  e. 
{ 1 ,  M }
6967, 68syl6eqel 2371 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  1 )  e.  { 1 ,  M } )
7066simprd 449 . . . . . . . . . . . . 13  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  =  1 )
71 1ex 8833 . . . . . . . . . . . . . 14  |-  1  e.  _V
7271prid1 3734 . . . . . . . . . . . . 13  |-  1  e.  { 1 ,  M }
7370, 72syl6eqel 2371 . . . . . . . . . . . 12  |-  ( (
ph  /\  b  e.  B )  ->  (
b `  M )  e.  { 1 ,  M } )
74 fveq2 5525 . . . . . . . . . . . . . 14  |-  ( x  =  1  ->  (
b `  x )  =  ( b ` 
1 ) )
7574eleq1d 2349 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  1 )  e. 
{ 1 ,  M } ) )
76 fveq2 5525 . . . . . . . . . . . . . 14  |-  ( x  =  M  ->  (
b `  x )  =  ( b `  M ) )
7776eleq1d 2349 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  x
)  e.  { 1 ,  M }  <->  ( b `  M )  e.  {
1 ,  M }
) )
7871, 59, 75, 77ralpr 3686 . . . . . . . . . . . 12  |-  ( A. x  e.  { 1 ,  M }  ( b `
 x )  e. 
{ 1 ,  M } 
<->  ( ( b ` 
1 )  e.  {
1 ,  M }  /\  ( b `  M
)  e.  { 1 ,  M } ) )
7969, 73, 78sylanbrc 645 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( b `  x )  e.  {
1 ,  M }
)
80 fvres 5542 . . . . . . . . . . . . 13  |-  ( x  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 x )  =  ( b `  x
) )
8180eleq1d 2349 . . . . . . . . . . . 12  |-  ( x  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M }  <->  ( b `  x )  e.  {
1 ,  M }
) )
8281ralbiia 2575 . . . . . . . . . . 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 203 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M }  ( ( b  |`  { 1 ,  M } ) `  x
)  e.  { 1 ,  M } )
84 ffnfv 5685 . . . . . . . . . 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 645 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M }
--> { 1 ,  M } )
86 fveq2 5525 . . . . . . . . . . . . . 14  |-  ( y  =  M  ->  (
b `  y )  =  ( b `  M ) )
8786eqeq1d 2291 . . . . . . . . . . . . 13  |-  ( y  =  M  ->  (
( b `  y
)  =  1  <->  (
b `  M )  =  1 ) )
8887rspcev 2884 . . . . . . . . . . . 12  |-  ( ( M  e.  { 1 ,  M }  /\  ( b `  M
)  =  1 )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 )
8968, 70, 88sylancr 644 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  1 )
90 fveq2 5525 . . . . . . . . . . . . . 14  |-  ( y  =  1  ->  (
b `  y )  =  ( b ` 
1 ) )
9190eqeq1d 2291 . . . . . . . . . . . . 13  |-  ( y  =  1  ->  (
( b `  y
)  =  M  <->  ( b `  1 )  =  M ) )
9291rspcev 2884 . . . . . . . . . . . 12  |-  ( ( 1  e.  { 1 ,  M }  /\  ( b `  1
)  =  M )  ->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M )
9372, 67, 92sylancr 644 . . . . . . . . . . 11  |-  ( (
ph  /\  b  e.  B )  ->  E. y  e.  { 1 ,  M }  ( b `  y )  =  M )
94 eqeq2 2292 . . . . . . . . . . . . 13  |-  ( x  =  1  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  1 ) )
9594rexbidv 2564 . . . . . . . . . . . 12  |-  ( x  =  1  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  1 ) )
96 eqeq2 2292 . . . . . . . . . . . . 13  |-  ( x  =  M  ->  (
( b `  y
)  =  x  <->  ( b `  y )  =  M ) )
9796rexbidv 2564 . . . . . . . . . . . 12  |-  ( x  =  M  ->  ( E. y  e.  { 1 ,  M }  (
b `  y )  =  x  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  M ) )
9871, 59, 95, 97ralpr 3686 . . . . . . . . . . 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 645 . . . . . . . . . 10  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
100 eqcom 2285 . . . . . . . . . . . . 13  |-  ( x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  ( ( b  |`  { 1 ,  M } ) `  y
)  =  x )
101 fvres 5542 . . . . . . . . . . . . . 14  |-  ( y  e.  { 1 ,  M }  ->  (
( b  |`  { 1 ,  M } ) `
 y )  =  ( b `  y
) )
102101eqeq1d 2291 . . . . . . . . . . . . 13  |-  ( y  e.  { 1 ,  M }  ->  (
( ( b  |`  { 1 ,  M } ) `  y
)  =  x  <->  ( b `  y )  =  x ) )
103100, 102syl5bb 248 . . . . . . . . . . . 12  |-  ( y  e.  { 1 ,  M }  ->  (
x  =  ( ( b  |`  { 1 ,  M } ) `  y )  <->  ( b `  y )  =  x ) )
104103rexbiia 2576 . . . . . . . . . . 11  |-  ( E. y  e.  { 1 ,  M } x  =  ( ( b  |`  { 1 ,  M } ) `  y
)  <->  E. y  e.  {
1 ,  M } 
( b `  y
)  =  x )
105104ralbii 2567 . . . . . . . . . 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 203 . . . . . . . . 9  |-  ( (
ph  /\  b  e.  B )  ->  A. x  e.  { 1 ,  M } E. y  e.  {
1 ,  M }
x  =  ( ( b  |`  { 1 ,  M } ) `  y ) )
107 dffo3 5675 . . . . . . . . 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 645 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  { 1 ,  M } ) : { 1 ,  M } -onto-> { 1 ,  M } )
109 resdif 5494 . . . . . . . 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 1182 . . . . . . 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 3319 . . . . . . . . . . 11  |-  ( { 1 ,  M }  u.  K )  =  ( K  u.  { 1 ,  M } )
112111, 61syl5eq 2327 . . . . . . . . . 10  |-  ( ph  ->  ( { 1 ,  M }  u.  K
)  =  ( 1 ... ( N  + 
1 ) ) )
113 incom 3361 . . . . . . . . . . . 12  |-  ( { 1 ,  M }  i^i  K )  =  ( K  i^i  { 1 ,  M } )
11460simp1d 967 . . . . . . . . . . . 12  |-  ( ph  ->  ( K  i^i  {
1 ,  M }
)  =  (/) )
115113, 114syl5eq 2327 . . . . . . . . . . 11  |-  ( ph  ->  ( { 1 ,  M }  i^i  K
)  =  (/) )
116 uneqdifeq 3542 . . . . . . . . . . 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 642 . . . . . . . . . 10  |-  ( ph  ->  ( ( { 1 ,  M }  u.  K )  =  ( 1 ... ( N  +  1 ) )  <-> 
( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K ) )
118112, 117mpbid 201 . . . . . . . . 9  |-  ( ph  ->  ( ( 1 ... ( N  +  1 ) )  \  {
1 ,  M }
)  =  K )
119118adantr 451 . . . . . . . 8  |-  ( (
ph  /\  b  e.  B )  ->  (
( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K )
120 reseq2 4950 . . . . . . . . . 10  |-  ( ( ( 1 ... ( N  +  1 ) )  \  { 1 ,  M } )  =  K  ->  (
b  |`  ( ( 1 ... ( N  + 
1 ) )  \  { 1 ,  M } ) )  =  ( b  |`  K ) )
121 f1oeq1 5463 . . . . . . . . . 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 15 . . . . . . . . 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 5464 . . . . . . . . 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 5465 . . . . . . . . 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 270 . . . . . . . 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 15 . . . . . . 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 201 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K ) : K -1-1-onto-> K )
128 ssun1 3338 . . . . . . . . 9  |-  K  C_  ( K  u.  { 1 ,  M } )
129128, 61syl5sseq 3226 . . . . . . . 8  |-  ( ph  ->  K  C_  ( 1 ... ( N  + 
1 ) ) )
130129adantr 451 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
13140simprd 449 . . . . . . 7  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( b `  y )  =/=  y
)
132 ssralv 3237 . . . . . . 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 56 . . . . . 6  |-  ( (
ph  /\  b  e.  B )  ->  A. y  e.  K  ( b `  y )  =/=  y
)
13433resex 4995 . . . . . . 7  |-  ( b  |`  K )  e.  _V
135 f1oeq1 5463 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  (
f : K -1-1-onto-> K  <->  ( b  |`  K ) : K -1-1-onto-> K
) )
136 fveq1 5524 . . . . . . . . . . 11  |-  ( f  =  ( b  |`  K )  ->  (
f `  y )  =  ( ( b  |`  K ) `  y
) )
137 fvres 5542 . . . . . . . . . . 11  |-  ( y  e.  K  ->  (
( b  |`  K ) `
 y )  =  ( b `  y
) )
138136, 137sylan9eq 2335 . . . . . . . . . 10  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
f `  y )  =  ( b `  y ) )
139138neeq1d 2459 . . . . . . . . 9  |-  ( ( f  =  ( b  |`  K )  /\  y  e.  K )  ->  (
( f `  y
)  =/=  y  <->  ( b `  y )  =/=  y
) )
140139ralbidva 2559 . . . . . . . 8  |-  ( f  =  ( b  |`  K )  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( b `  y )  =/=  y
) )
141135, 140anbi12d 691 . . . . . . 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 2917 . . . . . 6  |-  ( ( b  |`  K )  e.  C  <->  ( ( b  |`  K ) : K -1-1-onto-> K  /\  A. y  e.  K  ( b `  y
)  =/=  y ) )
143127, 133, 142sylanbrc 645 . . . . 5  |-  ( (
ph  /\  b  e.  B )  ->  (
b  |`  K )  e.  C )
144143ex 423 . . . 4  |-  ( ph  ->  ( b  e.  B  ->  ( b  |`  K )  e.  C ) )
14557adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  N  e.  NN )
14658adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  M  e.  ( 2 ... ( N  +  1 ) ) )
147 eqid 2283 . . . . . . . . 9  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )
148 simpr 447 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  c  e.  C )
149 vex 2791 . . . . . . . . . . . 12  |-  c  e. 
_V
150 f1oeq1 5463 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  (
f : K -1-1-onto-> K  <->  c : K
-1-1-onto-> K ) )
151 fveq1 5524 . . . . . . . . . . . . . . 15  |-  ( f  =  c  ->  (
f `  y )  =  ( c `  y ) )
152151neeq1d 2459 . . . . . . . . . . . . . 14  |-  ( f  =  c  ->  (
( f `  y
)  =/=  y  <->  ( c `  y )  =/=  y
) )
153152ralbidv 2563 . . . . . . . . . . . . 13  |-  ( f  =  c  ->  ( A. y  e.  K  ( f `  y
)  =/=  y  <->  A. y  e.  K  ( c `  y )  =/=  y
) )
154150, 153anbi12d 691 . . . . . . . . . . . 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 2917 . . . . . . . . . . 11  |-  ( c  e.  C  <->  ( c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y
) )
156148, 155sylib 188 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
c : K -1-1-onto-> K  /\  A. y  e.  K  ( c `  y )  =/=  y ) )
157156simpld 445 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  c : K -1-1-onto-> K )
15855, 56, 1, 145, 146, 59, 14, 147, 157subfacp1lem2a 23711 . . . . . . . 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 967 . . . . . . 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 23712 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( c `
 y ) )
161156simprd 449 . . . . . . . . . . . 12  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( c `  y )  =/=  y
)
162161r19.21bi 2641 . . . . . . . . . . 11  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
c `  y )  =/=  y )
163160, 162eqnetrd 2464 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
164163ralrimiva 2626 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  K  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y )
165158simp2d 968 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M )
166 elfzuz 10794 . . . . . . . . . . . . 13  |-  ( M  e.  ( 2 ... ( N  +  1 ) )  ->  M  e.  ( ZZ>= `  2 )
)
167 eluz2b3 10291 . . . . . . . . . . . . . 14  |-  ( M  e.  ( ZZ>= `  2
)  <->  ( M  e.  NN  /\  M  =/=  1 ) )
168167simprbi 450 . . . . . . . . . . . . 13  |-  ( M  e.  ( ZZ>= `  2
)  ->  M  =/=  1 )
16958, 166, 1683syl 18 . . . . . . . . . . . 12  |-  ( ph  ->  M  =/=  1 )
170169adantr 451 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  M  =/=  1 )
171165, 170eqnetrd 2464 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 )
172158simp3d 969 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 )
173170necomd 2529 . . . . . . . . . . 11  |-  ( (
ph  /\  c  e.  C )  ->  1  =/=  M )
174172, 173eqnetrd 2464 . . . . . . . . . 10  |-  ( (
ph  /\  c  e.  C )  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M )
175 fveq2 5525 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
176 id 19 . . . . . . . . . . . 12  |-  ( y  =  1  ->  y  =  1 )
177175, 176neeq12d 2461 . . . . . . . . . . 11  |-  ( y  =  1  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =/=  1 ) )
178 fveq2 5525 . . . . . . . . . . . 12  |-  ( y  =  M  ->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
179 id 19 . . . . . . . . . . . 12  |-  ( y  =  M  ->  y  =  M )
180178, 179neeq12d 2461 . . . . . . . . . . 11  |-  ( y  =  M  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =/=  M ) )
18171, 59, 177, 180ralpr 3686 . . . . . . . . . 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 645 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  { 1 ,  M }  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
183 ralunb 3356 . . . . . . . . 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 645 . . . . . . . 8  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( K  u.  {
1 ,  M }
) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
18561adantr 451 . . . . . . . . 9  |-  ( (
ph  /\  c  e.  C )  ->  ( K  u.  { 1 ,  M } )  =  ( 1 ... ( N  +  1 ) ) )
186185raleqdv 2742 . . . . . . . 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 201 . . . . . . 7  |-  ( (
ph  /\  c  e.  C )  ->  A. y  e.  ( 1 ... ( N  +  1 ) ) ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y )  =/=  y
)
188 prex 4217 . . . . . . . . 9  |-  { <. 1 ,  M >. , 
<. M ,  1 >. }  e.  _V
189149, 188unex 4518 . . . . . . . 8  |-  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  e. 
_V
190 f1oeq1 5463 . . . . . . . . 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 5524 . . . . . . . . . . 11  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
f `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
192191neeq1d 2459 . . . . . . . . . 10  |-  ( f  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( f `  y
)  =/=  y  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  =/=  y ) )
193192ralbidv 2563 . . . . . . . . 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 691 . . . . . . . 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 2917 . . . . . . 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 645 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  A
)
197165, 172jca 518 . . . . . 6  |-  ( (
ph  /\  c  e.  C )  ->  (
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M  /\  ( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 ) )
198 fveq1 5524 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  1 )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) ` 
1 ) )
199198eqeq1d 2291 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  1
)  =  M  <->  ( (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
)  =  M ) )
200 fveq1 5524 . . . . . . . . 9  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
g `  M )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  M ) )
201200eqeq1d 2291 . . . . . . . 8  |-  ( g  =  ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } )  ->  (
( g `  M
)  =  1  <->  (
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
)  =  1 ) )
202199, 201anbi12d 691 . . . . . . 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 2925 . . . . . 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 645 . . . . 5  |-  ( (
ph  /\  c  e.  C )  ->  (
c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
)
205204ex 423 . . . 4  |-  ( ph  ->  ( c  e.  C  ->  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  e.  B
) )
20667adantrr 697 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  M )
207165adantrl 696 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  1
)  =  M )
208206, 207eqtr4d 2318 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  1
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) )
20970adantrr 697 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  1 )
210172adantrl 696 . . . . . . . . . . . 12  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( ( c  u. 
{ <. 1 ,  M >. ,  <. M ,  1
>. } ) `  M
)  =  1 )
211209, 210eqtr4d 2318 . . . . . . . . . . 11  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b `  M
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  M
) )
21290, 175eqeq12d 2297 . . . . . . . . . . . 12  |-  ( y  =  1  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b ` 
1 )  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  1
) ) )
21386, 178eqeq12d 2297 . . . . . . . . . . . 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 3686 . . . . . . . . . . 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 645 . . . . . . . . . 10  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  A. y  e.  { 1 ,  M }  (
b `  y )  =  ( ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } ) `  y ) )
216215biantrud 493 . . . . . . . . 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 3356 . . . . . . . . 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 254 . . . . . . . 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 2294 . . . . . . . . . 10  |-  ( ( ( ph  /\  c  e.  C )  /\  y  e.  K )  ->  (
( b `  y
)  =  ( ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } ) `  y
)  <->  ( b `  y )  =  ( c `  y ) ) )
220219ralbidva 2559 . . . . . . . . 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 696 . . . . . . . 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 451 . . . . . . . . 9  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( K  u.  {
1 ,  M }
)  =  ( 1 ... ( N  + 
1 ) ) )
223222raleqdv 2742 . . . . . . . 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 275 . . . . . . 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 2294 . . . . . . . . 9  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( c `  y )  =  ( b `  y ) ) )
226 eqcom 2285 . . . . . . . . 9  |-  ( ( c `  y )  =  ( b `  y )  <->  ( b `  y )  =  ( c `  y ) )
227225, 226syl6bb 252 . . . . . . . 8  |-  ( y  e.  K  ->  (
( c `  y
)  =  ( ( b  |`  K ) `  y )  <->  ( b `  y )  =  ( c `  y ) ) )
228227ralbiia 2575 . . . . . . 7  |-  ( A. y  e.  K  (
c `  y )  =  ( ( b  |`  K ) `  y
)  <->  A. y  e.  K  ( b `  y
)  =  ( c `
 y ) )
229224, 228syl6bbr 254 . . . . . 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 697 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
b  Fn  ( 1 ... ( N  + 
1 ) ) )
231159adantrl 696 . . . . . . . 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 5473 . . . . . . . 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 15 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  Fn  (
1 ... ( N  + 
1 ) ) )
234 eqfnfv 5622 . . . . . . 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 642 . . . . . 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 696 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c : K -1-1-onto-> K )
237 f1ofn 5473 . . . . . . . 8  |-  ( c : K -1-1-onto-> K  ->  c  Fn  K )
238236, 237syl 15 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
c  Fn  K )
239129adantr 451 . . . . . . . 8  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  ->  K  C_  ( 1 ... ( N  +  1 ) ) )
240 fnssres 5357 . . . . . . . 8  |-  ( ( b  Fn  ( 1 ... ( N  + 
1 ) )  /\  K  C_  ( 1 ... ( N  +  1 ) ) )  -> 
( b  |`  K )  Fn  K )
241230, 239, 240syl2anc 642 . . . . . . 7  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  |`  K )  Fn  K )
242 eqfnfv 5622 . . . . . . 7  |-  ( ( c  Fn  K  /\  ( b  |`  K )  Fn  K )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
243238, 241, 242syl2anc 642 . . . . . 6  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( c  =  ( b  |`  K )  <->  A. y  e.  K  ( c `  y )  =  ( ( b  |`  K ) `  y
) ) )
244229, 235, 2433bitr4d 276 . . . . 5  |-  ( (
ph  /\  ( b  e.  B  /\  c  e.  C ) )  -> 
( b  =  ( c  u.  { <. 1 ,  M >. , 
<. M ,  1 >. } )  <->  c  =  ( b  |`  K ) ) )
245244ex 423 . . . 4  |-  ( ph  ->  ( ( b  e.  B  /\  c  e.  C )  ->  (
b  =  ( c  u.  { <. 1 ,  M >. ,  <. M , 
1 >. } )  <->  c  =  ( b  |`  K ) ) ) )
24612, 23, 144, 205, 245en3d 6898 . . 3  |-  ( ph  ->  B  ~~  C )
247 hashen 11346 . . . 4  |-  ( ( B  e.  Fin  /\  C  e.  Fin )  ->  ( ( # `  B
)  =  ( # `  C )  <->  B  ~~  C ) )
24810, 21, 247mp2an 653 . . 3  |-  ( (
# `  B )  =  ( # `  C
)  <->  B  ~~  C )
249246, 248sylibr 203 . 2  |-  ( ph  ->  ( # `  B
)  =  ( # `  C ) )
25013fveq2i 5528 . . . 4  |-  ( # `  C )  =  (
# `  { f  |  ( f : K -1-1-onto-> K  /\  A. y  e.  K  ( f `  y )  =/=  y
) } )
25155derangval 23698 . . . . 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 23705 . . . . 5  |-  ( K  e.  Fin  ->  ( D `  K )  =  ( S `  ( # `  K ) ) )
25418, 253ax-mp 8 . . . 4  |-  ( D `
 K )  =  ( S `  ( # `
 K ) )
255250, 252, 2543eqtr2ri 2310 . . 3  |-  ( S `
 ( # `  K
) )  =  (
# `  C )
25660simp3d 969 . . . 4  |-  ( ph  ->  ( # `  K
)  =  ( N  -  1 ) )
257256fveq2d 5529 . . 3  |-  ( ph  ->  ( S `  ( # `
 K ) )  =  ( S `  ( N  -  1
) ) )
258255, 257syl5eqr 2329 . 2  |-  ( ph  ->  ( # `  C
)  =  ( S `
 ( N  - 
1 ) ) )
259249, 258eqtrd 2315 1  |-  ( ph  ->  ( # `  B
)  =  ( S `
 ( N  - 
1 ) ) )
Colors of variables: wff set class
Syntax hints:    -> wi 4    <-> wb 176    /\ wa 358    = wceq 1623    e. wcel 1684   {cab 2269    =/= wne 2446   A.wral 2543   E.wrex 2544   {crab 2547   _Vcvv 2788    \ cdif 3149    u. cun 3150    i^i cin 3151    C_ wss 3152   (/)c0 3455   {csn 3640   {cpr 3641   <.cop 3643   class class class wbr 4023    e. cmpt 4077   `'ccnv 4688    |` cres 4691   Fun wfun 5249    Fn wfn 5250   -->wf 5251   -1-1->wf1 5252   -onto->wfo 5253   -1-1-onto->wf1o 5254   ` cfv 5255  (class class class)co 5858    ~~ cen 6860   Fincfn 6863   1c1 8738    + caddc 8740    - cmin 9037   NNcn 9746   2c2 9795   NN0cn0 9965   ZZ>=cuz 10230   ...cfz 10782   #chash 11337
This theorem is referenced by:  subfacp1lem6  23716
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-rep 4131  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-cnex 8793  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813  ax-pre-mulgt0 8814
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rmo 2551  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-int 3863  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-oprab 5862  df-mpt2 5863  df-1st 6122  df-2nd 6123  df-riota 6304  df-recs 6388  df-rdg 6423  df-1o 6479  df-2o 6480  df-oadd 6483  df-er 6660  df-map 6774  df-pm 6775  df-en 6864  df-dom 6865  df-sdom 6866  df-fin 6867  df-card 7572  df-cda 7794  df-pnf 8869  df-mnf 8870  df-xr 8871  df-ltxr 8872  df-le 8873  df-sub 9039  df-neg 9040  df-nn 9747  df-2 9804  df-n0 9966  df-z 10025  df-uz 10231  df-fz 10783  df-hash 11338
  Copyright terms: Public domain W3C validator