| Step | Hyp | Ref | Expression | 
						
							| 1 |  | derang.d |  |-  D = ( x e. Fin |-> ( # ` { f | ( f : x -1-1-onto-> x /\ A. y e. x ( f ` y ) =/= y ) } ) ) | 
						
							| 2 |  | subfac.n |  |-  S = ( n e. NN0 |-> ( D ` ( 1 ... n ) ) ) | 
						
							| 3 |  | subfacp1lem.a |  |-  A = { f | ( f : ( 1 ... ( N + 1 ) ) -1-1-onto-> ( 1 ... ( N + 1 ) ) /\ A. y e. ( 1 ... ( N + 1 ) ) ( f ` y ) =/= y ) } | 
						
							| 4 |  | subfacp1lem1.n |  |-  ( ph -> N e. NN ) | 
						
							| 5 |  | subfacp1lem1.m |  |-  ( ph -> M e. ( 2 ... ( N + 1 ) ) ) | 
						
							| 6 |  | subfacp1lem1.x |  |-  M e. _V | 
						
							| 7 |  | subfacp1lem1.k |  |-  K = ( ( 2 ... ( N + 1 ) ) \ { M } ) | 
						
							| 8 |  | disj |  |-  ( ( K i^i { 1 , M } ) = (/) <-> A. x e. K -. x e. { 1 , M } ) | 
						
							| 9 |  | eldifi |  |-  ( x e. ( ( 2 ... ( N + 1 ) ) \ { M } ) -> x e. ( 2 ... ( N + 1 ) ) ) | 
						
							| 10 |  | elfzle1 |  |-  ( x e. ( 2 ... ( N + 1 ) ) -> 2 <_ x ) | 
						
							| 11 |  | 1lt2 |  |-  1 < 2 | 
						
							| 12 |  | 1re |  |-  1 e. RR | 
						
							| 13 |  | 2re |  |-  2 e. RR | 
						
							| 14 | 12 13 | ltnlei |  |-  ( 1 < 2 <-> -. 2 <_ 1 ) | 
						
							| 15 | 11 14 | mpbi |  |-  -. 2 <_ 1 | 
						
							| 16 |  | breq2 |  |-  ( x = 1 -> ( 2 <_ x <-> 2 <_ 1 ) ) | 
						
							| 17 | 15 16 | mtbiri |  |-  ( x = 1 -> -. 2 <_ x ) | 
						
							| 18 | 17 | necon2ai |  |-  ( 2 <_ x -> x =/= 1 ) | 
						
							| 19 | 9 10 18 | 3syl |  |-  ( x e. ( ( 2 ... ( N + 1 ) ) \ { M } ) -> x =/= 1 ) | 
						
							| 20 |  | eldifsni |  |-  ( x e. ( ( 2 ... ( N + 1 ) ) \ { M } ) -> x =/= M ) | 
						
							| 21 | 19 20 | jca |  |-  ( x e. ( ( 2 ... ( N + 1 ) ) \ { M } ) -> ( x =/= 1 /\ x =/= M ) ) | 
						
							| 22 | 21 7 | eleq2s |  |-  ( x e. K -> ( x =/= 1 /\ x =/= M ) ) | 
						
							| 23 |  | neanior |  |-  ( ( x =/= 1 /\ x =/= M ) <-> -. ( x = 1 \/ x = M ) ) | 
						
							| 24 | 22 23 | sylib |  |-  ( x e. K -> -. ( x = 1 \/ x = M ) ) | 
						
							| 25 |  | vex |  |-  x e. _V | 
						
							| 26 | 25 | elpr |  |-  ( x e. { 1 , M } <-> ( x = 1 \/ x = M ) ) | 
						
							| 27 | 24 26 | sylnibr |  |-  ( x e. K -> -. x e. { 1 , M } ) | 
						
							| 28 | 8 27 | mprgbir |  |-  ( K i^i { 1 , M } ) = (/) | 
						
							| 29 | 28 | a1i |  |-  ( ph -> ( K i^i { 1 , M } ) = (/) ) | 
						
							| 30 |  | uncom |  |-  ( { 1 } u. ( K u. { M } ) ) = ( ( K u. { M } ) u. { 1 } ) | 
						
							| 31 |  | 1z |  |-  1 e. ZZ | 
						
							| 32 |  | fzsn |  |-  ( 1 e. ZZ -> ( 1 ... 1 ) = { 1 } ) | 
						
							| 33 | 31 32 | ax-mp |  |-  ( 1 ... 1 ) = { 1 } | 
						
							| 34 | 7 | uneq1i |  |-  ( K u. { M } ) = ( ( ( 2 ... ( N + 1 ) ) \ { M } ) u. { M } ) | 
						
							| 35 |  | undif1 |  |-  ( ( ( 2 ... ( N + 1 ) ) \ { M } ) u. { M } ) = ( ( 2 ... ( N + 1 ) ) u. { M } ) | 
						
							| 36 | 34 35 | eqtr2i |  |-  ( ( 2 ... ( N + 1 ) ) u. { M } ) = ( K u. { M } ) | 
						
							| 37 | 33 36 | uneq12i |  |-  ( ( 1 ... 1 ) u. ( ( 2 ... ( N + 1 ) ) u. { M } ) ) = ( { 1 } u. ( K u. { M } ) ) | 
						
							| 38 |  | df-pr |  |-  { 1 , M } = ( { 1 } u. { M } ) | 
						
							| 39 | 38 | equncomi |  |-  { 1 , M } = ( { M } u. { 1 } ) | 
						
							| 40 | 39 | uneq2i |  |-  ( K u. { 1 , M } ) = ( K u. ( { M } u. { 1 } ) ) | 
						
							| 41 |  | unass |  |-  ( ( K u. { M } ) u. { 1 } ) = ( K u. ( { M } u. { 1 } ) ) | 
						
							| 42 | 40 41 | eqtr4i |  |-  ( K u. { 1 , M } ) = ( ( K u. { M } ) u. { 1 } ) | 
						
							| 43 | 30 37 42 | 3eqtr4i |  |-  ( ( 1 ... 1 ) u. ( ( 2 ... ( N + 1 ) ) u. { M } ) ) = ( K u. { 1 , M } ) | 
						
							| 44 | 5 | snssd |  |-  ( ph -> { M } C_ ( 2 ... ( N + 1 ) ) ) | 
						
							| 45 |  | ssequn2 |  |-  ( { M } C_ ( 2 ... ( N + 1 ) ) <-> ( ( 2 ... ( N + 1 ) ) u. { M } ) = ( 2 ... ( N + 1 ) ) ) | 
						
							| 46 | 44 45 | sylib |  |-  ( ph -> ( ( 2 ... ( N + 1 ) ) u. { M } ) = ( 2 ... ( N + 1 ) ) ) | 
						
							| 47 |  | df-2 |  |-  2 = ( 1 + 1 ) | 
						
							| 48 | 47 | oveq1i |  |-  ( 2 ... ( N + 1 ) ) = ( ( 1 + 1 ) ... ( N + 1 ) ) | 
						
							| 49 | 46 48 | eqtrdi |  |-  ( ph -> ( ( 2 ... ( N + 1 ) ) u. { M } ) = ( ( 1 + 1 ) ... ( N + 1 ) ) ) | 
						
							| 50 | 49 | uneq2d |  |-  ( ph -> ( ( 1 ... 1 ) u. ( ( 2 ... ( N + 1 ) ) u. { M } ) ) = ( ( 1 ... 1 ) u. ( ( 1 + 1 ) ... ( N + 1 ) ) ) ) | 
						
							| 51 | 4 | peano2nnd |  |-  ( ph -> ( N + 1 ) e. NN ) | 
						
							| 52 |  | nnuz |  |-  NN = ( ZZ>= ` 1 ) | 
						
							| 53 | 51 52 | eleqtrdi |  |-  ( ph -> ( N + 1 ) e. ( ZZ>= ` 1 ) ) | 
						
							| 54 |  | eluzfz1 |  |-  ( ( N + 1 ) e. ( ZZ>= ` 1 ) -> 1 e. ( 1 ... ( N + 1 ) ) ) | 
						
							| 55 |  | fzsplit |  |-  ( 1 e. ( 1 ... ( N + 1 ) ) -> ( 1 ... ( N + 1 ) ) = ( ( 1 ... 1 ) u. ( ( 1 + 1 ) ... ( N + 1 ) ) ) ) | 
						
							| 56 | 53 54 55 | 3syl |  |-  ( ph -> ( 1 ... ( N + 1 ) ) = ( ( 1 ... 1 ) u. ( ( 1 + 1 ) ... ( N + 1 ) ) ) ) | 
						
							| 57 | 50 56 | eqtr4d |  |-  ( ph -> ( ( 1 ... 1 ) u. ( ( 2 ... ( N + 1 ) ) u. { M } ) ) = ( 1 ... ( N + 1 ) ) ) | 
						
							| 58 | 43 57 | eqtr3id |  |-  ( ph -> ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) ) | 
						
							| 59 | 47 | oveq2i |  |-  ( ( N + 1 ) - 2 ) = ( ( N + 1 ) - ( 1 + 1 ) ) | 
						
							| 60 |  | fzfi |  |-  ( 2 ... ( N + 1 ) ) e. Fin | 
						
							| 61 |  | diffi |  |-  ( ( 2 ... ( N + 1 ) ) e. Fin -> ( ( 2 ... ( N + 1 ) ) \ { M } ) e. Fin ) | 
						
							| 62 | 60 61 | ax-mp |  |-  ( ( 2 ... ( N + 1 ) ) \ { M } ) e. Fin | 
						
							| 63 | 7 62 | eqeltri |  |-  K e. Fin | 
						
							| 64 |  | prfi |  |-  { 1 , M } e. Fin | 
						
							| 65 |  | hashun |  |-  ( ( K e. Fin /\ { 1 , M } e. Fin /\ ( K i^i { 1 , M } ) = (/) ) -> ( # ` ( K u. { 1 , M } ) ) = ( ( # ` K ) + ( # ` { 1 , M } ) ) ) | 
						
							| 66 | 63 64 28 65 | mp3an |  |-  ( # ` ( K u. { 1 , M } ) ) = ( ( # ` K ) + ( # ` { 1 , M } ) ) | 
						
							| 67 | 58 | fveq2d |  |-  ( ph -> ( # ` ( K u. { 1 , M } ) ) = ( # ` ( 1 ... ( N + 1 ) ) ) ) | 
						
							| 68 |  | neeq1 |  |-  ( x = M -> ( x =/= 1 <-> M =/= 1 ) ) | 
						
							| 69 | 10 18 | syl |  |-  ( x e. ( 2 ... ( N + 1 ) ) -> x =/= 1 ) | 
						
							| 70 | 68 69 | vtoclga |  |-  ( M e. ( 2 ... ( N + 1 ) ) -> M =/= 1 ) | 
						
							| 71 | 5 70 | syl |  |-  ( ph -> M =/= 1 ) | 
						
							| 72 | 71 | necomd |  |-  ( ph -> 1 =/= M ) | 
						
							| 73 |  | 1ex |  |-  1 e. _V | 
						
							| 74 |  | hashprg |  |-  ( ( 1 e. _V /\ M e. _V ) -> ( 1 =/= M <-> ( # ` { 1 , M } ) = 2 ) ) | 
						
							| 75 | 73 6 74 | mp2an |  |-  ( 1 =/= M <-> ( # ` { 1 , M } ) = 2 ) | 
						
							| 76 | 72 75 | sylib |  |-  ( ph -> ( # ` { 1 , M } ) = 2 ) | 
						
							| 77 | 76 | oveq2d |  |-  ( ph -> ( ( # ` K ) + ( # ` { 1 , M } ) ) = ( ( # ` K ) + 2 ) ) | 
						
							| 78 | 66 67 77 | 3eqtr3a |  |-  ( ph -> ( # ` ( 1 ... ( N + 1 ) ) ) = ( ( # ` K ) + 2 ) ) | 
						
							| 79 | 51 | nnnn0d |  |-  ( ph -> ( N + 1 ) e. NN0 ) | 
						
							| 80 |  | hashfz1 |  |-  ( ( N + 1 ) e. NN0 -> ( # ` ( 1 ... ( N + 1 ) ) ) = ( N + 1 ) ) | 
						
							| 81 | 79 80 | syl |  |-  ( ph -> ( # ` ( 1 ... ( N + 1 ) ) ) = ( N + 1 ) ) | 
						
							| 82 | 78 81 | eqtr3d |  |-  ( ph -> ( ( # ` K ) + 2 ) = ( N + 1 ) ) | 
						
							| 83 | 51 | nncnd |  |-  ( ph -> ( N + 1 ) e. CC ) | 
						
							| 84 |  | 2cnd |  |-  ( ph -> 2 e. CC ) | 
						
							| 85 |  | hashcl |  |-  ( K e. Fin -> ( # ` K ) e. NN0 ) | 
						
							| 86 | 63 85 | ax-mp |  |-  ( # ` K ) e. NN0 | 
						
							| 87 | 86 | nn0cni |  |-  ( # ` K ) e. CC | 
						
							| 88 | 87 | a1i |  |-  ( ph -> ( # ` K ) e. CC ) | 
						
							| 89 | 83 84 88 | subadd2d |  |-  ( ph -> ( ( ( N + 1 ) - 2 ) = ( # ` K ) <-> ( ( # ` K ) + 2 ) = ( N + 1 ) ) ) | 
						
							| 90 | 82 89 | mpbird |  |-  ( ph -> ( ( N + 1 ) - 2 ) = ( # ` K ) ) | 
						
							| 91 | 4 | nncnd |  |-  ( ph -> N e. CC ) | 
						
							| 92 |  | 1cnd |  |-  ( ph -> 1 e. CC ) | 
						
							| 93 | 91 92 92 | pnpcan2d |  |-  ( ph -> ( ( N + 1 ) - ( 1 + 1 ) ) = ( N - 1 ) ) | 
						
							| 94 | 59 90 93 | 3eqtr3a |  |-  ( ph -> ( # ` K ) = ( N - 1 ) ) | 
						
							| 95 | 29 58 94 | 3jca |  |-  ( ph -> ( ( K i^i { 1 , M } ) = (/) /\ ( K u. { 1 , M } ) = ( 1 ... ( N + 1 ) ) /\ ( # ` K ) = ( N - 1 ) ) ) |