Metamath Proof Explorer


Theorem dfsmo2

Description: Alternate definition of a strictly monotone ordinal function. (Contributed by Mario Carneiro, 4-Mar-2013)

Ref Expression
Assertion dfsmo2 ( Smo 𝐹 ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )

Proof

Step Hyp Ref Expression
1 df-smo ( Smo 𝐹 ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
2 ralcom ( ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ∀ 𝑥 ∈ dom 𝐹𝑦 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
3 impexp ( ( ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ( 𝑦 ∈ dom 𝐹 → ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
4 simpr ( ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) → 𝑦𝑥 )
5 ordtr1 ( Ord dom 𝐹 → ( ( 𝑦𝑥𝑥 ∈ dom 𝐹 ) → 𝑦 ∈ dom 𝐹 ) )
6 5 3impib ( ( Ord dom 𝐹𝑦𝑥𝑥 ∈ dom 𝐹 ) → 𝑦 ∈ dom 𝐹 )
7 6 3com23 ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹𝑦𝑥 ) → 𝑦 ∈ dom 𝐹 )
8 simp3 ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹𝑦𝑥 ) → 𝑦𝑥 )
9 7 8 jca ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹𝑦𝑥 ) → ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) )
10 9 3expia ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹 ) → ( 𝑦𝑥 → ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) ) )
11 4 10 impbid2 ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹 ) → ( ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) ↔ 𝑦𝑥 ) )
12 11 imbi1d ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹 ) → ( ( ( 𝑦 ∈ dom 𝐹𝑦𝑥 ) → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
13 3 12 bitr3id ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹 ) → ( ( 𝑦 ∈ dom 𝐹 → ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ↔ ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
14 13 ralbidv2 ( ( Ord dom 𝐹𝑥 ∈ dom 𝐹 ) → ( ∀ 𝑦 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ∀ 𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
15 14 ralbidva ( Ord dom 𝐹 → ( ∀ 𝑥 ∈ dom 𝐹𝑦 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
16 2 15 syl5bb ( Ord dom 𝐹 → ( ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
17 16 pm5.32i ( ( Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ↔ ( Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
18 17 anbi2i ( ( 𝐹 : dom 𝐹 ⟶ On ∧ ( Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ) ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ ( Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
19 3anass ( ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ ( Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ) )
20 3anass ( ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ ( Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) )
21 18 19 20 3bitr4i ( ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑦 ∈ dom 𝐹𝑥 ∈ dom 𝐹 ( 𝑦𝑥 → ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) ) ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )
22 1 21 bitri ( Smo 𝐹 ↔ ( 𝐹 : dom 𝐹 ⟶ On ∧ Ord dom 𝐹 ∧ ∀ 𝑥 ∈ dom 𝐹𝑦𝑥 ( 𝐹𝑦 ) ∈ ( 𝐹𝑥 ) ) )