23250
|
1 |
structure HOL =
|
|
2 |
struct
|
|
3 |
|
24421
|
4 |
type 'a eq = {eqop : 'a -> 'a -> bool};
|
|
5 |
fun eqop (A_:'a eq) = #eqop A_;
|
23250
|
6 |
|
22386
|
7 |
type 'a ord = {less_eq : 'a -> 'a -> bool, less : 'a -> 'a -> bool};
|
|
8 |
fun less_eq (A_:'a ord) = #less_eq A_;
|
|
9 |
fun less (A_:'a ord) = #less A_;
|
21147
|
10 |
|
24193
|
11 |
end; (*struct HOL*)
|
21147
|
12 |
|
|
13 |
structure Codegen =
|
|
14 |
struct
|
|
15 |
|
24421
|
16 |
fun less_eq (A1_, A2_) B_ (x1, y1) (x2, y2) =
|
|
17 |
HOL.less A2_ x1 x2 orelse
|
|
18 |
HOL.eqop A1_ x1 x2 andalso HOL.less_eq B_ y1 y2;
|
21147
|
19 |
|
|
20 |
end; (*struct Codegen*)
|