src/ZF/Tools/cartprod.ML
changeset 69593 3dda49e08b9d
parent 60642 48dd1cefb4ae
child 74282 c2ee8d993d6a
equal deleted inserted replaced
69592:a80d8ec6c998 69593:3dda49e08b9d
    68 (*Bogus product type underlying a (possibly nested) Sigma.  
    68 (*Bogus product type underlying a (possibly nested) Sigma.  
    69   Lets us share HOL code*)
    69   Lets us share HOL code*)
    70 fun pseudo_type (t $ A $ Abs(_,_,B)) = 
    70 fun pseudo_type (t $ A $ Abs(_,_,B)) = 
    71       if t = Pr.sigma
    71       if t = Pr.sigma
    72       then mk_prod(pseudo_type A, pseudo_type B)
    72       then mk_prod(pseudo_type A, pseudo_type B)
    73       else @{typ i}
    73       else \<^typ>\<open>i\<close>
    74   | pseudo_type _ = @{typ i};
    74   | pseudo_type _ = \<^typ>\<open>i\<close>;
    75 
    75 
    76 (*Maps the type T1*...*Tn to [T1,...,Tn], however nested*)
    76 (*Maps the type T1*...*Tn to [T1,...,Tn], however nested*)
    77 fun factors (Type("*", [T1, T2])) = factors T1 @ factors T2
    77 fun factors (Type("*", [T1, T2])) = factors T1 @ factors T2
    78   | factors T                     = [T];
    78   | factors T                     = [T];
    79 
    79