1 needs "arith/prove_lp.hl";;
2 needs "arith_test_data25.hl";;
3 needs "arith_test_data20.hl";;
4 needs "arith_test_data15.hl";;
5 needs "arith_test_data10.hl";;
6 needs "arith_test_data5.hl";;
10 let mul_op_num = `( * ):num->num->num` and
11 mul_op_real = `( * ):real->real->real` and
12 plus_op_num = `(+):num->num->num` and
13 plus_op_real = `(+):real->real->real` and
14 neg_op_real = `(--):real->real` and
15 amp_op_real = `(&):num->real`;;
18 let mul_data_int = map (fun (t1,t2) -> mk_binop mul_op_real t1 t2) data;;
19 let add_data_int = map (fun (t1,t2) -> mk_binop plus_op_real t1 t2) data;;
20 let sub_data_int = map (fun (t1,t2) -> mk_binop plus_op_real t1 (mk_comb(neg_op_real, t2))) data;;
23 let NUM_TO_NUMERAL = rand o concl o NUM_TO_NUMERAL_CONV;;
25 let data2 = map (fun (t1,t2) -> (mk_comb(amp_op_real, NUM_TO_NUMERAL(rand t1)),
26 mk_comb(amp_op_real, NUM_TO_NUMERAL(rand t2)))) data;;
28 let mul_data2 = map (fun (t1,t2) -> mk_binop mul_op_real t1 t2) data2;;
29 let add_data2 = map (fun (t1,t2) -> mk_binop plus_op_real t1 t2) data2;;
30 let sub_data2 = map (fun (t1,t2) -> mk_binop plus_op_real t1 (mk_comb(neg_op_real, t2))) data2;;
34 (**********************************)
42 test 1 (map REAL_BITS_MUL_CONV) mul_data_int;;
47 test 1 (map REAL_BITS_ADD_CONV) add_data_int;;
52 test 1 (map REAL_BITS_ADD_CONV) sub_data_int;;
57 test 1 (map REAL_INT_MUL_CONV) mul_data2;;
60 test 1 (map REAL_INT_ADD_CONV) add_data2;;
63 test 1 (map REAL_INT_ADD_CONV) sub_data2;;
67 (**********************************)
75 test 1 (map REAL_BITS_MUL_CONV) mul_data_int;;
80 test 1 (map REAL_BITS_ADD_CONV) add_data_int;;
85 test 1 (map REAL_BITS_ADD_CONV) sub_data_int;;
91 test 1 (map REAL_INT_MUL_CONV) mul_data2;;
94 test 1 (map REAL_INT_ADD_CONV) add_data2;;
97 test 1 (map REAL_INT_ADD_CONV) sub_data2;;
102 (**********************************)
110 test 1 (map REAL_BITS_MUL_CONV) mul_data_int;;
115 test 1 (map REAL_BITS_ADD_CONV) add_data_int;;
120 test 1 (map REAL_BITS_ADD_CONV) sub_data_int;;
124 test 1 (map REAL_INT_MUL_CONV) mul_data2;;
127 test 1 (map REAL_INT_ADD_CONV) add_data2;;
130 test 1 (map REAL_INT_ADD_CONV) sub_data2;;
134 (**********************************)
142 test 1 (map REAL_BITS_MUL_CONV) mul_data_int;;
147 test 1 (map REAL_BITS_ADD_CONV) add_data_int;;
152 test 1 (map REAL_BITS_ADD_CONV) sub_data_int;;
157 test 1 (map REAL_INT_MUL_CONV) mul_data2;;
160 test 1 (map REAL_INT_ADD_CONV) add_data2;;
163 test 1 (map REAL_INT_ADD_CONV) sub_data2;;
168 (**********************************)
176 test 1 (map REAL_BITS_MUL_CONV) mul_data_int;;
181 test 1 (map REAL_BITS_ADD_CONV) add_data_int;;
186 test 1 (map REAL_BITS_ADD_CONV) sub_data_int;;
191 test 1 (map REAL_INT_MUL_CONV) mul_data2;;
194 test 1 (map REAL_INT_ADD_CONV) add_data2;;
197 test 1 (map REAL_INT_ADD_CONV) sub_data2;;