Metamath Proof Explorer


Theorem safesnsupfilb

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, 3-Sep-2024)

Ref Expression
Hypotheses safesnsupfilb.small ( 𝜑 → ( 𝑂 = ∅ ∨ 𝑂 = 1o ) )
safesnsupfilb.finite ( 𝜑𝐵 ∈ Fin )
safesnsupfilb.subset ( 𝜑𝐵𝐴 )
safesnsupfilb.ordered ( 𝜑𝑅 Or 𝐴 )
Assertion safesnsupfilb ( 𝜑 → ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 )

Proof

Step Hyp Ref Expression
1 safesnsupfilb.small ( 𝜑 → ( 𝑂 = ∅ ∨ 𝑂 = 1o ) )
2 safesnsupfilb.finite ( 𝜑𝐵 ∈ Fin )
3 safesnsupfilb.subset ( 𝜑𝐵𝐴 )
4 safesnsupfilb.ordered ( 𝜑𝑅 Or 𝐴 )
5 4 ad2antrr ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → 𝑅 Or 𝐴 )
6 3 ad2antrr ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → 𝐵𝐴 )
7 2 ad2antrr ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → 𝐵 ∈ Fin )
8 simpr ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → 𝑥𝐵 )
9 eqidd ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → sup ( 𝐵 , 𝐴 , 𝑅 ) = sup ( 𝐵 , 𝐴 , 𝑅 ) )
10 5 6 7 8 9 supgtoreq ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → ( 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ∨ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
11 df-or ( ( 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) ∨ 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) ↔ ( ¬ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
12 orcom ( ( 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ∨ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) ) ↔ ( 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) ∨ 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
13 df-ne ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) ↔ ¬ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) )
14 13 imbi1i ( ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) ↔ ( ¬ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
15 11 12 14 3bitr4i ( ( 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ∨ 𝑥 = sup ( 𝐵 , 𝐴 , 𝑅 ) ) ↔ ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
16 10 15 sylib ( ( ( 𝜑𝑂𝐵 ) ∧ 𝑥𝐵 ) → ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
17 16 ralrimiva ( ( 𝜑𝑂𝐵 ) → ∀ 𝑥𝐵 ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
18 iftrue ( 𝑂𝐵 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = { sup ( 𝐵 , 𝐴 , 𝑅 ) } )
19 18 difeq2d ( 𝑂𝐵 → ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) = ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) )
20 19 adantl ( ( 𝜑𝑂𝐵 ) → ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) = ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) )
21 20 raleqdv ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑥 ∈ ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ) )
22 simpr ( ( 𝜑𝑂𝐵 ) → 𝑂𝐵 )
23 22 iftrued ( ( 𝜑𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = { sup ( 𝐵 , 𝐴 , 𝑅 ) } )
24 23 raleqdv ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑦 ∈ { sup ( 𝐵 , 𝐴 , 𝑅 ) } 𝑥 𝑅 𝑦 ) )
25 2 adantr ( ( 𝜑𝑂𝐵 ) → 𝐵 ∈ Fin )
26 1 adantr ( ( 𝜑𝑂𝐵 ) → ( 𝑂 = ∅ ∨ 𝑂 = 1o ) )
27 0elon ∅ ∈ On
28 eleq1 ( 𝑂 = ∅ → ( 𝑂 ∈ On ↔ ∅ ∈ On ) )
29 27 28 mpbiri ( 𝑂 = ∅ → 𝑂 ∈ On )
30 1on 1o ∈ On
31 eleq1 ( 𝑂 = 1o → ( 𝑂 ∈ On ↔ 1o ∈ On ) )
32 30 31 mpbiri ( 𝑂 = 1o𝑂 ∈ On )
33 29 32 jaoi ( ( 𝑂 = ∅ ∨ 𝑂 = 1o ) → 𝑂 ∈ On )
34 26 33 syl ( ( 𝜑𝑂𝐵 ) → 𝑂 ∈ On )
35 22 34 sdomne0d ( ( 𝜑𝑂𝐵 ) → 𝐵 ≠ ∅ )
36 3 adantr ( ( 𝜑𝑂𝐵 ) → 𝐵𝐴 )
37 25 35 36 3jca ( ( 𝜑𝑂𝐵 ) → ( 𝐵 ∈ Fin ∧ 𝐵 ≠ ∅ ∧ 𝐵𝐴 ) )
38 fisupcl ( ( 𝑅 Or 𝐴 ∧ ( 𝐵 ∈ Fin ∧ 𝐵 ≠ ∅ ∧ 𝐵𝐴 ) ) → sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ 𝐵 )
39 4 37 38 syl2an2r ( ( 𝜑𝑂𝐵 ) → sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ 𝐵 )
40 breq2 ( 𝑦 = sup ( 𝐵 , 𝐴 , 𝑅 ) → ( 𝑥 𝑅 𝑦𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
41 40 ralsng ( sup ( 𝐵 , 𝐴 , 𝑅 ) ∈ 𝐵 → ( ∀ 𝑦 ∈ { sup ( 𝐵 , 𝐴 , 𝑅 ) } 𝑥 𝑅 𝑦𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
42 39 41 syl ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑦 ∈ { sup ( 𝐵 , 𝐴 , 𝑅 ) } 𝑥 𝑅 𝑦𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
43 24 42 bitrd ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
44 43 ralbidv ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑥 ∈ ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑥 ∈ ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) )
45 raldifsnb ( ∀ 𝑥𝐵 ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) ↔ ∀ 𝑥 ∈ ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) )
46 44 45 bitr4di ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑥 ∈ ( 𝐵 ∖ { sup ( 𝐵 , 𝐴 , 𝑅 ) } ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑥𝐵 ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) ) )
47 21 46 bitrd ( ( 𝜑𝑂𝐵 ) → ( ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑥𝐵 ( 𝑥 ≠ sup ( 𝐵 , 𝐴 , 𝑅 ) → 𝑥 𝑅 sup ( 𝐵 , 𝐴 , 𝑅 ) ) ) )
48 17 47 mpbird ( ( 𝜑𝑂𝐵 ) → ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 )
49 ral0 𝑥 ∈ ∅ ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦
50 iffalse ( ¬ 𝑂𝐵 → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = 𝐵 )
51 50 adantl ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) = 𝐵 )
52 51 difeq2d ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) = ( 𝐵𝐵 ) )
53 difid ( 𝐵𝐵 ) = ∅
54 52 53 eqtrdi ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) = ∅ )
55 54 raleqdv ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → ( ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ↔ ∀ 𝑥 ∈ ∅ ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 ) )
56 49 55 mpbiri ( ( 𝜑 ∧ ¬ 𝑂𝐵 ) → ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 )
57 48 56 pm2.61dan ( 𝜑 → ∀ 𝑥 ∈ ( 𝐵 ∖ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) ) ∀ 𝑦 ∈ if ( 𝑂𝐵 , { sup ( 𝐵 , 𝐴 , 𝑅 ) } , 𝐵 ) 𝑥 𝑅 𝑦 )