70 val split_list10: ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j) list -> 'a list * 'b list * |
70 val split_list10: ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j) list -> 'a list * 'b list * |
71 'c list * 'd list * 'e list * 'f list * 'g list * 'h list * 'i list * 'j list |
71 'c list * 'd list * 'e list * 'f list * 'g list * 'h list * 'i list * 'j list |
72 val split_list11: ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j * 'k) list -> 'a list * |
72 val split_list11: ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j * 'k) list -> 'a list * |
73 'b list * 'c list * 'd list * 'e list * 'f list * 'g list * 'h list * 'i list * 'j list * |
73 'b list * 'c list * 'd list * 'e list * 'f list * 'g list * 'h list * 'i list * 'j list * |
74 'k list |
74 'k list |
|
75 val split_list12: ('a * 'b * 'c * 'd * 'e * 'f * 'g * 'h * 'i * 'j * 'k * 'l) list -> 'a list * |
|
76 'b list * 'c list * 'd list * 'e list * 'f list * 'g list * 'h list * 'i list * 'j list * |
|
77 'k list * 'l list |
75 |
78 |
76 val mk_TFreess: int list -> Proof.context -> typ list list * Proof.context |
79 val mk_TFreess: int list -> Proof.context -> typ list list * Proof.context |
77 val mk_Freesss: string -> typ list list list -> Proof.context -> |
80 val mk_Freesss: string -> typ list list list -> Proof.context -> |
78 term list list list * Proof.context |
81 term list list list * Proof.context |
79 val mk_Freessss: string -> typ list list list list -> Proof.context -> |
82 val mk_Freessss: string -> typ list list list list -> Proof.context -> |
338 | split_list11 ((x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) :: xs) = |
341 | split_list11 ((x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11) :: xs) = |
339 let val (xs1, xs2, xs3, xs4, xs5, xs6, xs7, xs8, xs9, xs10, xs11) = split_list11 xs; |
342 let val (xs1, xs2, xs3, xs4, xs5, xs6, xs7, xs8, xs9, xs10, xs11) = split_list11 xs; |
340 in (x1 :: xs1, x2 :: xs2, x3 :: xs3, x4 :: xs4, x5 :: xs5, x6 :: xs6, x7 :: xs7, x8 :: xs8, |
343 in (x1 :: xs1, x2 :: xs2, x3 :: xs3, x4 :: xs4, x5 :: xs5, x6 :: xs6, x7 :: xs7, x8 :: xs8, |
341 x9 :: xs9, x10 :: xs10, x11 :: xs11) end; |
344 x9 :: xs9, x10 :: xs10, x11 :: xs11) end; |
342 |
345 |
|
346 fun split_list12 [] = ([], [], [], [], [], [], [], [], [], [], [], []) |
|
347 | split_list12 ((x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11, x12) :: xs) = |
|
348 let val (xs1, xs2, xs3, xs4, xs5, xs6, xs7, xs8, xs9, xs10, xs11, xs12) = split_list12 xs; |
|
349 in (x1 :: xs1, x2 :: xs2, x3 :: xs3, x4 :: xs4, x5 :: xs5, x6 :: xs6, x7 :: xs7, x8 :: xs8, |
|
350 x9 :: xs9, x10 :: xs10, x11 :: xs11, x12 :: xs12) end; |
|
351 |
343 val parse_type_arg_constrained = |
352 val parse_type_arg_constrained = |
344 Parse.type_ident -- Scan.option (@{keyword "::"} |-- Parse.!!! Parse.sort); |
353 Parse.type_ident -- Scan.option (@{keyword "::"} |-- Parse.!!! Parse.sort); |
345 |
354 |
346 val parse_type_arg_named_constrained = |
355 val parse_type_arg_named_constrained = |
347 (Parse.reserved "dead" >> K NONE || parse_opt_binding_colon >> SOME) -- |
356 (Parse.reserved "dead" >> K NONE || parse_opt_binding_colon >> SOME) -- |