Re: [Hol-info] some questions about the proving process in HOL4

2015-12-15 Thread Ramana Kumar
As Thomas said, the key is rewriting (or simplification). I suggested to use fs, not STRIP_ASSUME_TAC. On 16 December 2015 at 01:14, 康漫 <956066...@qq.com> wrote: > Thank everyone! > This problem has been resolved. I added following steps: > > e (ASM_REWRITE_TAC [*TAKE_0*]) ; > e

Re: [Hol-info] [SPAM] Re: some questions about the proving process in HOL4

2015-12-15 Thread Thomas Tuerk
Hi Ada, there are many ways to do it. But essentially what you want is rewriting. Bird's eye view: You want to prove ``!p. (LENGTH p = 0) ==> (TAKE 0 p = p)`` STEP 1 : You show that "p" is "[]" with theorem LENGTH_NIL. STEP 2 : You use the theorem TAKE_0 to simplify "TAKE 0 p" to "[]" STEP 3

[Hol-info] [SPAM] Re: some questions about the proving process in HOL4

2015-12-15 Thread ????
Hi,Ramana,Thanks for your reply! after I used listTheory.LENGTH_NIL, I get that: - e (STRIP_ASSUME_TAC listTheory.LENGTH_NIL); OK.. 1 subgoal: > val it = first 0 p = p 0. LENGTH p = 0 1. !l. (LENGTH l = 0) <=> (l = []) : proof

Re: [Hol-info] some questions about the proving process in HOL4

2015-12-15 Thread ????
Thank everyone! This problem has been resolved. I added following steps: e (ASM_REWRITE_TAC [TAKE_0]) ; e (ONCE_ASM_REWRITE_TAC [boolTheory.EQ_SYM_EQ]) ; e (PROVE_TAC[listTheory.LENGTH_NIL]); Thanks! -- Original -- From: