equal
  deleted
  inserted
  replaced
  
    
    
   602 fun alpha_ex_unroll (xlist, tm) =  | 
   602 fun alpha_ex_unroll (xlist, tm) =  | 
   603   let val (qvars,body) = USyntax.strip_exists tm  | 
   603   let val (qvars,body) = USyntax.strip_exists tm  | 
   604       val vlist = #2 (USyntax.strip_comb (USyntax.rhs body))  | 
   604       val vlist = #2 (USyntax.strip_comb (USyntax.rhs body))  | 
   605       val plist = ListPair.zip (vlist, xlist)  | 
   605       val plist = ListPair.zip (vlist, xlist)  | 
   606       val args = map (the o AList.lookup (op aconv) plist) qvars  | 
   606       val args = map (the o AList.lookup (op aconv) plist) qvars  | 
   607                    handle Option => raise Fail "TFL.alpha_ex_unroll: no correspondence"  | 
   607                    handle Option.Option => raise Fail "TFL.alpha_ex_unroll: no correspondence"  | 
   608       fun build ex      []   = []  | 
   608       fun build ex      []   = []  | 
   609         | build (_$rex) (v::rst) =  | 
   609         | build (_$rex) (v::rst) =  | 
   610            let val ex1 = Term.betapply(rex, v)  | 
   610            let val ex1 = Term.betapply(rex, v)  | 
   611            in  ex1 :: build ex1 rst  | 
   611            in  ex1 :: build ex1 rst  | 
   612            end  | 
   612            end  |