src/ZF/Tools/cartprod.ML
changeset 15570 8d8c70b41bab
parent 15531 08c8dad8e399
child 15674 4a1d07bb53e2
equal deleted inserted replaced
15569:1b3115d1a8df 15570:8d8c70b41bab
    94   | ap_split T T3 u = u;
    94   | ap_split T T3 u = u;
    95 
    95 
    96 (*Makes a nested tuple from a list, following the product type structure*)
    96 (*Makes a nested tuple from a list, following the product type structure*)
    97 fun mk_tuple pair (Type("*", [T1,T2])) tms = 
    97 fun mk_tuple pair (Type("*", [T1,T2])) tms = 
    98         pair $ (mk_tuple pair T1 tms)
    98         pair $ (mk_tuple pair T1 tms)
    99              $ (mk_tuple pair T2 (drop (length (factors T1), tms)))
    99              $ (mk_tuple pair T2 (Library.drop (length (factors T1), tms)))
   100   | mk_tuple pair T (t::_) = t;
   100   | mk_tuple pair T (t::_) = t;
   101 
   101 
   102 (*Attempts to remove occurrences of split, and pair-valued parameters*)
   102 (*Attempts to remove occurrences of split, and pair-valued parameters*)
   103 val remove_split = rewrite_rule [Pr.split_eq];
   103 val remove_split = rewrite_rule [Pr.split_eq];
   104 
   104