| Step | Hyp | Ref | Expression | 
						
							| 1 |  | derang.d | ⊢ 𝐷  =  ( 𝑥  ∈  Fin  ↦  ( ♯ ‘ { 𝑓  ∣  ( 𝑓 : 𝑥 –1-1-onto→ 𝑥  ∧  ∀ 𝑦  ∈  𝑥 ( 𝑓 ‘ 𝑦 )  ≠  𝑦 ) } ) ) | 
						
							| 2 |  | subfac.n | ⊢ 𝑆  =  ( 𝑛  ∈  ℕ0  ↦  ( 𝐷 ‘ ( 1 ... 𝑛 ) ) ) | 
						
							| 3 |  | subfacp1lem.a | ⊢ 𝐴  =  { 𝑓  ∣  ( 𝑓 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  ∧  ∀ 𝑦  ∈  ( 1 ... ( 𝑁  +  1 ) ) ( 𝑓 ‘ 𝑦 )  ≠  𝑦 ) } | 
						
							| 4 |  | subfacp1lem1.n | ⊢ ( 𝜑  →  𝑁  ∈  ℕ ) | 
						
							| 5 |  | subfacp1lem1.m | ⊢ ( 𝜑  →  𝑀  ∈  ( 2 ... ( 𝑁  +  1 ) ) ) | 
						
							| 6 |  | subfacp1lem1.x | ⊢ 𝑀  ∈  V | 
						
							| 7 |  | subfacp1lem1.k | ⊢ 𝐾  =  ( ( 2 ... ( 𝑁  +  1 ) )  ∖  { 𝑀 } ) | 
						
							| 8 |  | subfacp1lem5.b | ⊢ 𝐵  =  { 𝑔  ∈  𝐴  ∣  ( ( 𝑔 ‘ 1 )  =  𝑀  ∧  ( 𝑔 ‘ 𝑀 )  ≠  1 ) } | 
						
							| 9 |  | subfacp1lem5.f | ⊢ 𝐹  =  ( (  I   ↾  𝐾 )  ∪  { 〈 1 ,  𝑀 〉 ,  〈 𝑀 ,  1 〉 } ) | 
						
							| 10 |  | f1oi | ⊢ (  I   ↾  𝐾 ) : 𝐾 –1-1-onto→ 𝐾 | 
						
							| 11 | 10 | a1i | ⊢ ( 𝜑  →  (  I   ↾  𝐾 ) : 𝐾 –1-1-onto→ 𝐾 ) | 
						
							| 12 | 1 2 3 4 5 6 7 9 11 | subfacp1lem2a | ⊢ ( 𝜑  →  ( 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  ∧  ( 𝐹 ‘ 1 )  =  𝑀  ∧  ( 𝐹 ‘ 𝑀 )  =  1 ) ) | 
						
							| 13 | 12 | simp1d | ⊢ ( 𝜑  →  𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 14 |  | f1ocnv | ⊢ ( 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  →  ◡ 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 15 |  | f1ofn | ⊢ ( ◡ 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  →  ◡ 𝐹  Fn  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 16 | 13 14 15 | 3syl | ⊢ ( 𝜑  →  ◡ 𝐹  Fn  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 17 |  | f1ofn | ⊢ ( 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  →  𝐹  Fn  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 18 | 13 17 | syl | ⊢ ( 𝜑  →  𝐹  Fn  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 19 | 1 2 3 4 5 6 7 | subfacp1lem1 | ⊢ ( 𝜑  →  ( ( 𝐾  ∩  { 1 ,  𝑀 } )  =  ∅  ∧  ( 𝐾  ∪  { 1 ,  𝑀 } )  =  ( 1 ... ( 𝑁  +  1 ) )  ∧  ( ♯ ‘ 𝐾 )  =  ( 𝑁  −  1 ) ) ) | 
						
							| 20 | 19 | simp2d | ⊢ ( 𝜑  →  ( 𝐾  ∪  { 1 ,  𝑀 } )  =  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 21 | 20 | eleq2d | ⊢ ( 𝜑  →  ( 𝑥  ∈  ( 𝐾  ∪  { 1 ,  𝑀 } )  ↔  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) ) ) | 
						
							| 22 | 21 | biimpar | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  𝑥  ∈  ( 𝐾  ∪  { 1 ,  𝑀 } ) ) | 
						
							| 23 |  | elun | ⊢ ( 𝑥  ∈  ( 𝐾  ∪  { 1 ,  𝑀 } )  ↔  ( 𝑥  ∈  𝐾  ∨  𝑥  ∈  { 1 ,  𝑀 } ) ) | 
						
							| 24 | 22 23 | sylib | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( 𝑥  ∈  𝐾  ∨  𝑥  ∈  { 1 ,  𝑀 } ) ) | 
						
							| 25 | 1 2 3 4 5 6 7 9 11 | subfacp1lem2b | ⊢ ( ( 𝜑  ∧  𝑥  ∈  𝐾 )  →  ( 𝐹 ‘ 𝑥 )  =  ( (  I   ↾  𝐾 ) ‘ 𝑥 ) ) | 
						
							| 26 |  | fvresi | ⊢ ( 𝑥  ∈  𝐾  →  ( (  I   ↾  𝐾 ) ‘ 𝑥 )  =  𝑥 ) | 
						
							| 27 | 26 | adantl | ⊢ ( ( 𝜑  ∧  𝑥  ∈  𝐾 )  →  ( (  I   ↾  𝐾 ) ‘ 𝑥 )  =  𝑥 ) | 
						
							| 28 | 25 27 | eqtrd | ⊢ ( ( 𝜑  ∧  𝑥  ∈  𝐾 )  →  ( 𝐹 ‘ 𝑥 )  =  𝑥 ) | 
						
							| 29 | 28 | fveq2d | ⊢ ( ( 𝜑  ∧  𝑥  ∈  𝐾 )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  ( 𝐹 ‘ 𝑥 ) ) | 
						
							| 30 | 29 28 | eqtrd | ⊢ ( ( 𝜑  ∧  𝑥  ∈  𝐾 )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) | 
						
							| 31 |  | vex | ⊢ 𝑥  ∈  V | 
						
							| 32 | 31 | elpr | ⊢ ( 𝑥  ∈  { 1 ,  𝑀 }  ↔  ( 𝑥  =  1  ∨  𝑥  =  𝑀 ) ) | 
						
							| 33 | 12 | simp2d | ⊢ ( 𝜑  →  ( 𝐹 ‘ 1 )  =  𝑀 ) | 
						
							| 34 | 33 | fveq2d | ⊢ ( 𝜑  →  ( 𝐹 ‘ ( 𝐹 ‘ 1 ) )  =  ( 𝐹 ‘ 𝑀 ) ) | 
						
							| 35 | 12 | simp3d | ⊢ ( 𝜑  →  ( 𝐹 ‘ 𝑀 )  =  1 ) | 
						
							| 36 | 34 35 | eqtrd | ⊢ ( 𝜑  →  ( 𝐹 ‘ ( 𝐹 ‘ 1 ) )  =  1 ) | 
						
							| 37 |  | 2fveq3 | ⊢ ( 𝑥  =  1  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  ( 𝐹 ‘ ( 𝐹 ‘ 1 ) ) ) | 
						
							| 38 |  | id | ⊢ ( 𝑥  =  1  →  𝑥  =  1 ) | 
						
							| 39 | 37 38 | eqeq12d | ⊢ ( 𝑥  =  1  →  ( ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥  ↔  ( 𝐹 ‘ ( 𝐹 ‘ 1 ) )  =  1 ) ) | 
						
							| 40 | 36 39 | syl5ibrcom | ⊢ ( 𝜑  →  ( 𝑥  =  1  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) ) | 
						
							| 41 | 35 | fveq2d | ⊢ ( 𝜑  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑀 ) )  =  ( 𝐹 ‘ 1 ) ) | 
						
							| 42 | 41 33 | eqtrd | ⊢ ( 𝜑  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑀 ) )  =  𝑀 ) | 
						
							| 43 |  | 2fveq3 | ⊢ ( 𝑥  =  𝑀  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  ( 𝐹 ‘ ( 𝐹 ‘ 𝑀 ) ) ) | 
						
							| 44 |  | id | ⊢ ( 𝑥  =  𝑀  →  𝑥  =  𝑀 ) | 
						
							| 45 | 43 44 | eqeq12d | ⊢ ( 𝑥  =  𝑀  →  ( ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥  ↔  ( 𝐹 ‘ ( 𝐹 ‘ 𝑀 ) )  =  𝑀 ) ) | 
						
							| 46 | 42 45 | syl5ibrcom | ⊢ ( 𝜑  →  ( 𝑥  =  𝑀  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) ) | 
						
							| 47 | 40 46 | jaod | ⊢ ( 𝜑  →  ( ( 𝑥  =  1  ∨  𝑥  =  𝑀 )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) ) | 
						
							| 48 | 47 | imp | ⊢ ( ( 𝜑  ∧  ( 𝑥  =  1  ∨  𝑥  =  𝑀 ) )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) | 
						
							| 49 | 32 48 | sylan2b | ⊢ ( ( 𝜑  ∧  𝑥  ∈  { 1 ,  𝑀 } )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) | 
						
							| 50 | 30 49 | jaodan | ⊢ ( ( 𝜑  ∧  ( 𝑥  ∈  𝐾  ∨  𝑥  ∈  { 1 ,  𝑀 } ) )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) | 
						
							| 51 | 24 50 | syldan | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥 ) | 
						
							| 52 | 13 | adantr | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 53 |  | f1of | ⊢ ( 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  →  𝐹 : ( 1 ... ( 𝑁  +  1 ) ) ⟶ ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 54 | 13 53 | syl | ⊢ ( 𝜑  →  𝐹 : ( 1 ... ( 𝑁  +  1 ) ) ⟶ ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 55 | 54 | ffvelcdmda | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( 𝐹 ‘ 𝑥 )  ∈  ( 1 ... ( 𝑁  +  1 ) ) ) | 
						
							| 56 |  | f1ocnvfv | ⊢ ( ( 𝐹 : ( 1 ... ( 𝑁  +  1 ) ) –1-1-onto→ ( 1 ... ( 𝑁  +  1 ) )  ∧  ( 𝐹 ‘ 𝑥 )  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥  →  ( ◡ 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝑥 ) ) ) | 
						
							| 57 | 52 55 56 | syl2anc | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( ( 𝐹 ‘ ( 𝐹 ‘ 𝑥 ) )  =  𝑥  →  ( ◡ 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝑥 ) ) ) | 
						
							| 58 | 51 57 | mpd | ⊢ ( ( 𝜑  ∧  𝑥  ∈  ( 1 ... ( 𝑁  +  1 ) ) )  →  ( ◡ 𝐹 ‘ 𝑥 )  =  ( 𝐹 ‘ 𝑥 ) ) | 
						
							| 59 | 16 18 58 | eqfnfvd | ⊢ ( 𝜑  →  ◡ 𝐹  =  𝐹 ) |