author | paulson |
Fri, 19 Nov 2010 14:59:11 +0000 | |
changeset 40618 | 7202d63bfffe |
parent 40616 | c5ee1e06d795 (current diff) |
parent 40617 | 4a1173d21ec4 (diff) |
child 40624 | 2df58ba31be7 |
--- a/src/Pure/pattern.ML Fri Nov 19 14:35:58 2010 +0100 +++ b/src/Pure/pattern.ML Fri Nov 19 14:59:11 2010 +0000 @@ -365,6 +365,7 @@ and cases(binders,env as (iTs,itms),pat,obj) = let val (ph,pargs) = strip_comb pat fun rigrig1(iTs,oargs) = fold (mtch binders) (pargs~~oargs) (iTs,itms) + handle UnequalLengths => raise MATCH fun rigrig2((a:string,Ta),(b,Tb),oargs) = if a <> b then raise MATCH else rigrig1(typ_match thy (Ta,Tb) iTs, oargs)