src/Pure/Isar/proof_context.ML
changeset 32032 a6a6e8031c14
parent 32003 befec6450fd6
child 32090 39acf19e9f3a
equal deleted inserted replaced
32031:e2e6b0691264 32032:a6a6e8031c14
   777 (* simult_matches *)
   777 (* simult_matches *)
   778 
   778 
   779 fun simult_matches ctxt (t, pats) =
   779 fun simult_matches ctxt (t, pats) =
   780   (case Seq.pull (Unify.matchers (theory_of ctxt) (map (rpair t) pats)) of
   780   (case Seq.pull (Unify.matchers (theory_of ctxt) (map (rpair t) pats)) of
   781     NONE => error "Pattern match failed!"
   781     NONE => error "Pattern match failed!"
   782   | SOME (env, _) => map (apsnd snd) (Envir.alist_of env));
   782   | SOME (env, _) => Vartab.fold (fn (v, (_, t)) => cons (v, t)) (Envir.term_env env) []);
   783 
   783 
   784 
   784 
   785 (* bind_terms *)
   785 (* bind_terms *)
   786 
   786 
   787 val bind_terms = fold (fn (xi, t) => fn ctxt =>
   787 val bind_terms = fold (fn (xi, t) => fn ctxt =>