| Step | Hyp | Ref | Expression | 
						
							| 1 |  | nfsbc1v | ⊢ Ⅎ 𝑦 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 | 
						
							| 2 |  | sbceq1a | ⊢ ( 𝑦  =  ( 𝑓 ‘ 𝑥 )  →  ( 𝜑  ↔  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) ) | 
						
							| 3 | 1 2 | ac6gf | ⊢ ( ( 𝐴  ∈  𝑀  ∧  ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝐵 𝜑 )  →  ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) ) | 
						
							| 4 |  | fdm | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  dom  𝑓  =  𝐴 ) | 
						
							| 5 |  | vex | ⊢ 𝑓  ∈  V | 
						
							| 6 | 5 | dmex | ⊢ dom  𝑓  ∈  V | 
						
							| 7 | 4 6 | eqeltrrdi | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  𝐴  ∈  V ) | 
						
							| 8 |  | ffn | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  𝑓  Fn  𝐴 ) | 
						
							| 9 |  | fnrndomg | ⊢ ( 𝐴  ∈  V  →  ( 𝑓  Fn  𝐴  →  ran  𝑓  ≼  𝐴 ) ) | 
						
							| 10 | 7 8 9 | sylc | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  ran  𝑓  ≼  𝐴 ) | 
						
							| 11 | 10 | adantr | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ran  𝑓  ≼  𝐴 ) | 
						
							| 12 |  | frn | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  ran  𝑓  ⊆  𝐵 ) | 
						
							| 13 | 12 | adantr | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ran  𝑓  ⊆  𝐵 ) | 
						
							| 14 |  | nfv | ⊢ Ⅎ 𝑥 𝑓 : 𝐴 ⟶ 𝐵 | 
						
							| 15 |  | nfra1 | ⊢ Ⅎ 𝑥 ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 | 
						
							| 16 | 14 15 | nfan | ⊢ Ⅎ 𝑥 ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) | 
						
							| 17 |  | ffun | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  Fun  𝑓 ) | 
						
							| 18 | 17 | adantr | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  𝑥  ∈  𝐴 )  →  Fun  𝑓 ) | 
						
							| 19 | 4 | eleq2d | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  ( 𝑥  ∈  dom  𝑓  ↔  𝑥  ∈  𝐴 ) ) | 
						
							| 20 | 19 | biimpar | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  𝑥  ∈  𝐴 )  →  𝑥  ∈  dom  𝑓 ) | 
						
							| 21 |  | fvelrn | ⊢ ( ( Fun  𝑓  ∧  𝑥  ∈  dom  𝑓 )  →  ( 𝑓 ‘ 𝑥 )  ∈  ran  𝑓 ) | 
						
							| 22 | 18 20 21 | syl2anc | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  𝑥  ∈  𝐴 )  →  ( 𝑓 ‘ 𝑥 )  ∈  ran  𝑓 ) | 
						
							| 23 | 22 | adantlr | ⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  ∧  𝑥  ∈  𝐴 )  →  ( 𝑓 ‘ 𝑥 )  ∈  ran  𝑓 ) | 
						
							| 24 |  | rspa | ⊢ ( ( ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑  ∧  𝑥  ∈  𝐴 )  →  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) | 
						
							| 25 | 24 | adantll | ⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  ∧  𝑥  ∈  𝐴 )  →  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) | 
						
							| 26 |  | rspesbca | ⊢ ( ( ( 𝑓 ‘ 𝑥 )  ∈  ran  𝑓  ∧  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ∃ 𝑦  ∈  ran  𝑓 𝜑 ) | 
						
							| 27 | 23 25 26 | syl2anc | ⊢ ( ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  ∧  𝑥  ∈  𝐴 )  →  ∃ 𝑦  ∈  ran  𝑓 𝜑 ) | 
						
							| 28 | 27 | ex | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( 𝑥  ∈  𝐴  →  ∃ 𝑦  ∈  ran  𝑓 𝜑 ) ) | 
						
							| 29 | 16 28 | ralrimi | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  ran  𝑓 𝜑 ) | 
						
							| 30 |  | nfv | ⊢ Ⅎ 𝑦 𝑓 : 𝐴 ⟶ 𝐵 | 
						
							| 31 |  | nfcv | ⊢ Ⅎ 𝑦 𝐴 | 
						
							| 32 | 31 1 | nfralw | ⊢ Ⅎ 𝑦 ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 | 
						
							| 33 | 30 32 | nfan | ⊢ Ⅎ 𝑦 ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) | 
						
							| 34 |  | fvelrnb | ⊢ ( 𝑓  Fn  𝐴  →  ( 𝑦  ∈  ran  𝑓  ↔  ∃ 𝑥  ∈  𝐴 ( 𝑓 ‘ 𝑥 )  =  𝑦 ) ) | 
						
							| 35 | 8 34 | syl | ⊢ ( 𝑓 : 𝐴 ⟶ 𝐵  →  ( 𝑦  ∈  ran  𝑓  ↔  ∃ 𝑥  ∈  𝐴 ( 𝑓 ‘ 𝑥 )  =  𝑦 ) ) | 
						
							| 36 | 35 | adantr | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( 𝑦  ∈  ran  𝑓  ↔  ∃ 𝑥  ∈  𝐴 ( 𝑓 ‘ 𝑥 )  =  𝑦 ) ) | 
						
							| 37 |  | rsp | ⊢ ( ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑  →  ( 𝑥  ∈  𝐴  →  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) ) | 
						
							| 38 | 37 | adantl | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( 𝑥  ∈  𝐴  →  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) ) | 
						
							| 39 | 2 | eqcoms | ⊢ ( ( 𝑓 ‘ 𝑥 )  =  𝑦  →  ( 𝜑  ↔  [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 ) ) | 
						
							| 40 | 39 | biimprcd | ⊢ ( [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑  →  ( ( 𝑓 ‘ 𝑥 )  =  𝑦  →  𝜑 ) ) | 
						
							| 41 | 38 40 | syl6 | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( 𝑥  ∈  𝐴  →  ( ( 𝑓 ‘ 𝑥 )  =  𝑦  →  𝜑 ) ) ) | 
						
							| 42 | 16 41 | reximdai | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( ∃ 𝑥  ∈  𝐴 ( 𝑓 ‘ 𝑥 )  =  𝑦  →  ∃ 𝑥  ∈  𝐴 𝜑 ) ) | 
						
							| 43 | 36 42 | sylbid | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ( 𝑦  ∈  ran  𝑓  →  ∃ 𝑥  ∈  𝐴 𝜑 ) ) | 
						
							| 44 | 33 43 | ralrimi | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ∀ 𝑦  ∈  ran  𝑓 ∃ 𝑥  ∈  𝐴 𝜑 ) | 
						
							| 45 | 5 | rnex | ⊢ ran  𝑓  ∈  V | 
						
							| 46 |  | breq1 | ⊢ ( 𝑐  =  ran  𝑓  →  ( 𝑐  ≼  𝐴  ↔  ran  𝑓  ≼  𝐴 ) ) | 
						
							| 47 |  | sseq1 | ⊢ ( 𝑐  =  ran  𝑓  →  ( 𝑐  ⊆  𝐵  ↔  ran  𝑓  ⊆  𝐵 ) ) | 
						
							| 48 | 46 47 | anbi12d | ⊢ ( 𝑐  =  ran  𝑓  →  ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ↔  ( ran  𝑓  ≼  𝐴  ∧  ran  𝑓  ⊆  𝐵 ) ) ) | 
						
							| 49 |  | rexeq | ⊢ ( 𝑐  =  ran  𝑓  →  ( ∃ 𝑦  ∈  𝑐 𝜑  ↔  ∃ 𝑦  ∈  ran  𝑓 𝜑 ) ) | 
						
							| 50 | 49 | ralbidv | ⊢ ( 𝑐  =  ran  𝑓  →  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ↔  ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  ran  𝑓 𝜑 ) ) | 
						
							| 51 |  | raleq | ⊢ ( 𝑐  =  ran  𝑓  →  ( ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑  ↔  ∀ 𝑦  ∈  ran  𝑓 ∃ 𝑥  ∈  𝐴 𝜑 ) ) | 
						
							| 52 | 50 51 | anbi12d | ⊢ ( 𝑐  =  ran  𝑓  →  ( ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 )  ↔  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  ran  𝑓 𝜑  ∧  ∀ 𝑦  ∈  ran  𝑓 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) | 
						
							| 53 | 48 52 | anbi12d | ⊢ ( 𝑐  =  ran  𝑓  →  ( ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 ) )  ↔  ( ( ran  𝑓  ≼  𝐴  ∧  ran  𝑓  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  ran  𝑓 𝜑  ∧  ∀ 𝑦  ∈  ran  𝑓 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) ) | 
						
							| 54 | 45 53 | spcev | ⊢ ( ( ( ran  𝑓  ≼  𝐴  ∧  ran  𝑓  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  ran  𝑓 𝜑  ∧  ∀ 𝑦  ∈  ran  𝑓 ∃ 𝑥  ∈  𝐴 𝜑 ) )  →  ∃ 𝑐 ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) | 
						
							| 55 | 11 13 29 44 54 | syl22anc | ⊢ ( ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ∃ 𝑐 ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) | 
						
							| 56 | 55 | exlimiv | ⊢ ( ∃ 𝑓 ( 𝑓 : 𝐴 ⟶ 𝐵  ∧  ∀ 𝑥  ∈  𝐴 [ ( 𝑓 ‘ 𝑥 )  /  𝑦 ] 𝜑 )  →  ∃ 𝑐 ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) | 
						
							| 57 | 3 56 | syl | ⊢ ( ( 𝐴  ∈  𝑀  ∧  ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝐵 𝜑 )  →  ∃ 𝑐 ( ( 𝑐  ≼  𝐴  ∧  𝑐  ⊆  𝐵 )  ∧  ( ∀ 𝑥  ∈  𝐴 ∃ 𝑦  ∈  𝑐 𝜑  ∧  ∀ 𝑦  ∈  𝑐 ∃ 𝑥  ∈  𝐴 𝜑 ) ) ) |