# HG changeset patch # User wenzelm # Date 1153855089 -7200 # Node ID 87205ea2af06eb8b6cf2fda631b33acf12c95bf4 # Parent 24b49cbd438b8f82c97962d930f887cc18bf908a added variant_abs (from term.ML); tuned; diff -r 24b49cbd438b -r 87205ea2af06 src/Pure/Syntax/syn_trans.ML --- a/src/Pure/Syntax/syn_trans.ML Tue Jul 25 21:18:08 2006 +0200 +++ b/src/Pure/Syntax/syn_trans.ML Tue Jul 25 21:18:09 2006 +0200 @@ -21,6 +21,7 @@ val mark_bound: string -> term val mark_boundT: string * typ -> term val bound_vars: (string * typ) list -> term -> term + val variant_abs: string * typ * term -> string * term val variant_abs': string * typ * term -> string * term end; @@ -383,10 +384,12 @@ (* dependent / nondependent quantifiers *) -fun variant_abs' (x, T, b) = - let val ([x'], _) = Name.variants [x] (Term.declare_term_names b Name.context) in - (x', subst_bound (mark_boundT (x', T), b)) - end; +fun var_abs mark (x, T, b) = + let val ([x'], _) = Name.variants [x] (Term.declare_term_names b Name.context) + in (x', subst_bound (mark (x', T), b)) end; + +val variant_abs = var_abs Free; +val variant_abs' = var_abs mark_boundT; fun dependent_tr' (q, r) (A :: Abs (x, T, B) :: ts) = if Term.loose_bvar1 (B, 0) then