| Step | Hyp | Ref | Expression | 
						
							| 1 |  | funres | ⊢ ( Fun  𝐴  →  Fun  ( 𝐴  ↾  𝐵 ) ) | 
						
							| 2 |  | funfn | ⊢ ( Fun  𝐴  ↔  𝐴  Fn  dom  𝐴 ) | 
						
							| 3 |  | funfn | ⊢ ( Fun  ( 𝐴  ↾  𝐵 )  ↔  ( 𝐴  ↾  𝐵 )  Fn  dom  ( 𝐴  ↾  𝐵 ) ) | 
						
							| 4 | 1 2 3 | 3imtr3i | ⊢ ( 𝐴  Fn  dom  𝐴  →  ( 𝐴  ↾  𝐵 )  Fn  dom  ( 𝐴  ↾  𝐵 ) ) | 
						
							| 5 |  | resss | ⊢ ( 𝐴  ↾  𝐵 )  ⊆  𝐴 | 
						
							| 6 | 5 | rnssi | ⊢ ran  ( 𝐴  ↾  𝐵 )  ⊆  ran  𝐴 | 
						
							| 7 |  | sstr | ⊢ ( ( ran  ( 𝐴  ↾  𝐵 )  ⊆  ran  𝐴  ∧  ran  𝐴  ⊆  On )  →  ran  ( 𝐴  ↾  𝐵 )  ⊆  On ) | 
						
							| 8 | 6 7 | mpan | ⊢ ( ran  𝐴  ⊆  On  →  ran  ( 𝐴  ↾  𝐵 )  ⊆  On ) | 
						
							| 9 | 4 8 | anim12i | ⊢ ( ( 𝐴  Fn  dom  𝐴  ∧  ran  𝐴  ⊆  On )  →  ( ( 𝐴  ↾  𝐵 )  Fn  dom  ( 𝐴  ↾  𝐵 )  ∧  ran  ( 𝐴  ↾  𝐵 )  ⊆  On ) ) | 
						
							| 10 |  | df-f | ⊢ ( 𝐴 : dom  𝐴 ⟶ On  ↔  ( 𝐴  Fn  dom  𝐴  ∧  ran  𝐴  ⊆  On ) ) | 
						
							| 11 |  | df-f | ⊢ ( ( 𝐴  ↾  𝐵 ) : dom  ( 𝐴  ↾  𝐵 ) ⟶ On  ↔  ( ( 𝐴  ↾  𝐵 )  Fn  dom  ( 𝐴  ↾  𝐵 )  ∧  ran  ( 𝐴  ↾  𝐵 )  ⊆  On ) ) | 
						
							| 12 | 9 10 11 | 3imtr4i | ⊢ ( 𝐴 : dom  𝐴 ⟶ On  →  ( 𝐴  ↾  𝐵 ) : dom  ( 𝐴  ↾  𝐵 ) ⟶ On ) | 
						
							| 13 | 12 | a1i | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( 𝐴 : dom  𝐴 ⟶ On  →  ( 𝐴  ↾  𝐵 ) : dom  ( 𝐴  ↾  𝐵 ) ⟶ On ) ) | 
						
							| 14 |  | ordelord | ⊢ ( ( Ord  dom  𝐴  ∧  𝐵  ∈  dom  𝐴 )  →  Ord  𝐵 ) | 
						
							| 15 | 14 | expcom | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( Ord  dom  𝐴  →  Ord  𝐵 ) ) | 
						
							| 16 |  | ordin | ⊢ ( ( Ord  𝐵  ∧  Ord  dom  𝐴 )  →  Ord  ( 𝐵  ∩  dom  𝐴 ) ) | 
						
							| 17 | 16 | ex | ⊢ ( Ord  𝐵  →  ( Ord  dom  𝐴  →  Ord  ( 𝐵  ∩  dom  𝐴 ) ) ) | 
						
							| 18 | 15 17 | syli | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( Ord  dom  𝐴  →  Ord  ( 𝐵  ∩  dom  𝐴 ) ) ) | 
						
							| 19 |  | dmres | ⊢ dom  ( 𝐴  ↾  𝐵 )  =  ( 𝐵  ∩  dom  𝐴 ) | 
						
							| 20 |  | ordeq | ⊢ ( dom  ( 𝐴  ↾  𝐵 )  =  ( 𝐵  ∩  dom  𝐴 )  →  ( Ord  dom  ( 𝐴  ↾  𝐵 )  ↔  Ord  ( 𝐵  ∩  dom  𝐴 ) ) ) | 
						
							| 21 | 19 20 | ax-mp | ⊢ ( Ord  dom  ( 𝐴  ↾  𝐵 )  ↔  Ord  ( 𝐵  ∩  dom  𝐴 ) ) | 
						
							| 22 | 18 21 | imbitrrdi | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( Ord  dom  𝐴  →  Ord  dom  ( 𝐴  ↾  𝐵 ) ) ) | 
						
							| 23 |  | dmss | ⊢ ( ( 𝐴  ↾  𝐵 )  ⊆  𝐴  →  dom  ( 𝐴  ↾  𝐵 )  ⊆  dom  𝐴 ) | 
						
							| 24 | 5 23 | ax-mp | ⊢ dom  ( 𝐴  ↾  𝐵 )  ⊆  dom  𝐴 | 
						
							| 25 |  | ssralv | ⊢ ( dom  ( 𝐴  ↾  𝐵 )  ⊆  dom  𝐴  →  ( ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) ) | 
						
							| 26 | 24 25 | ax-mp | ⊢ ( ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 27 |  | ssralv | ⊢ ( dom  ( 𝐴  ↾  𝐵 )  ⊆  dom  𝐴  →  ( ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) ) | 
						
							| 28 | 24 27 | ax-mp | ⊢ ( ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 29 | 28 | ralimi | ⊢ ( ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 30 | 26 29 | syl | ⊢ ( ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 31 |  | inss1 | ⊢ ( 𝐵  ∩  dom  𝐴 )  ⊆  𝐵 | 
						
							| 32 | 19 31 | eqsstri | ⊢ dom  ( 𝐴  ↾  𝐵 )  ⊆  𝐵 | 
						
							| 33 |  | simpl | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ) | 
						
							| 34 | 32 33 | sselid | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  𝑥  ∈  𝐵 ) | 
						
							| 35 | 34 | fvresd | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  =  ( 𝐴 ‘ 𝑥 ) ) | 
						
							| 36 |  | simpr | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ) | 
						
							| 37 | 32 36 | sselid | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  𝑦  ∈  𝐵 ) | 
						
							| 38 | 37 | fvresd | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 )  =  ( 𝐴 ‘ 𝑦 ) ) | 
						
							| 39 | 35 38 | eleq12d | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  ( ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 )  ↔  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 40 | 39 | imbi2d | ⊢ ( ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  ∧  𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) )  →  ( ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) )  ↔  ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) ) | 
						
							| 41 | 40 | ralbidva | ⊢ ( 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 )  →  ( ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) )  ↔  ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) ) | 
						
							| 42 | 41 | ralbiia | ⊢ ( ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) )  ↔  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) | 
						
							| 43 | 30 42 | sylibr | ⊢ ( ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) ) ) | 
						
							| 44 | 43 | a1i | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) )  →  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) ) ) ) | 
						
							| 45 | 13 22 44 | 3anim123d | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( ( 𝐴 : dom  𝐴 ⟶ On  ∧  Ord  dom  𝐴  ∧  ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) )  →  ( ( 𝐴  ↾  𝐵 ) : dom  ( 𝐴  ↾  𝐵 ) ⟶ On  ∧  Ord  dom  ( 𝐴  ↾  𝐵 )  ∧  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) ) ) ) ) | 
						
							| 46 |  | df-smo | ⊢ ( Smo  𝐴  ↔  ( 𝐴 : dom  𝐴 ⟶ On  ∧  Ord  dom  𝐴  ∧  ∀ 𝑥  ∈  dom  𝐴 ∀ 𝑦  ∈  dom  𝐴 ( 𝑥  ∈  𝑦  →  ( 𝐴 ‘ 𝑥 )  ∈  ( 𝐴 ‘ 𝑦 ) ) ) ) | 
						
							| 47 |  | df-smo | ⊢ ( Smo  ( 𝐴  ↾  𝐵 )  ↔  ( ( 𝐴  ↾  𝐵 ) : dom  ( 𝐴  ↾  𝐵 ) ⟶ On  ∧  Ord  dom  ( 𝐴  ↾  𝐵 )  ∧  ∀ 𝑥  ∈  dom  ( 𝐴  ↾  𝐵 ) ∀ 𝑦  ∈  dom  ( 𝐴  ↾  𝐵 ) ( 𝑥  ∈  𝑦  →  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑥 )  ∈  ( ( 𝐴  ↾  𝐵 ) ‘ 𝑦 ) ) ) ) | 
						
							| 48 | 45 46 47 | 3imtr4g | ⊢ ( 𝐵  ∈  dom  𝐴  →  ( Smo  𝐴  →  Smo  ( 𝐴  ↾  𝐵 ) ) ) | 
						
							| 49 | 48 | impcom | ⊢ ( ( Smo  𝐴  ∧  𝐵  ∈  dom  𝐴 )  →  Smo  ( 𝐴  ↾  𝐵 ) ) |