no… by drawing pictures and think it more, this statement is still not true, if 
the set is general (of type ‘a -> bool).

please forget the whole question. I must have assumed something wrong in 
earlier places. thanks all the same.

—Chun

> Il giorno 18 set 2018, alle ore 10:25, Chun Tian (binghe) 
> <binghe.l...@gmail.com> ha scritto:
> 
> Hi Ramana,
> 
> thanks for your help. Sorry, I realized that the case “a = sp” can be 
> eliminated from other assumptions, thus I actually have another constraint “a 
> ≠ sp” in my original goals:
> 
>    ∃x. a ⊆ f x
>    ------------------------------------
>      4.  f 0 = ∅
>      5.  ∀i j. i ≤ j ⇒ f i ⊆ f j
>      6.  BIGUNION (IMAGE f 𝕌(:num)) = sp
>     21.  a ≠ sp
>     23.  ∀n. f n ⊆ sp
>     24.  a ⊆ sp
> 
> in this case your opposite proof doesn’t work any more. Also, I replaced the 
> monotonicity of f into another form, I don’t know which one is easier to use. 
> The assumption "f 0 = ∅” should be optional, I guess.
> 
> Now this should be a true statement, right?
> 
> —Chun
> 
>> Il giorno 18 set 2018, alle ore 01:26, Ramana Kumar <ram...@kumar.id.au 
>> <mailto:ram...@kumar.id.au>> ha scritto:
>> 
>> I think this is false. Here's a proof of the opposite, with the type of f 
>> instantiated to a num set generator:
>> 
>> val thm = Q.prove(
>> `¬(
>>   ∀(f:num->num->bool) a sp.
>>   (f 0 = ∅) ∧
>>   (∀n. f n ⊆ f (SUC n)) ∧
>>   (∀n. f n ⊆ sp) ∧
>>   (BIGUNION (IMAGE f 𝕌(:num)) = sp) ∧
>>   (a ⊆ sp) ⇒
>>      ∃x. a ⊆ f x)`,
>>   rw[]
>>   \\ qexists_tac`count`
>>   \\ qexists_tac`UNIV`
>>   \\ rw[SUBSET_DEF, PULL_EXISTS]
>>   >- metis_tac[]
>>   >- (
>>     rw[Once EXTENSION]
>>     \\ qexists_tac`count (SUC x)`
>>     \\ rw[] )
>>   >- (
>>     rw[EXTENSION]
>>     \\ qexists_tac`SUC x`
>>     \\ rw[] ));
>> 
>> 
>> On Tue, 18 Sep 2018 at 00:01, Chun Tian (binghe) <binghe.l...@gmail.com 
>> <mailto:binghe.l...@gmail.com>> wrote:
>> sorry, I also have this necessary assumption:
>> 
>>      5.  BIGUNION (IMAGE f 𝕌(:num)) = sp
>> 
>> > Il giorno 18 set 2018, alle ore 01:00, Chun Tian (binghe) 
>> > <binghe.l...@gmail.com <mailto:binghe.l...@gmail.com>> ha scritto:
>> >
>> > Hi,
>> >
>> > I ran into the following goal in the proof of a big theorem:
>> >
>> >   ∃x. a ⊆ f x
>> >   ------------------------------------
>> >     3.  f 0 = ∅
>> >     4.  ∀n. f n ⊆ f (SUC n)
>> >    20.  ∀n. f n ⊆ sp
>> >    21.  a ⊆ sp
>> >
>> > I have an increasing sequence of sets (f n) from empty to the whole space 
>> > (sp), and I have a single set “a” (⊆ sp). It looks *obvious* that, I can 
>> > always choose a big enough index x such that (f x) will contain “a”. But 
>> > how can I make this argument formal?
>> >
>> > thanks,
>> >
>> > Chun
>> >
>> 
>> _______________________________________________
>> hol-info mailing list
>> hol-info@lists.sourceforge.net <mailto:hol-info@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/hol-info 
>> <https://lists.sourceforge.net/lists/listinfo/hol-info>
> 

Attachment: signature.asc
Description: Message signed with OpenPGP using GPGMail

_______________________________________________
hol-info mailing list
hol-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hol-info

Reply via email to