This is an inofficial mirror of http://metamath.tirix.org for personal testing of a visualizer extension only.
Description: An explicit bound for the range of a bounded function. (Contributed by Glauco Siliprandi, 11-Dec-2019)
| Ref | Expression | ||
|---|---|---|---|
| Hypotheses | suprnmpt.a | |- ( ph -> A =/= (/) ) |
|
| suprnmpt.b | |- ( ( ph /\ x e. A ) -> B e. RR ) |
||
| suprnmpt.bnd | |- ( ph -> E. y e. RR A. x e. A B <_ y ) |
||
| suprnmpt.f | |- F = ( x e. A |-> B ) |
||
| suprnmpt.c | |- C = sup ( ran F , RR , < ) |
||
| Assertion | suprnmpt | |- ( ph -> ( C e. RR /\ A. x e. A B <_ C ) ) |
| Step | Hyp | Ref | Expression |
|---|---|---|---|
| 1 | suprnmpt.a | |- ( ph -> A =/= (/) ) |
|
| 2 | suprnmpt.b | |- ( ( ph /\ x e. A ) -> B e. RR ) |
|
| 3 | suprnmpt.bnd | |- ( ph -> E. y e. RR A. x e. A B <_ y ) |
|
| 4 | suprnmpt.f | |- F = ( x e. A |-> B ) |
|
| 5 | suprnmpt.c | |- C = sup ( ran F , RR , < ) |
|
| 6 | 2 | ralrimiva | |- ( ph -> A. x e. A B e. RR ) |
| 7 | 4 | rnmptss | |- ( A. x e. A B e. RR -> ran F C_ RR ) |
| 8 | 6 7 | syl | |- ( ph -> ran F C_ RR ) |
| 9 | nfv | |- F/ x ph |
|
| 10 | 9 2 4 1 | rnmptn0 | |- ( ph -> ran F =/= (/) ) |
| 11 | nfv | |- F/ y ph |
|
| 12 | nfre1 | |- F/ y E. y e. RR A. z e. ran F z <_ y |
|
| 13 | simp2 | |- ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) -> y e. RR ) |
|
| 14 | simpl1 | |- ( ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) /\ z e. ran F ) -> ph ) |
|
| 15 | simpl3 | |- ( ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) /\ z e. ran F ) -> A. x e. A B <_ y ) |
|
| 16 | vex | |- z e. _V |
|
| 17 | 4 | elrnmpt | |- ( z e. _V -> ( z e. ran F <-> E. x e. A z = B ) ) |
| 18 | 16 17 | ax-mp | |- ( z e. ran F <-> E. x e. A z = B ) |
| 19 | 18 | biimpi | |- ( z e. ran F -> E. x e. A z = B ) |
| 20 | 19 | adantl | |- ( ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) /\ z e. ran F ) -> E. x e. A z = B ) |
| 21 | simp3 | |- ( ( ph /\ A. x e. A B <_ y /\ E. x e. A z = B ) -> E. x e. A z = B ) |
|
| 22 | nfra1 | |- F/ x A. x e. A B <_ y |
|
| 23 | nfre1 | |- F/ x E. x e. A z = B |
|
| 24 | 9 22 23 | nf3an | |- F/ x ( ph /\ A. x e. A B <_ y /\ E. x e. A z = B ) |
| 25 | nfv | |- F/ x z <_ y |
|
| 26 | simp3 | |- ( ( A. x e. A B <_ y /\ x e. A /\ z = B ) -> z = B ) |
|
| 27 | rspa | |- ( ( A. x e. A B <_ y /\ x e. A ) -> B <_ y ) |
|
| 28 | 27 | 3adant3 | |- ( ( A. x e. A B <_ y /\ x e. A /\ z = B ) -> B <_ y ) |
| 29 | 26 28 | eqbrtrd | |- ( ( A. x e. A B <_ y /\ x e. A /\ z = B ) -> z <_ y ) |
| 30 | 29 | 3exp | |- ( A. x e. A B <_ y -> ( x e. A -> ( z = B -> z <_ y ) ) ) |
| 31 | 30 | 3ad2ant2 | |- ( ( ph /\ A. x e. A B <_ y /\ E. x e. A z = B ) -> ( x e. A -> ( z = B -> z <_ y ) ) ) |
| 32 | 24 25 31 | rexlimd | |- ( ( ph /\ A. x e. A B <_ y /\ E. x e. A z = B ) -> ( E. x e. A z = B -> z <_ y ) ) |
| 33 | 21 32 | mpd | |- ( ( ph /\ A. x e. A B <_ y /\ E. x e. A z = B ) -> z <_ y ) |
| 34 | 14 15 20 33 | syl3anc | |- ( ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) /\ z e. ran F ) -> z <_ y ) |
| 35 | 34 | ralrimiva | |- ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) -> A. z e. ran F z <_ y ) |
| 36 | 19.8a | |- ( ( y e. RR /\ A. z e. ran F z <_ y ) -> E. y ( y e. RR /\ A. z e. ran F z <_ y ) ) |
|
| 37 | 13 35 36 | syl2anc | |- ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) -> E. y ( y e. RR /\ A. z e. ran F z <_ y ) ) |
| 38 | df-rex | |- ( E. y e. RR A. z e. ran F z <_ y <-> E. y ( y e. RR /\ A. z e. ran F z <_ y ) ) |
|
| 39 | 37 38 | sylibr | |- ( ( ph /\ y e. RR /\ A. x e. A B <_ y ) -> E. y e. RR A. z e. ran F z <_ y ) |
| 40 | 39 | 3exp | |- ( ph -> ( y e. RR -> ( A. x e. A B <_ y -> E. y e. RR A. z e. ran F z <_ y ) ) ) |
| 41 | 11 12 40 | rexlimd | |- ( ph -> ( E. y e. RR A. x e. A B <_ y -> E. y e. RR A. z e. ran F z <_ y ) ) |
| 42 | 3 41 | mpd | |- ( ph -> E. y e. RR A. z e. ran F z <_ y ) |
| 43 | suprcl | |- ( ( ran F C_ RR /\ ran F =/= (/) /\ E. y e. RR A. z e. ran F z <_ y ) -> sup ( ran F , RR , < ) e. RR ) |
|
| 44 | 8 10 42 43 | syl3anc | |- ( ph -> sup ( ran F , RR , < ) e. RR ) |
| 45 | 5 44 | eqeltrid | |- ( ph -> C e. RR ) |
| 46 | 8 | adantr | |- ( ( ph /\ x e. A ) -> ran F C_ RR ) |
| 47 | simpr | |- ( ( ph /\ x e. A ) -> x e. A ) |
|
| 48 | 4 | elrnmpt1 | |- ( ( x e. A /\ B e. RR ) -> B e. ran F ) |
| 49 | 47 2 48 | syl2anc | |- ( ( ph /\ x e. A ) -> B e. ran F ) |
| 50 | 49 | ne0d | |- ( ( ph /\ x e. A ) -> ran F =/= (/) ) |
| 51 | 42 | adantr | |- ( ( ph /\ x e. A ) -> E. y e. RR A. z e. ran F z <_ y ) |
| 52 | suprub | |- ( ( ( ran F C_ RR /\ ran F =/= (/) /\ E. y e. RR A. z e. ran F z <_ y ) /\ B e. ran F ) -> B <_ sup ( ran F , RR , < ) ) |
|
| 53 | 46 50 51 49 52 | syl31anc | |- ( ( ph /\ x e. A ) -> B <_ sup ( ran F , RR , < ) ) |
| 54 | 53 5 | breqtrrdi | |- ( ( ph /\ x e. A ) -> B <_ C ) |
| 55 | 54 | ralrimiva | |- ( ph -> A. x e. A B <_ C ) |
| 56 | 45 55 | jca | |- ( ph -> ( C e. RR /\ A. x e. A B <_ C ) ) |