Hi Chun, no, it still does not hold. The problem is that case that "a" might be infinite and while there is for every element 'e' of 'a' an 'n' with 'e IN f n' you need arbitrary large ones.
A tiny modification of Ramana's counterexample is f x := count x sp := UNIV a := { n | even n } Cheers Thomas On 18.09.2018 10:25, Chun Tian (binghe) wrote: > 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 >> > > > > > > _______________________________________________ > hol-info mailing list > hol-info@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/hol-info
_______________________________________________ hol-info mailing list hol-info@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/hol-info