Metamath Proof Explorer


Theorem safesnsupfidom1o

Description: If B is a finite subset of ordered class A , we can safely create a small subset with the same largest element and upper bound, if any. (Contributed by RP, 1-Sep-2024)

Ref Expression
Hypotheses safesnsupfidom1o.small ( 𝜑 → ( 𝑂 = ∅ ∨ 𝑂 = 1o ) )
safesnsupfidom1o.finite ( 𝜑𝐵 ∈ Fin )
Assertion safesnsupfidom1o ( 𝜑 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ≼ 1o )

Proof

Step Hyp Ref Expression
1 safesnsupfidom1o.small ( 𝜑 → ( 𝑂 = ∅ ∨ 𝑂 = 1o ) )
2 safesnsupfidom1o.finite ( 𝜑𝐵 ∈ Fin )
3 iftrue ( 𝑂𝐵 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = { sup ( 𝐵 , 𝐴 , 𝑅 ) } )
4 3 adantl ( ( 𝜑𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = { sup ( 𝐵 , 𝐴 , 𝑅 ) } )
5 ensn1g ( sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ V → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ 1o )
6 1on 1o ∈ On
7 domrefg ( 1o ∈ On → 1o ≼ 1o )
8 6 7 ax-mp 1o ≼ 1o
9 endomtr ( ( { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ 1o ∧ 1o ≼ 1o ) → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≼ 1o )
10 5 8 9 sylancl ( sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ V → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≼ 1o )
11 snprc ( ¬ sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ V ↔ { sup ( 𝐵 , 𝐴 , 𝑅 ) } = ∅ )
12 snex { sup ( 𝐵 , 𝐴 , 𝑅 ) } ∈ V
13 eqeng ( { sup ( 𝐵 , 𝐴 , 𝑅 ) } ∈ V → ( { sup ( 𝐵 , 𝐴 , 𝑅 ) } = ∅ → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ ∅ ) )
14 12 13 ax-mp ( { sup ( 𝐵 , 𝐴 , 𝑅 ) } = ∅ → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ ∅ )
15 11 14 sylbi ( ¬ sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ V → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ ∅ )
16 0domg ( 1o ∈ On → ∅ ≼ 1o )
17 6 16 ax-mp ∅ ≼ 1o
18 endomtr ( ( { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≈ ∅ ∧ ∅ ≼ 1o ) → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≼ 1o )
19 15 17 18 sylancl ( ¬ sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ V → { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≼ 1o )
20 10 19 pm2.61i { sup ( 𝐵 , 𝐴 , 𝑅 ) } ≼ 1o
21 4 20 eqbrtrdi ( ( 𝜑𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ≼ 1o )
22 iffalse ( ¬ 𝑂𝐵 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = 𝐵 )
23 22 adantl ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = 𝐵 )
24 0elon ∅ ∈ On
25 eleq1 ( 𝑂 = ∅ → ( 𝑂 ∈ On ↔ ∅ ∈ On ) )
26 24 25 mpbiri ( 𝑂 = ∅ → 𝑂 ∈ On )
27 eleq1 ( 𝑂 = 1o → ( 𝑂 ∈ On ↔ 1o ∈ On ) )
28 6 27 mpbiri ( 𝑂 = 1o𝑂 ∈ On )
29 26 28 jaoi ( ( 𝑂 = ∅ ∨ 𝑂 = 1o ) → 𝑂 ∈ On )
30 fidomtri ( ( 𝐵 ∈ Fin ∧ 𝑂 ∈ On ) → ( 𝐵𝑂 ↔ ¬ 𝑂𝐵 ) )
31 29 30 sylan2 ( ( 𝐵 ∈ Fin ∧ ( 𝑂 = ∅ ∨ 𝑂 = 1o ) ) → ( 𝐵𝑂 ↔ ¬ 𝑂𝐵 ) )
32 breq2 ( 𝑂 = ∅ → ( 𝐵𝑂𝐵 ≼ ∅ ) )
33 domtr ( ( 𝐵 ≼ ∅ ∧ ∅ ≼ 1o ) → 𝐵 ≼ 1o )
34 17 33 mpan2 ( 𝐵 ≼ ∅ → 𝐵 ≼ 1o )
35 32 34 biimtrdi ( 𝑂 = ∅ → ( 𝐵𝑂𝐵 ≼ 1o ) )
36 breq2 ( 𝑂 = 1o → ( 𝐵𝑂𝐵 ≼ 1o ) )
37 36 biimpd ( 𝑂 = 1o → ( 𝐵𝑂𝐵 ≼ 1o ) )
38 35 37 jaoi ( ( 𝑂 = ∅ ∨ 𝑂 = 1o ) → ( 𝐵𝑂𝐵 ≼ 1o ) )
39 38 adantl ( ( 𝐵 ∈ Fin ∧ ( 𝑂 = ∅ ∨ 𝑂 = 1o ) ) → ( 𝐵𝑂𝐵 ≼ 1o ) )
40 31 39 sylbird ( ( 𝐵 ∈ Fin ∧ ( 𝑂 = ∅ ∨ 𝑂 = 1o ) ) → ( ¬ 𝑂𝐵𝐵 ≼ 1o ) )
41 2 1 40 syl2anc ( 𝜑 → ( ¬ 𝑂𝐵𝐵 ≼ 1o ) )
42 41 imp ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → 𝐵 ≼ 1o )
43 23 42 eqbrtrd ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ≼ 1o )
44 21 43 pm2.61dan ( 𝜑 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ≼ 1o )