applyTest.ml 1.23 MB
Newer Older
Pietro Abate's avatar
Pietro Abate committed
1 2 3 4 5 6 7 8 9
open TypesOUnit;;
open Types;;

let parse_typ s =
  let st = Stream.of_string s in
  let astpat = Parser.pat st in
  let nodepat = Typer.typ Builtin.env astpat in
  Types.descr nodepat
;;
10 11 12
let types_apply t1 t2 =
  Types.apply_full Var.Set.empty t1 t2
;;
Pietro Abate's avatar
Pietro Abate committed
13 14

(* iter  hd *)
15
Printf.printf "(('A) -> []) -> [ ('A)* ] -> []  [ ('A0)* ] -> ('A0)\n%!%!";;
16
types_apply (parse_typ "(('A) -> []) -> [ ('A)* ] -> []") (parse_typ "[ ('A0)* ] -> ('A0)");;
Pietro Abate's avatar
Pietro Abate committed
17 18 19


(* iteri  assoc *)
20
Printf.printf "(Int -> ('A) -> []) -> [ ('A)* ] -> []  ('A1) -> [ (('A1) , ('B1))* ] -> ('B1)\n%!%!";;
21
types_apply (parse_typ "(Int -> ('A) -> []) -> [ ('A)* ] -> []") (parse_typ "('A1) -> [ (('A1) , ('B1))* ] -> ('B1)");;
Pietro Abate's avatar
Pietro Abate committed
22
(* iteri  assoc & assq *)
23
Printf.printf "(Int -> ('A) -> []) -> [ ('A)* ] -> []  (('A1) -> [ (('A1) , ('B1))* ] -> ('B1)) & (('A2) -> [ (('A2) , ('B2))* ] -> ('B2))\n%!";;
24
types_apply (parse_typ "(Int -> ('A) -> []) -> [ ('A)* ] -> []") (parse_typ "(('A1) -> [ (('A1) , ('B1))* ] -> ('B1)) & (('A2) -> [ (('A2) , ('B2))* ] -> ('B2))");;
Pietro Abate's avatar
Pietro Abate committed
25 26 27


(* map  length *)
28
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  [ ('A3)* ] -> Int\n%!";;
29
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "[ ('A3)* ] -> Int");;
Pietro Abate's avatar
Pietro Abate committed
30
(* map  length & hd *)
31
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4))\n%!";;
32
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4))");;
Pietro Abate's avatar
Pietro Abate committed
33
(* map  length & hd & tl *)
34
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ])\n%!";;
35
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ])");;
Pietro Abate's avatar
Pietro Abate committed
36
(* map  length & hd & tl & nth *)
37
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6))\n%!";;
38
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6))");;
Pietro Abate's avatar
Pietro Abate committed
39
(* map  length & hd & tl & nth & rev *)
40
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ])\n%!";;
41
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ])");;
Pietro Abate's avatar
Pietro Abate committed
42
(* map  length & hd & tl & nth & rev & append *)
43
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ])\n%!";;
44
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ])");;
Pietro Abate's avatar
Pietro Abate committed
45
(* map  length & hd & tl & nth & rev & append & rev_append *)
46
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ])\n%!";;
47
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ])");;
Pietro Abate's avatar
Pietro Abate committed
48
(* map  length & hd & tl & nth & rev & append & rev_append & concat *)
49
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ])\n%!";;
50
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ])");;
Pietro Abate's avatar
Pietro Abate committed
51
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten *)
52
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ])\n%!";;
53
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ])");;
Pietro Abate's avatar
Pietro Abate committed
54
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter *)
55
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> [])\n%!";;
56
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
57
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri *)
58
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> [])\n%!";;
59
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
60
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map *)
61
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ])\n%!";;
62
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ])");;
Pietro Abate's avatar
Pietro Abate committed
63
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi *)
64
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ])\n%!";;
65
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ])");;
Pietro Abate's avatar
Pietro Abate committed
66
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map *)
67
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ])\n%!";;
68
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ])");;
Pietro Abate's avatar
Pietro Abate committed
69
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left *)
70
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17))\n%!";;
71
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17))");;
Pietro Abate's avatar
Pietro Abate committed
72
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right *)
73
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18))\n%!";;
74
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18))");;
Pietro Abate's avatar
Pietro Abate committed
75
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 *)
76
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> [])\n%!";;
77
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
78
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 *)
79
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ])\n%!";;
80
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ])");;
Pietro Abate's avatar
Pietro Abate committed
81
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 *)
82
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ])\n%!";;
83
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ])");;
Pietro Abate's avatar
Pietro Abate committed
84
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 *)
85
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22))\n%!";;
86
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22))");;
Pietro Abate's avatar
Pietro Abate committed
87
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all *)
88
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool)\n%!";;
89
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
90
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists *)
91
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool)\n%!";;
92
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
93
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 *)
94
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool)\n%!";;
95
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
96
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 *)
97
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool)\n%!";;
98
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
99
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem *)
100
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool)\n%!";;
101
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
102
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq *)
103
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool)\n%!";;
104
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
105
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find *)
106
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29))\n%!";;
107
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29))");;
Pietro Abate's avatar
Pietro Abate committed
108
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter *)
109
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ])\n%!";;
110
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ])");;
Pietro Abate's avatar
Pietro Abate committed
111
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all *)
112
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ])\n%!";;
113
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ])");;
Pietro Abate's avatar
Pietro Abate committed
114
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition *)
115
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ]))\n%!";;
116
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ]))");;
Pietro Abate's avatar
Pietro Abate committed
117
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc *)
118
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33))\n%!";;
119
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33))");;
Pietro Abate's avatar
Pietro Abate committed
120
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq *)
121
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34))\n%!";;
122
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34))");;
Pietro Abate's avatar
Pietro Abate committed
123
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc *)
124
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool)\n%!";;
125
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
126
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq *)
127
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool)\n%!";;
128
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
129
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc *)
130
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ])\n%!";;
131
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ])");;
Pietro Abate's avatar
Pietro Abate committed
132
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq *)
133
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ])\n%!";;
134
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ])");;
Pietro Abate's avatar
Pietro Abate committed
135
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split *)
136
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ]))\n%!";;
137
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ]))");;
Pietro Abate's avatar
Pietro Abate committed
138
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine *)
139
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ])\n%!";;
140
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ])");;
Pietro Abate's avatar
Pietro Abate committed
141
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort *)
142
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ])\n%!";;
143
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ])");;
Pietro Abate's avatar
Pietro Abate committed
144
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort *)
145
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ])\n%!";;
146
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ])");;
Pietro Abate's avatar
Pietro Abate committed
147
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort & fast_sort *)
148
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ]) & ((('A43) -> ('A43) -> Int) -> [ ('A43)* ] -> [ ('A43)* ])\n%!";;
149
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ]) & ((('A43) -> ('A43) -> Int) -> [ ('A43)* ] -> [ ('A43)* ])");;
Pietro Abate's avatar
Pietro Abate committed
150
(* map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort & fast_sort & merge *)
151
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ]) & ((('A43) -> ('A43) -> Int) -> [ ('A43)* ] -> [ ('A43)* ]) & ((('A44) -> ('A44) -> Int) -> [ ('A44)* ] -> [ ('A44)* ] -> [ ('A44)* ])\n%!";;
152
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A3)* ] -> Int) & ([ ('A4)* ] -> ('A4)) & ([ ('A5)* ] -> [ ('A5)* ]) & ([ ('A6)* ] -> Int -> ('A6)) & ([ ('A7)* ] -> [ ('A7)* ]) & ([ ('A8)* ] -> [ ('A8)* ] -> [ ('A8)* ]) & ([ ('A9)* ] -> [ ('A9)* ] -> [ ('A9)* ]) & ([ [ ('A10)* ]* ] -> [ ('A10)* ]) & ([ [ ('A11)* ]* ] -> [ ('A11)* ]) & ((('A12) -> []) -> [ ('A12)* ] -> []) & ((Int -> ('A13) -> []) -> [ ('A13)* ] -> []) & ((('A14) -> ('B14)) -> [ ('A14)* ] -> [ ('B14)* ]) & ((Int -> ('A15) -> ('B15)) -> [ ('A15)* ] -> [ ('B15)* ]) & ((('A16) -> ('B16)) -> [ ('A16)* ] -> [ ('B16)* ]) & ((('A17) -> ('B17) -> ('A17)) -> ('A17) -> [ ('B17)* ] -> ('A17)) & ((('A18) -> ('B18) -> ('B18)) -> [ ('A18)* ] -> ('B18) -> ('B18)) & ((('A19) -> ('B19) -> []) -> [ ('A19)* ] -> [ ('B19)* ] -> []) & ((('A20) -> ('B20) -> ('C20)) -> [ ('A20)* ] -> [ ('B20)* ] -> [ ('C20)* ]) & ((('A21) -> ('B21) -> ('C21)) -> [ ('A21)* ] -> [ ('B21)* ] -> [ ('C21)* ]) & ((('A22) -> ('B22) -> ('C22) -> ('A22)) -> ('A22) -> [ ('B22)* ] -> [ ('C22)* ] -> ('A22)) & ((('A23) -> Bool) -> [ ('A23)* ] -> Bool) & ((('A24) -> Bool) -> [ ('A24)* ] -> Bool) & ((('A25) -> ('B25) -> Bool) -> [ ('A25)* ] -> [ ('B25)* ] -> Bool) & ((('A26) -> ('B26) -> Bool) -> [ ('A26)* ] -> [ ('B26)* ] -> Bool) & (('A27) -> [ ('A27)* ] -> Bool) & (('A28) -> [ ('A28)* ] -> Bool) & ((('A29) -> Bool) -> [ ('A29)* ] -> ('A29)) & ((('A30) -> Bool) -> [ ('A30)* ] -> [ ('A30)* ]) & ((('A31) -> Bool) -> [ ('A31)* ] -> [ ('A31)* ]) & ((('A32) -> Bool) -> [ ('A32)* ] ->( [ ('A32)* ] , [ ('A32)* ])) & (('A33) -> [ (('A33) , ('B33))* ] -> ('B33)) & (('A34) -> [ (('A34) , ('B34))* ] -> ('B34)) & (('A35) -> [ (('A35) , ('B35))* ] -> Bool) & (('A36) -> [ (('A36) , ('B36))* ] -> Bool) & (('A37) -> [ (('A37) , ('B37))* ] -> [ (('A37) , ('B37))* ]) & (('A38) -> [ (('A38) , ('B38))* ] -> [ (('A38) , ('B38))* ]) & ([ (('A39) , ('B39))* ] ->( [ ('A39)* ] , [ ('B39)* ])) & ([ ('A40)* ] -> [ ('B40)* ] -> [ (('A40) , ('B40))* ]) & ((('A41) -> ('A41) -> Int) -> [ ('A41)* ] -> [ ('A41)* ]) & ((('A42) -> ('A42) -> Int) -> [ ('A42)* ] -> [ ('A42)* ]) & ((('A43) -> ('A43) -> Int) -> [ ('A43)* ] -> [ ('A43)* ]) & ((('A44) -> ('A44) -> Int) -> [ ('A44)* ] -> [ ('A44)* ] -> [ ('A44)* ])");;
Pietro Abate's avatar
Pietro Abate committed
153 154 155


(* mapi  mem *)
156
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ('A45) -> [ ('A45)* ] -> Bool\n%!";;
157
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "('A45) -> [ ('A45)* ] -> Bool");;
Pietro Abate's avatar
Pietro Abate committed
158
(* mapi  mem & memq *)
159
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool)\n%!";;
160
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
161
(* mapi  mem & memq & assoc *)
162
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47))\n%!";;
163
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47))");;
Pietro Abate's avatar
Pietro Abate committed
164
(* mapi  mem & memq & assoc & assq *)
165
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48))\n%!";;
166
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48))");;
Pietro Abate's avatar
Pietro Abate committed
167
(* mapi  mem & memq & assoc & assq & mem_assoc *)
168
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool)\n%!";;
169
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
170
(* mapi  mem & memq & assoc & assq & mem_assoc & mem_assq *)
171
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool)\n%!";;
172
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
173
(* mapi  mem & memq & assoc & assq & mem_assoc & mem_assq & remove_assoc *)
174
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool) & (('A51) -> [ (('A51) , ('B51))* ] -> [ (('A51) , ('B51))* ])\n%!";;
175
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool) & (('A51) -> [ (('A51) , ('B51))* ] -> [ (('A51) , ('B51))* ])");;
Pietro Abate's avatar
Pietro Abate committed
176
(* mapi  mem & memq & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq *)
177
Printf.printf "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  (('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool) & (('A51) -> [ (('A51) , ('B51))* ] -> [ (('A51) , ('B51))* ]) & (('A52) -> [ (('A52) , ('B52))* ] -> [ (('A52) , ('B52))* ])\n%!";;
178
types_apply (parse_typ "(Int -> ('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "(('A45) -> [ ('A45)* ] -> Bool) & (('A46) -> [ ('A46)* ] -> Bool) & (('A47) -> [ (('A47) , ('B47))* ] -> ('B47)) & (('A48) -> [ (('A48) , ('B48))* ] -> ('B48)) & (('A49) -> [ (('A49) , ('B49))* ] -> Bool) & (('A50) -> [ (('A50) , ('B50))* ] -> Bool) & (('A51) -> [ (('A51) , ('B51))* ] -> [ (('A51) , ('B51))* ]) & (('A52) -> [ (('A52) , ('B52))* ] -> [ (('A52) , ('B52))* ])");;
Pietro Abate's avatar
Pietro Abate committed
179 180 181


(* rev_map  length *)
182
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  [ ('A53)* ] -> Int\n%!";;
183
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "[ ('A53)* ] -> Int");;
Pietro Abate's avatar
Pietro Abate committed
184
(* rev_map  length & hd *)
185
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54))\n%!";;
186
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54))");;
Pietro Abate's avatar
Pietro Abate committed
187
(* rev_map  length & hd & tl *)
188
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ])\n%!";;
189
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ])");;
Pietro Abate's avatar
Pietro Abate committed
190
(* rev_map  length & hd & tl & nth *)
191
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56))\n%!";;
192
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56))");;
Pietro Abate's avatar
Pietro Abate committed
193
(* rev_map  length & hd & tl & nth & rev *)
194
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ])\n%!";;
195
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ])");;
Pietro Abate's avatar
Pietro Abate committed
196
(* rev_map  length & hd & tl & nth & rev & append *)
197
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ])\n%!";;
198
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ])");;
Pietro Abate's avatar
Pietro Abate committed
199
(* rev_map  length & hd & tl & nth & rev & append & rev_append *)
200
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ])\n%!";;
201
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ])");;
Pietro Abate's avatar
Pietro Abate committed
202
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat *)
203
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ])\n%!";;
204
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ])");;
Pietro Abate's avatar
Pietro Abate committed
205
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten *)
206
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ])\n%!";;
207
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ])");;
Pietro Abate's avatar
Pietro Abate committed
208
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter *)
209
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> [])\n%!";;
210
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
211
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri *)
212
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> [])\n%!";;
213
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
214
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map *)
215
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ])\n%!";;
216
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ])");;
Pietro Abate's avatar
Pietro Abate committed
217
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi *)
218
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ])\n%!";;
219
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ])");;
Pietro Abate's avatar
Pietro Abate committed
220
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map *)
221
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ])\n%!";;
222
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ])");;
Pietro Abate's avatar
Pietro Abate committed
223
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left *)
224
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67))\n%!";;
225
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67))");;
Pietro Abate's avatar
Pietro Abate committed
226
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right *)
227
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68))\n%!";;
228
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68))");;
Pietro Abate's avatar
Pietro Abate committed
229
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 *)
230
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> [])\n%!";;
231
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
232
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 *)
233
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ])\n%!";;
234
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ])");;
Pietro Abate's avatar
Pietro Abate committed
235
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 *)
236
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ])\n%!";;
237
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ])");;
Pietro Abate's avatar
Pietro Abate committed
238
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 *)
239
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72))\n%!";;
240
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72))");;
Pietro Abate's avatar
Pietro Abate committed
241
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all *)
242
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool)\n%!";;
243
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
244
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists *)
245
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool)\n%!";;
246
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
247
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 *)
248
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool)\n%!";;
249
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
250
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 *)
251
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool)\n%!";;
252
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
253
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem *)
254
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool)\n%!";;
255
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
256
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq *)
257
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool)\n%!";;
258
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
259
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find *)
260
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79))\n%!";;
261
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79))");;
Pietro Abate's avatar
Pietro Abate committed
262
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter *)
263
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ])\n%!";;
264
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ])");;
Pietro Abate's avatar
Pietro Abate committed
265
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all *)
266
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ])\n%!";;
267
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ])");;
Pietro Abate's avatar
Pietro Abate committed
268
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition *)
269
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ]))\n%!";;
270
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ]))");;
Pietro Abate's avatar
Pietro Abate committed
271
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc *)
272
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83))\n%!";;
273
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83))");;
Pietro Abate's avatar
Pietro Abate committed
274
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq *)
275
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84))\n%!";;
276
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84))");;
Pietro Abate's avatar
Pietro Abate committed
277
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc *)
278
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool)\n%!";;
279
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
280
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq *)
281
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool)\n%!";;
282
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
283
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc *)
284
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ])\n%!";;
285
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ])");;
Pietro Abate's avatar
Pietro Abate committed
286
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq *)
287
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ])\n%!";;
288
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ])");;
Pietro Abate's avatar
Pietro Abate committed
289
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split *)
290
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ]))\n%!";;
291
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ]))");;
Pietro Abate's avatar
Pietro Abate committed
292
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine *)
293
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ])\n%!";;
294
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ])");;
Pietro Abate's avatar
Pietro Abate committed
295
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort *)
296
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ])\n%!";;
297
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ])");;
Pietro Abate's avatar
Pietro Abate committed
298
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort *)
299
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ])\n%!";;
300
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ])");;
Pietro Abate's avatar
Pietro Abate committed
301
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort & fast_sort *)
302
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ]) & ((('A93) -> ('A93) -> Int) -> [ ('A93)* ] -> [ ('A93)* ])\n%!";;
303
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ]) & ((('A93) -> ('A93) -> Int) -> [ ('A93)* ] -> [ ('A93)* ])");;
Pietro Abate's avatar
Pietro Abate committed
304
(* rev_map  length & hd & tl & nth & rev & append & rev_append & concat & flatten & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & split & combine & sort & stable_sort & fast_sort & merge *)
305
Printf.printf "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]  ([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ]) & ((('A93) -> ('A93) -> Int) -> [ ('A93)* ] -> [ ('A93)* ]) & ((('A94) -> ('A94) -> Int) -> [ ('A94)* ] -> [ ('A94)* ] -> [ ('A94)* ])\n%!";;
306
types_apply (parse_typ "(('A) -> ('B)) -> [ ('A)* ] -> [ ('B)* ]") (parse_typ "([ ('A53)* ] -> Int) & ([ ('A54)* ] -> ('A54)) & ([ ('A55)* ] -> [ ('A55)* ]) & ([ ('A56)* ] -> Int -> ('A56)) & ([ ('A57)* ] -> [ ('A57)* ]) & ([ ('A58)* ] -> [ ('A58)* ] -> [ ('A58)* ]) & ([ ('A59)* ] -> [ ('A59)* ] -> [ ('A59)* ]) & ([ [ ('A60)* ]* ] -> [ ('A60)* ]) & ([ [ ('A61)* ]* ] -> [ ('A61)* ]) & ((('A62) -> []) -> [ ('A62)* ] -> []) & ((Int -> ('A63) -> []) -> [ ('A63)* ] -> []) & ((('A64) -> ('B64)) -> [ ('A64)* ] -> [ ('B64)* ]) & ((Int -> ('A65) -> ('B65)) -> [ ('A65)* ] -> [ ('B65)* ]) & ((('A66) -> ('B66)) -> [ ('A66)* ] -> [ ('B66)* ]) & ((('A67) -> ('B67) -> ('A67)) -> ('A67) -> [ ('B67)* ] -> ('A67)) & ((('A68) -> ('B68) -> ('B68)) -> [ ('A68)* ] -> ('B68) -> ('B68)) & ((('A69) -> ('B69) -> []) -> [ ('A69)* ] -> [ ('B69)* ] -> []) & ((('A70) -> ('B70) -> ('C70)) -> [ ('A70)* ] -> [ ('B70)* ] -> [ ('C70)* ]) & ((('A71) -> ('B71) -> ('C71)) -> [ ('A71)* ] -> [ ('B71)* ] -> [ ('C71)* ]) & ((('A72) -> ('B72) -> ('C72) -> ('A72)) -> ('A72) -> [ ('B72)* ] -> [ ('C72)* ] -> ('A72)) & ((('A73) -> Bool) -> [ ('A73)* ] -> Bool) & ((('A74) -> Bool) -> [ ('A74)* ] -> Bool) & ((('A75) -> ('B75) -> Bool) -> [ ('A75)* ] -> [ ('B75)* ] -> Bool) & ((('A76) -> ('B76) -> Bool) -> [ ('A76)* ] -> [ ('B76)* ] -> Bool) & (('A77) -> [ ('A77)* ] -> Bool) & (('A78) -> [ ('A78)* ] -> Bool) & ((('A79) -> Bool) -> [ ('A79)* ] -> ('A79)) & ((('A80) -> Bool) -> [ ('A80)* ] -> [ ('A80)* ]) & ((('A81) -> Bool) -> [ ('A81)* ] -> [ ('A81)* ]) & ((('A82) -> Bool) -> [ ('A82)* ] ->( [ ('A82)* ] , [ ('A82)* ])) & (('A83) -> [ (('A83) , ('B83))* ] -> ('B83)) & (('A84) -> [ (('A84) , ('B84))* ] -> ('B84)) & (('A85) -> [ (('A85) , ('B85))* ] -> Bool) & (('A86) -> [ (('A86) , ('B86))* ] -> Bool) & (('A87) -> [ (('A87) , ('B87))* ] -> [ (('A87) , ('B87))* ]) & (('A88) -> [ (('A88) , ('B88))* ] -> [ (('A88) , ('B88))* ]) & ([ (('A89) , ('B89))* ] ->( [ ('A89)* ] , [ ('B89)* ])) & ([ ('A90)* ] -> [ ('B90)* ] -> [ (('A90) , ('B90))* ]) & ((('A91) -> ('A91) -> Int) -> [ ('A91)* ] -> [ ('A91)* ]) & ((('A92) -> ('A92) -> Int) -> [ ('A92)* ] -> [ ('A92)* ]) & ((('A93) -> ('A93) -> Int) -> [ ('A93)* ] -> [ ('A93)* ]) & ((('A94) -> ('A94) -> Int) -> [ ('A94)* ] -> [ ('A94)* ] -> [ ('A94)* ])");;
Pietro Abate's avatar
Pietro Abate committed
307 308 309


(* fold_left  append *)
310
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  [ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]\n%!";;
311
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "[ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]");;
Pietro Abate's avatar
Pietro Abate committed
312
(* fold_left  append & rev_append *)
313
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ])\n%!";;
314
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ])");;
Pietro Abate's avatar
Pietro Abate committed
315
(* fold_left  append & rev_append & mem *)
316
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool)\n%!";;
317
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
318
(* fold_left  append & rev_append & mem & memq *)
319
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool)\n%!";;
320
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
321
(* fold_left  append & rev_append & mem & memq & assoc *)
322
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99))\n%!";;
323
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99))");;
Pietro Abate's avatar
Pietro Abate committed
324
(* fold_left  append & rev_append & mem & memq & assoc & assq *)
325
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100))\n%!";;
326
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100))");;
Pietro Abate's avatar
Pietro Abate committed
327
(* fold_left  append & rev_append & mem & memq & assoc & assq & mem_assoc *)
328
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100)) & (('A101) -> [ (('A101) , ('B101))* ] -> Bool)\n%!";;
329
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100)) & (('A101) -> [ (('A101) , ('B101))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
330
(* fold_left  append & rev_append & mem & memq & assoc & assq & mem_assoc & mem_assq *)
331
Printf.printf "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)  ([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100)) & (('A101) -> [ (('A101) , ('B101))* ] -> Bool) & (('A102) -> [ (('A102) , ('B102))* ] -> Bool)\n%!";;
332
types_apply (parse_typ "(('A) -> ('B) -> ('A)) -> ('A) -> [ ('B)* ] -> ('A)") (parse_typ "([ ('A95)* ] -> [ ('A95)* ] -> [ ('A95)* ]) & ([ ('A96)* ] -> [ ('A96)* ] -> [ ('A96)* ]) & (('A97) -> [ ('A97)* ] -> Bool) & (('A98) -> [ ('A98)* ] -> Bool) & (('A99) -> [ (('A99) , ('B99))* ] -> ('B99)) & (('A100) -> [ (('A100) , ('B100))* ] -> ('B100)) & (('A101) -> [ (('A101) , ('B101))* ] -> Bool) & (('A102) -> [ (('A102) , ('B102))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
333 334 335


(* fold_right  hd *)
336
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  [ ('A103)* ] -> ('A103)\n%!";;
337
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "[ ('A103)* ] -> ('A103)");;
Pietro Abate's avatar
Pietro Abate committed
338
(* fold_right  hd & nth *)
339
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104))\n%!";;
340
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104))");;
Pietro Abate's avatar
Pietro Abate committed
341
(* fold_right  hd & nth & append *)
342
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ])\n%!";;
343
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ])");;
Pietro Abate's avatar
Pietro Abate committed
344
(* fold_right  hd & nth & append & rev_append *)
345
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ])\n%!";;
346
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ])");;
Pietro Abate's avatar
Pietro Abate committed
347
(* fold_right  hd & nth & append & rev_append & map *)
348
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ])\n%!";;
349
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ])");;
Pietro Abate's avatar
Pietro Abate committed
350
(* fold_right  hd & nth & append & rev_append & map & mapi *)
351
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ])\n%!";;
352
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ])");;
Pietro Abate's avatar
Pietro Abate committed
353
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map *)
354
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ])\n%!";;
355
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ])");;
Pietro Abate's avatar
Pietro Abate committed
356
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter *)
357
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ])\n%!";;
358
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ])");;
Pietro Abate's avatar
Pietro Abate committed
359
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all *)
360
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ])\n%!";;
361
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ])");;
Pietro Abate's avatar
Pietro Abate committed
362
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all & remove_assoc *)
363
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ])\n%!";;
364
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ])");;
Pietro Abate's avatar
Pietro Abate committed
365
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all & remove_assoc & remove_assq *)
366
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ])\n%!";;
367
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ])");;
Pietro Abate's avatar
Pietro Abate committed
368
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all & remove_assoc & remove_assq & sort *)
369
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ])\n%!";;
370
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ])");;
Pietro Abate's avatar
Pietro Abate committed
371
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all & remove_assoc & remove_assq & sort & stable_sort *)
372
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ]) & ((('A115) -> ('A115) -> Int) -> [ ('A115)* ] -> [ ('A115)* ])\n%!";;
373
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ]) & ((('A115) -> ('A115) -> Int) -> [ ('A115)* ] -> [ ('A115)* ])");;
Pietro Abate's avatar
Pietro Abate committed
374
(* fold_right  hd & nth & append & rev_append & map & mapi & rev_map & filter & find_all & remove_assoc & remove_assq & sort & stable_sort & fast_sort *)
375
Printf.printf "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)  ([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ]) & ((('A115) -> ('A115) -> Int) -> [ ('A115)* ] -> [ ('A115)* ]) & ((('A116) -> ('A116) -> Int) -> [ ('A116)* ] -> [ ('A116)* ])\n%!";;
376
types_apply (parse_typ "(('A) -> ('B) -> ('B)) -> [ ('A)* ] -> ('B) -> ('B)") (parse_typ "([ ('A103)* ] -> ('A103)) & ([ ('A104)* ] -> Int -> ('A104)) & ([ ('A105)* ] -> [ ('A105)* ] -> [ ('A105)* ]) & ([ ('A106)* ] -> [ ('A106)* ] -> [ ('A106)* ]) & ((('A107) -> ('B107)) -> [ ('A107)* ] -> [ ('B107)* ]) & ((Int -> ('A108) -> ('B108)) -> [ ('A108)* ] -> [ ('B108)* ]) & ((('A109) -> ('B109)) -> [ ('A109)* ] -> [ ('B109)* ]) & ((('A110) -> Bool) -> [ ('A110)* ] -> [ ('A110)* ]) & ((('A111) -> Bool) -> [ ('A111)* ] -> [ ('A111)* ]) & (('A112) -> [ (('A112) , ('B112))* ] -> [ (('A112) , ('B112))* ]) & (('A113) -> [ (('A113) , ('B113))* ] -> [ (('A113) , ('B113))* ]) & ((('A114) -> ('A114) -> Int) -> [ ('A114)* ] -> [ ('A114)* ]) & ((('A115) -> ('A115) -> Int) -> [ ('A115)* ] -> [ ('A115)* ]) & ((('A116) -> ('A116) -> Int) -> [ ('A116)* ] -> [ ('A116)* ])");;
Pietro Abate's avatar
Pietro Abate committed
377 378 379


(* iter2  hd *)
380
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  [ ('A117)* ] -> ('A117)\n%!";;
381
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "[ ('A117)* ] -> ('A117)");;
Pietro Abate's avatar
Pietro Abate committed
382
(* iter2  hd & nth *)
383
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118))\n%!";;
384
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118))");;
Pietro Abate's avatar
Pietro Abate committed
385
(* iter2  hd & nth & iter *)
386
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> [])\n%!";;
387
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
388
(* iter2  hd & nth & iter & iteri *)
389
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> [])\n%!";;
390
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
391
(* iter2  hd & nth & iter & iteri & find *)
392
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121))\n%!";;
393
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121))");;
Pietro Abate's avatar
Pietro Abate committed
394
(* iter2  hd & nth & iter & iteri & find & assoc *)
395
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121)) & (('A122) -> [ (('A122) , ('B122))* ] -> ('B122))\n%!";;
396
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121)) & (('A122) -> [ (('A122) , ('B122))* ] -> ('B122))");;
Pietro Abate's avatar
Pietro Abate committed
397
(* iter2  hd & nth & iter & iteri & find & assoc & assq *)
398
Printf.printf "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []  ([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121)) & (('A122) -> [ (('A122) , ('B122))* ] -> ('B122)) & (('A123) -> [ (('A123) , ('B123))* ] -> ('B123))\n%!";;
399
types_apply (parse_typ "(('A) -> ('B) -> []) -> [ ('A)* ] -> [ ('B)* ] -> []") (parse_typ "([ ('A117)* ] -> ('A117)) & ([ ('A118)* ] -> Int -> ('A118)) & ((('A119) -> []) -> [ ('A119)* ] -> []) & ((Int -> ('A120) -> []) -> [ ('A120)* ] -> []) & ((('A121) -> Bool) -> [ ('A121)* ] -> ('A121)) & (('A122) -> [ (('A122) , ('B122))* ] -> ('B122)) & (('A123) -> [ (('A123) , ('B123))* ] -> ('B123))");;
Pietro Abate's avatar
Pietro Abate committed
400 401 402


(* map2  hd *)
403
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  [ ('A124)* ] -> ('A124)\n%!";;
404
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "[ ('A124)* ] -> ('A124)");;
Pietro Abate's avatar
Pietro Abate committed
405
(* map2  hd & nth *)
406
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125))\n%!";;
407
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125))");;
Pietro Abate's avatar
Pietro Abate committed
408
(* map2  hd & nth & append *)
409
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ])\n%!";;
410
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ])");;
Pietro Abate's avatar
Pietro Abate committed
411
(* map2  hd & nth & append & rev_append *)
412
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ])\n%!";;
413
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ])");;
Pietro Abate's avatar
Pietro Abate committed
414
(* map2  hd & nth & append & rev_append & iter *)
415
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> [])\n%!";;
416
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
417
(* map2  hd & nth & append & rev_append & iter & iteri *)
418
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> [])\n%!";;
419
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
420
(* map2  hd & nth & append & rev_append & iter & iteri & map *)
421
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ])\n%!";;
422
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ])");;
Pietro Abate's avatar
Pietro Abate committed
423
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi *)
424
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ])\n%!";;
425
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ])");;
Pietro Abate's avatar
Pietro Abate committed
426
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map *)
427
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ])\n%!";;
428
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ])");;
Pietro Abate's avatar
Pietro Abate committed
429
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left *)
430
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133))\n%!";;
431
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133))");;
Pietro Abate's avatar
Pietro Abate committed
432
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right *)
433
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134))\n%!";;
434
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134))");;
Pietro Abate's avatar
Pietro Abate committed
435
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 *)
436
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> [])\n%!";;
437
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> [])");;
Pietro Abate's avatar
Pietro Abate committed
438
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 *)
439
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ])\n%!";;
440
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ])");;
Pietro Abate's avatar
Pietro Abate committed
441
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 *)
442
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ])\n%!";;
443
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ])");;
Pietro Abate's avatar
Pietro Abate committed
444
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 *)
445
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138))\n%!";;
446
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138))");;
Pietro Abate's avatar
Pietro Abate committed
447
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all *)
448
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool)\n%!";;
449
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
450
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists *)
451
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool)\n%!";;
452
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
453
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 *)
454
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool)\n%!";;
455
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
456
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 *)
457
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool)\n%!";;
458
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
459
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem *)
460
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool)\n%!";;
461
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
462
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq *)
463
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool)\n%!";;
464
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
465
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find *)
466
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145))\n%!";;
467
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145))");;
Pietro Abate's avatar
Pietro Abate committed
468
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter *)
469
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ])\n%!";;
470
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ])");;
Pietro Abate's avatar
Pietro Abate committed
471
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all *)
472
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ])\n%!";;
473
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ])");;
Pietro Abate's avatar
Pietro Abate committed
474
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition *)
475
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ]))\n%!";;
476
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ]))");;
Pietro Abate's avatar
Pietro Abate committed
477
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc *)
478
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149))\n%!";;
479
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149))");;
Pietro Abate's avatar
Pietro Abate committed
480
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq *)
481
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150))\n%!";;
482
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150))");;
Pietro Abate's avatar
Pietro Abate committed
483
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc *)
484
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool)\n%!";;
485
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
486
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq *)
487
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool)\n%!";;
488
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool)");;
Pietro Abate's avatar
Pietro Abate committed
489
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc *)
490
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ])\n%!";;
491
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ])");;
Pietro Abate's avatar
Pietro Abate committed
492
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq *)
493
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ])\n%!";;
494
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ])");;
Pietro Abate's avatar
Pietro Abate committed
495
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & combine *)
496
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ]) & ([ ('A155)* ] -> [ ('B155)* ] -> [ (('A155) , ('B155))* ])\n%!";;
497
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ]) & ([ ('A155)* ] -> [ ('B155)* ] -> [ (('A155) , ('B155))* ])");;
Pietro Abate's avatar
Pietro Abate committed
498
(* map2  hd & nth & append & rev_append & iter & iteri & map & mapi & rev_map & fold_left & fold_right & iter2 & map2 & rev_map2 & fold_left2 & for_all & exists & for_all2 & exists2 & mem & memq & find & filter & find_all & partition & assoc & assq & mem_assoc & mem_assq & remove_assoc & remove_assq & combine & sort *)
499
Printf.printf "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]  ([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ]) & ([ ('A155)* ] -> [ ('B155)* ] -> [ (('A155) , ('B155))* ]) & ((('A156) -> ('A156) -> Int) -> [ ('A156)* ] -> [ ('A156)* ])\n%!";;
500
types_apply (parse_typ "(('A) -> ('B) -> ('C)) -> [ ('A)* ] -> [ ('B)* ] -> [ ('C)* ]") (parse_typ "([ ('A124)* ] -> ('A124)) & ([ ('A125)* ] -> Int -> ('A125)) & ([ ('A126)* ] -> [ ('A126)* ] -> [ ('A126)* ]) & ([ ('A127)* ] -> [ ('A127)* ] -> [ ('A127)* ]) & ((('A128) -> []) -> [ ('A128)* ] -> []) & ((Int -> ('A129) -> []) -> [ ('A129)* ] -> []) & ((('A130) -> ('B130)) -> [ ('A130)* ] -> [ ('B130)* ]) & ((Int -> ('A131) -> ('B131)) -> [ ('A131)* ] -> [ ('B131)* ]) & ((('A132) -> ('B132)) -> [ ('A132)* ] -> [ ('B132)* ]) & ((('A133) -> ('B133) -> ('A133)) -> ('A133) -> [ ('B133)* ] -> ('A133)) & ((('A134) -> ('B134) -> ('B134)) -> [ ('A134)* ] -> ('B134) -> ('B134)) & ((('A135) -> ('B135) -> []) -> [ ('A135)* ] -> [ ('B135)* ] -> []) & ((('A136) -> ('B136) -> ('C136)) -> [ ('A136)* ] -> [ ('B136)* ] -> [ ('C136)* ]) & ((('A137) -> ('B137) -> ('C137)) -> [ ('A137)* ] -> [ ('B137)* ] -> [ ('C137)* ]) & ((('A138) -> ('B138) -> ('C138) -> ('A138)) -> ('A138) -> [ ('B138)* ] -> [ ('C138)* ] -> ('A138)) & ((('A139) -> Bool) -> [ ('A139)* ] -> Bool) & ((('A140) -> Bool) -> [ ('A140)* ] -> Bool) & ((('A141) -> ('B141) -> Bool) -> [ ('A141)* ] -> [ ('B141)* ] -> Bool) & ((('A142) -> ('B142) -> Bool) -> [ ('A142)* ] -> [ ('B142)* ] -> Bool) & (('A143) -> [ ('A143)* ] -> Bool) & (('A144) -> [ ('A144)* ] -> Bool) & ((('A145) -> Bool) -> [ ('A145)* ] -> ('A145)) & ((('A146) -> Bool) -> [ ('A146)* ] -> [ ('A146)* ]) & ((('A147) -> Bool) -> [ ('A147)* ] -> [ ('A147)* ]) & ((('A148) -> Bool) -> [ ('A148)* ] ->( [ ('A148)* ] , [ ('A148)* ])) & (('A149) -> [ (('A149) , ('B149))* ] -> ('B149)) & (('A150) -> [ (('A150) , ('B150))* ] -> ('B150)) & (('A151) -> [ (('A151) , ('B151))* ] -> Bool) & (('A152) -> [ (('A152) , ('B152))* ] -> Bool) & (('A153) -> [ (('A153) , ('B153))* ] -> [ (('A153) , ('B153))* ]) & (('A154) -> [ (('A154) , ('B154))* ] -> [ (('A154) , ('B154))* ]) & ([ ('A155)* ] -> [ ('B155)* ] -> [ (('A155) , ('B155))* ]) & ((('A156) -> ('A156)