equal
deleted
inserted
replaced
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 |