src/Pure/logic.ML
changeset 45328 e5b33eecbf6e
parent 43329 84472e198515
child 45344 e209da839ff4
equal deleted inserted replaced
45327:4a027cc86f1a 45328:e5b33eecbf6e
    44   val dest_classrel: term -> class * class
    44   val dest_classrel: term -> class * class
    45   val name_arities: arity -> string list
    45   val name_arities: arity -> string list
    46   val name_arity: string * sort list * class -> string
    46   val name_arity: string * sort list * class -> string
    47   val mk_arities: arity -> term list
    47   val mk_arities: arity -> term list
    48   val dest_arity: term -> string * sort list * class
    48   val dest_arity: term -> string * sort list * class
    49   val unconstrainT: sort list -> term -> 
    49   val unconstrainT: sort list -> term ->
    50     ((typ -> typ) * ((typ * class) * term) list * (typ * class) list) * term
    50     ((typ -> typ) * ((typ * class) * term) list * (typ * class) list) * term
    51   val protectC: term
    51   val protectC: term
    52   val protect: term -> term
    52   val protect: term -> term
    53   val unprotect: term -> term
    53   val unprotect: term -> term
    54   val mk_term: term -> term
    54   val mk_term: term -> term
    66   val strip_assums_hyp: term -> term list
    66   val strip_assums_hyp: term -> term list
    67   val strip_assums_concl: term -> term
    67   val strip_assums_concl: term -> term
    68   val strip_params: term -> (string * typ) list
    68   val strip_params: term -> (string * typ) list
    69   val has_meta_prems: term -> bool
    69   val has_meta_prems: term -> bool
    70   val flatten_params: int -> term -> term
    70   val flatten_params: int -> term -> term
    71   val list_rename_params: string list * term -> term
    71   val list_rename_params: string list -> term -> term
    72   val assum_pairs: int * term -> (term*term)list
    72   val assum_pairs: int * term -> (term * term) list
    73   val assum_problems: int * term -> (term -> term) * term list * term
    73   val assum_problems: int * term -> (term -> term) * term list * term
    74   val varifyT_global: typ -> typ
    74   val varifyT_global: typ -> typ
    75   val unvarifyT_global: typ -> typ
    75   val unvarifyT_global: typ -> typ
    76   val varify_global: term -> term
    76   val varify_global: term -> term
    77   val unvarify_global: term -> term
    77   val unvarify_global: term -> term
   451                                  map #2 params)
   451                                  map #2 params)
   452     in  list_all (vars, remove_params (length vars) n A)
   452     in  list_all (vars, remove_params (length vars) n A)
   453     end;
   453     end;
   454 
   454 
   455 (*Makes parameters in a goal have the names supplied by the list cs.*)
   455 (*Makes parameters in a goal have the names supplied by the list cs.*)
   456 fun list_rename_params (cs, Const("==>", _) $ A $ B) =
   456 fun list_rename_params cs (Const ("==>", _) $ A $ B) =
   457       implies $ A $ list_rename_params (cs, B)
   457       implies $ A $ list_rename_params cs B
   458   | list_rename_params (c::cs, (a as Const("all",_)) $ Abs(_,T,t)) =
   458   | list_rename_params (c :: cs) ((a as Const ("all", _)) $ Abs (_, T, t)) =
   459       a $ Abs(c, T, list_rename_params (cs, t))
   459       a $ Abs (c, T, list_rename_params cs t)
   460   | list_rename_params (cs, B) = B;
   460   | list_rename_params cs B = B;
   461 
   461 
   462 
   462 
   463 
   463 
   464 (*** Treatment of "assume", "erule", etc. ***)
   464 (*** Treatment of "assume", "erule", etc. ***)
   465 
   465