Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-07 Thread Chun Tian (binghe)
Thanks!Actually I was ever taught (by Thomas) to use FUN_EQ_THM to convert relation equations (R = R’) into provable forms (!x y. R x y = R’ x y), but when I was facing lambda functions I didn’t realize they’re essentially the same thing. (Using PAT_X_ASSUM I can precisely target on any

Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-06 Thread Michael.Norrish
I would use fs[FUN_EQ_THM] to expand the assumptions to !x. x = prefix (label l) x and !x. x = p respectively. Of course, this is a blunt weapon, so you may not wish to use it if other assumptions are disrupted too much. Michael On 5/8/17, 04:25, "Chun Tian (binghe)"

Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-05 Thread Chun Tian (binghe)
Hi Thomas, Thanks! Now I got your points: 1. ``(λt. t) = (λt. p)`` cannot reduce to F unless the underlying type has at least two distinct values (for datatypes with at least two constructors, it’s easily provable by cases analysis, I think). 2. To prove two lambda-functions,

Re: [Hol-info] How to reduce these lambda equations to F?

2017-08-04 Thread Thomas Tuerk
Hi Chun, via a subgoal, you can introduce an assumption for a concrete argument. This should be what you need. I'm thinking of something like First show that a CCS q exists with "q <> p" `?q. q <> p` by ... Then use this new q as an argument) `(\t. t) q = (\t. p) q` by PROVE_TAC[] Now you