[Hol-info] list computations

2013-02-27 Thread Ramana Kumar
I just wrote a fairly manual 48-line proof of the following. Is there some decision procedure, simpset, or tactic I could use to automate it that I'm not aware of? The theorems in srw_ss() seem not to play very well together on this kind of stuff. TAKE (LENGTH bvs + 1) (REVERSE bvs ++ Block

Re: [Hol-info] list computations

2013-02-27 Thread Anthony Fox
Note quite sure how you got to 48 lines. I think only a single call to SRW_TAC (or lcsymtacs.lrw) is needed. val thm = Q.prove( `TAKE (LENGTH bvs + 1) (REVERSE bvs ++ h:: (blvs ++ [benv; x] ++ REVERSE args0 ++ [cl0] ++ st)) ++ DROP (LENGTH args0 + (LENGTH blvs +

Re: [Hol-info] list computations

2013-02-27 Thread Ramana Kumar
Thanks! The secret sauce seems to be EL_APPEND2, and possibly whatever is in lrw. (And I should use LIST_EQ_REWRITE more often too.) This should make a lot of my subgoal proofs much shorter :) On Wed, Feb 27, 2013 at 7:02 PM, Anthony Fox ac...@cam.ac.uk wrote: Note quite sure how you got to 48

Re: [Hol-info] list computations

2013-02-27 Thread Thomas Tuerk
Hi, I think, it is even simpler: SIMP_TAC list_ss [rich_listTheory.DROP_APPEND2] Best Thomas On Wed, 2013-02-27 at 22:10 +, Ramana Kumar wrote: Thanks! The secret sauce seems to be EL_APPEND2, and possibly whatever is in lrw. (And I should use LIST_EQ_REWRITE more often too.) This