Thanks! Makes perfect sense. I will adapt the proof accordingly!

-stan

On Sat, Mar 7, 2020 at 10:47 AM Mario Carneiro <[email protected]> wrote:

> Yep, you correctly identified eliman0 as the bad lemma here. I hadn't
> heard of it but it's using a trick to avoid having to prove that the input
> is in the domain of the function. Using metamath.exe, I searched for this
> pattern and got a few results:
>
> MM> sea * '( ? ` ? ) e. ( ? " ? )'/j
> 19563 eliman0 $p |- ( ( A e. B /\ -. ( F ` A ) = (/) ) -> ( F ` A ) e. ( F
> " B
>     ) )
> 20603 funfvima $p |- ( ( Fun F /\ B e. dom F ) -> ( B e. A -> ( F ` B ) e.
> ( F
>     " A ) ) )
> 20604 funfvima2 $p |- ( ( Fun F /\ A C_ dom F ) -> ( B e. A -> ( F ` B )
> e. ( F
>     " A ) ) )
> 20611 fnfvima $p |- ( ( F Fn A /\ S C_ A /\ X e. S ) -> ( F ` X ) e. ( F "
> S )
>     )
> 20740 f1elima $p |- ( ( F : A -1-1-> B /\ X e. A /\ Y C_ A ) -> ( ( F ` X
> ) e.
>     ( F " Y ) <-> X e. Y ) )
> 79323 kqfvima $e |- F = ( x e. X |-> { y e. J | x e. y } ) $p |- ( ( J e. (
>     TopOn ` X ) /\ U e. J /\ A e. X ) -> ( A e. U <-> ( F ` A ) e. ( F " U
> ) )
>     )
>
> and the actual theorems you want to reference are either funfvima,
> funfvima2, or fnfvima depending on how the function is presented. (Arguably
> eliman0 should be moved to after fnfvima and given a more similar name,
> e.g. fviman0.) In this case, the function has known domain and range so I
> would go for fnfvima, using fnco to prove that ( abs o. F ) Fn RR.
>
>
> On Fri, Mar 6, 2020 at 11:59 PM 'Stanislas Polu' via Metamath <
> [email protected]> wrote:
>
>> (fvco3d is a natural deduction form of fvco3 proved here:
>> https://github.com/metamath/set.mm/commit/454132a35254c17c4e54353b5c2c772eeb2ebb65#diff-12dc1484b058d1ee6cb68a74194d66c7R641421-R641429
>> )
>>
>> -stan
>>
>> On Sat, Mar 7, 2020 at 8:54 AM Stanislas Polu <[email protected]> wrote:
>>
>>> Interesting!
>>>
>>> It basically comes from an attempt at satisfying the conditions
>>> for eliman0. Here's the full proof draft:
>>>
>>> ```
>>> $( <MM> <PROOF_ASST> THEOREM=imo72b2lem1  LOC_AFTER=?
>>>
>>> h1::imo72b2lem1.1      |- ( ph -> F : RR --> RR )
>>> h2::imo72b2lem1.7      |- ( ph -> E. x e. RR ( F ` x ) =/= 0 )
>>> h3::imo72b2lem0.6      |- ( ph -> A. y e. RR ( abs ` ( F ` y ) ) <_ 1 )
>>>
>>> !d84::        |- (  (  ph /\ x e. RR ) -> ( ( abs o. F ) ` x ) =/= (/) )
>>> d83:d84:adantrr       |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) ->
>>> ( ( abs o. F ) ` x ) =/= (/) )
>>> d81:d83:neneqd     |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> -.
>>> ( ( abs o. F ) ` x ) = (/) )
>>>
>>> d95:1:ffvelrnda     |- (  (  ph /\ x e. RR ) -> ( F ` x ) e. RR )
>>> d94:d95:adantrr    |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> (
>>> F ` x ) e. RR )
>>> d92:d94:recnd         |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) ->
>>> ( F ` x ) e. CC )
>>> d93::simprr        |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> (
>>> F ` x ) =/= 0 )
>>> d91:d92,d93:absrpcld |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) ->
>>> ( abs ` ( F ` x ) ) e. RR+ )
>>> d9:d91:rpgt0d      |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> 0
>>> < ( abs ` ( F ` x ) ) )
>>>
>>> d80::simprl        |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> x
>>> e. RR )
>>> d82::eliman0       |- (  (  x e. RR /\ -. ( ( abs o. F ) ` x ) = (/) )
>>> -> ( ( abs o. F ) ` x ) e. ( ( abs o. F ) " RR ) )
>>> d75:d80,d81,d82:syl2anc |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) )
>>> -> ( ( abs o. F ) ` x ) e. ( ( abs o. F ) " RR ) )
>>> oeqaa::imaco |-  ( ( abs o. F ) " RR ) = ( abs " ( F " RR ) )
>>> d71:d75,oeqaa:syl6eleq |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) )
>>> -> ( ( abs o. F ) ` x ) e. ( abs " ( F " RR ) ) )
>>> d73:1:adantr       |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> F
>>> : RR --> RR )
>>> d74::simprl        |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> x
>>> e. RR )
>>> d72:d73,d74:fvco3d |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) ->  (
>>> ( abs o. F ) ` x ) = ( abs ` ( F ` x ) ) )
>>> d7:d72,d71:eqeltrrd |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) -> (
>>> abs ` ( F ` x ) ) e. ( abs " ( F " RR ) ) )
>>>
>>> d10::simpr         |- (  (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) )
>>>  /\ z = ( abs ` ( F ` x ) ) ) -> z = ( abs ` ( F ` x ) ) )
>>> d8:d10:breq2d      |- (  (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) /\
>>> z =  ( abs ` ( F ` x ) ) ) -> ( 0 < z <-> 0 < ( abs ` ( F ` x ) ) ) )
>>>
>>> d6:d7,d8,d9:rspcedvd |- (  (  ph /\ ( x e. RR /\ ( F ` x ) =/= 0 ) ) ->
>>> E. z e. ( abs " ( F " RR ) ) 0 < z )
>>> qed:2,d6:rexlimddv  |- ( ph ->  E. z e. ( abs " ( F " RR ) ) 0 < z )
>>>
>>> $)
>>>
>>> -stan
>>>
>>> On Fri, Mar 6, 2020 at 11:58 PM Mario Carneiro <[email protected]>
>>> wrote:
>>>
>>>> The composition function value combination is easy enough to eliminate
>>>> using fvco, but the equality to the empty set is a type error, because the
>>>> lhs is a real number and the question of whether the empty set is a real
>>>> number is deliberately left ambiguous by the real number axioms. So I would
>>>> like to know what steps got you to this point. There are some function
>>>> value theorems that assume this as a "convenience" but there should be
>>>> analogues of them that don't (probably with some other assumption like the
>>>> function is a set).
>>>>
>>>> On Fri, Mar 6, 2020 at 8:02 AM 'Stanislas Polu' via Metamath <
>>>> [email protected]> wrote:
>>>>
>>>>> Thanks again Mario!
>>>>>
>>>>> I made more progress towards the final demonstration of the full IMO
>>>>> problem. Working on the following lemma:
>>>>>
>>>>> ```
>>>>> h1::imo72b2lem1.1      |- ( ph -> F : RR --> RR )
>>>>>
>>>>> h2::imo72b2lem1.7      |- ( ph -> E. x e. RR ( F ` x ) =/= 0 )
>>>>>
>>>>> h3::imo72b2lem0.6      |- ( ph -> A. y e. RR ( abs ` ( F ` y ) ) <_ 1
>>>>> )
>>>>> ```
>>>>>
>>>>> I need to prove the following goal which seems pretty obvious but I'm
>>>>> struggling to find a way to discharge it:
>>>>>
>>>>> ```
>>>>> d84::        |- ( ( ph /\ x e. RR ) -> ( ( abs o. F ) ` x ) =/= (/) )
>>>>> ```
>>>>>
>>>>> Any idea on how to proceed with this?
>>>>>
>>>>> Thanks thanks!
>>>>>
>>>>> -stan
>>>>>
>>>>> On Thu, Mar 5, 2020 at 6:27 PM Mario Carneiro <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> There is a theorem specifically for that translation, something like
>>>>>> A. x e. ( F " A ) P[x] <-> A. y e. A P[( F ` y )]. It's probably called
>>>>>> ralima but you've caught me on the bus again.
>>>>>>
>>>>>> Mario
>>>>>>
>>>>>> On Thu, Mar 5, 2020, 8:07 AM 'Stanislas Polu' via Metamath <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> Thanks Mario!
>>>>>>>
>>>>>>> I just finished formalizing the following lemma (which is a good
>>>>>>> chunk of the proof \o/):
>>>>>>>
>>>>>>> ```
>>>>>>>    $d F c x $. $d c ph x $.
>>>>>>>     imo72b2lem.1 $e |- ( ph -> F : RR --> RR ) $.
>>>>>>>     imo72b2lem.2 $e |- ( ph -> G : RR --> RR ) $.
>>>>>>>     imo72b2lem.3 $e |- ( ph -> A e. RR ) $.
>>>>>>>     imo72b2lem.4 $e |- ( ph -> B e. RR ) $.
>>>>>>>     imo72b2lem.5 $e |- ( ph -> ( ( F ` ( A + B ) ) + ( F ` ( A - B )
>>>>>>> ) ) = ( 2 x. ( ( F ` A ) x. ( G ` B ) ) ) ) $.
>>>>>>>     imo72b2lem.6 $e |- ( ph -> A. x e. ( abs " ( F " RR ) ) x <_ 1 )
>>>>>>> $.
>>>>>>>     imo72b2lem.7 $e |- ( ph -> E. x e. RR ( F ` x ) =/= 0 ) $.
>>>>>>>
>>>>>>>     imo72b2lem $p |- ( ph -> ( ( abs ` ( F ` A ) ) x. ( abs ` ( G `
>>>>>>> B ) ) ) <_ sup ( ( abs " ( F " RR ) ) , RR , < ) ) $=
>>>>>>> ```
>>>>>>>
>>>>>>> Proof here:
>>>>>>> https://github.com/spolu/set.mm/commit/454132a35254c17c4e54353b5c2c772eeb2ebb65
>>>>>>>
>>>>>>> One thing I'm quite dissatisfied with is the shape of
>>>>>>> `imo72b2lem.6`. I'd much rather have the more natural/intuitive 
>>>>>>> expression
>>>>>>> `|- ( ph -> A. x e. RR ( abs ` ( F `x ) ) <_ 1 )` but I completely 
>>>>>>> failed
>>>>>>> to prove imo72b2lem.6 from it. Any help on this would be greatly
>>>>>>> appreciated!
>>>>>>>
>>>>>>> -stan
>>>>>>>
>>>>>>> On Wed, Mar 4, 2020 at 8:45 PM Mario Carneiro <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Can't look right now, but you should search for a theorem of the
>>>>>>>> form A = (/) <-> ( F " A ) = (/) .
>>>>>>>>
>>>>>>>> On Wed, Mar 4, 2020, 11:30 AM 'Stanislas Polu' via Metamath <
>>>>>>>> [email protected]> wrote:
>>>>>>>>
>>>>>>>>> I'm now looking to prove that `( abs " ( F " RR ) ) =/= (/)` given
>>>>>>>>> `F : RR --> RR`. From my exploration of the definition of --> I 
>>>>>>>>> believe
>>>>>>>>> this should be enough but I don't see an easy path towards that? Would
>>>>>>>>> anybody have an example in mind that could give me a little bit of
>>>>>>>>> inspiration?
>>>>>>>>>
>>>>>>>>> Thanks for the continued support!
>>>>>>>>>
>>>>>>>>> -stan
>>>>>>>>>
>>>>>>>>> On Wed, Mar 4, 2020 at 6:29 PM Benoit <[email protected]>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> Stan: you're right about the need to prove this (if using
>>>>>>>>>> explicit substitution): look for the utility theorems exchanging [. 
>>>>>>>>>> / ].
>>>>>>>>>> with other symbols (quantifiers, operations).  As said by Jim and 
>>>>>>>>>> Thierry,
>>>>>>>>>> who are more experienced in proof building, implicit substitution 
>>>>>>>>>> might be
>>>>>>>>>> easier to use.  I think it is instructive to compare the details of 
>>>>>>>>>> both
>>>>>>>>>> proving styles on a specific example (e.g. ralbidv, suggested by 
>>>>>>>>>> Thierry,
>>>>>>>>>> would be analogous to exchanging [. / ]. with A.).
>>>>>>>>>>
>>>>>>>>>> Still, I think adding what I called rspesbcd could prove useful
>>>>>>>>>> (if it is not already in set.mm under another label; I cannot
>>>>>>>>>> search now, but it probably is already somewhere).
>>>>>>>>>>
>>>>>>>>>> BenoƮt
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>> Google Groups "Metamath" group.
>>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>>> send an email to [email protected].
>>>>>>>>>> To view this discussion on the web visit
>>>>>>>>>> https://groups.google.com/d/msgid/metamath/ebdd296f-6bcd-49e0-88c8-c7fef3628cdd%40googlegroups.com
>>>>>>>>>> <https://groups.google.com/d/msgid/metamath/ebdd296f-6bcd-49e0-88c8-c7fef3628cdd%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>>>> .
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "Metamath" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> To view this discussion on the web visit
>>>>>>>>> https://groups.google.com/d/msgid/metamath/CACZd_0zFiVT5n-7%2BYh-YL2mDCLMom6R66gq7gbMT7tgJzTzadQ%40mail.gmail.com
>>>>>>>>> <https://groups.google.com/d/msgid/metamath/CACZd_0zFiVT5n-7%2BYh-YL2mDCLMom6R66gq7gbMT7tgJzTzadQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>>> .
>>>>>>>>>
>>>>>>>> --
>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>> Groups "Metamath" group.
>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>> send an email to [email protected].
>>>>>>>> To view this discussion on the web visit
>>>>>>>> https://groups.google.com/d/msgid/metamath/CAFXXJStosWZ0BEO7zjpeW90VMNT3pf-Kr6nUaqLefJyA%3Dgwa2Q%40mail.gmail.com
>>>>>>>> <https://groups.google.com/d/msgid/metamath/CAFXXJStosWZ0BEO7zjpeW90VMNT3pf-Kr6nUaqLefJyA%3Dgwa2Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "Metamath" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/metamath/CACZd_0zgFkBD0kOaAXNGyB3PL18Qt06uSHV%3DEmwOjh6Rk5j3OQ%40mail.gmail.com
>>>>>>> <https://groups.google.com/d/msgid/metamath/CACZd_0zgFkBD0kOaAXNGyB3PL18Qt06uSHV%3DEmwOjh6Rk5j3OQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>>> .
>>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Metamath" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>> send an email to [email protected].
>>>>>> To view this discussion on the web visit
>>>>>> https://groups.google.com/d/msgid/metamath/CAFXXJSs4iVxdk7Uz1_bW-heUVCJy-CMGENLNtzWd8%2B12rFEVBQ%40mail.gmail.com
>>>>>> <https://groups.google.com/d/msgid/metamath/CAFXXJSs4iVxdk7Uz1_bW-heUVCJy-CMGENLNtzWd8%2B12rFEVBQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>>> .
>>>>>>
>>>>> --
>>>>> You received this message because you are subscribed to the Google
>>>>> Groups "Metamath" group.
>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>> an email to [email protected].
>>>>> To view this discussion on the web visit
>>>>> https://groups.google.com/d/msgid/metamath/CACZd_0x2N3k16mC%2Byc_%3D6HvNQ3OWpAXtQ3fHkMv%3DPqERwFR60Q%40mail.gmail.com
>>>>> <https://groups.google.com/d/msgid/metamath/CACZd_0x2N3k16mC%2Byc_%3D6HvNQ3OWpAXtQ3fHkMv%3DPqERwFR60Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Metamath" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/metamath/CAFXXJSv0pGnDb%2Bfae5_ZS_mAK_R6MeMQPAL4gsHD-9S5g2XSVQ%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/metamath/CAFXXJSv0pGnDb%2Bfae5_ZS_mAK_R6MeMQPAL4gsHD-9S5g2XSVQ%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> --
>> You received this message because you are subscribed to the Google Groups
>> "Metamath" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>>
> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/metamath/CACZd_0yzRWT%3DZn6qPpgXPbzSabuOqHVSLW6uG9aF6S6yYht5mA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/metamath/CACZd_0yzRWT%3DZn6qPpgXPbzSabuOqHVSLW6uG9aF6S6yYht5mA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "Metamath" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/metamath/CAFXXJSutmF6LrPLUHM%3DoBbd5d_4kE8jeM9j-gFsc9tnYVU4Mcg%40mail.gmail.com
> <https://groups.google.com/d/msgid/metamath/CAFXXJSutmF6LrPLUHM%3DoBbd5d_4kE8jeM9j-gFsc9tnYVU4Mcg%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"Metamath" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/metamath/CACZd_0zvmvxLGSCC4QA2vDLK3HR7qoXZuZsmXR_cyEwKQJaQsQ%40mail.gmail.com.

Reply via email to