Metamath Proof Explorer


Theorem smores

Description: A strictly monotone function restricted to an ordinal remains strictly monotone. (Contributed by Andrew Salmon, 16-Nov-2011) (Proof shortened by Mario Carneiro, 5-Dec-2016)

Ref Expression
Assertion smores ( ( Smo 𝐴𝐵 ∈ dom 𝐴 ) → Smo ( 𝐴𝐵 ) )

Proof

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 syl6ibr ( 𝐵 ∈ 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 ( 𝐴𝐵 ) )