equal
deleted
inserted
replaced
8 imports Algebras |
8 imports Algebras |
9 uses |
9 uses |
10 "~~/src/Provers/order.ML" |
10 "~~/src/Provers/order.ML" |
11 "~~/src/Provers/quasi.ML" (* FIXME unused? *) |
11 "~~/src/Provers/quasi.ML" (* FIXME unused? *) |
12 begin |
12 begin |
|
13 |
|
14 subsection {* Syntactic orders *} |
|
15 |
|
16 class ord = |
|
17 fixes less_eq :: "'a \<Rightarrow> 'a \<Rightarrow> bool" |
|
18 and less :: "'a \<Rightarrow> 'a \<Rightarrow> bool" |
|
19 begin |
|
20 |
|
21 notation |
|
22 less_eq ("op <=") and |
|
23 less_eq ("(_/ <= _)" [51, 51] 50) and |
|
24 less ("op <") and |
|
25 less ("(_/ < _)" [51, 51] 50) |
|
26 |
|
27 notation (xsymbols) |
|
28 less_eq ("op \<le>") and |
|
29 less_eq ("(_/ \<le> _)" [51, 51] 50) |
|
30 |
|
31 notation (HTML output) |
|
32 less_eq ("op \<le>") and |
|
33 less_eq ("(_/ \<le> _)" [51, 51] 50) |
|
34 |
|
35 abbreviation (input) |
|
36 greater_eq (infix ">=" 50) where |
|
37 "x >= y \<equiv> y <= x" |
|
38 |
|
39 notation (input) |
|
40 greater_eq (infix "\<ge>" 50) |
|
41 |
|
42 abbreviation (input) |
|
43 greater (infix ">" 50) where |
|
44 "x > y \<equiv> y < x" |
|
45 |
|
46 end |
|
47 |
13 |
48 |
14 subsection {* Quasi orders *} |
49 subsection {* Quasi orders *} |
15 |
50 |
16 class preorder = ord + |
51 class preorder = ord + |
17 assumes less_le_not_le: "x < y \<longleftrightarrow> x \<le> y \<and> \<not> (y \<le> x)" |
52 assumes less_le_not_le: "x < y \<longleftrightarrow> x \<le> y \<and> \<not> (y \<le> x)" |