equal
deleted
inserted
replaced
64 val old_skolem_const_prefix : string |
64 val old_skolem_const_prefix : string |
65 val new_skolem_const_prefix : string |
65 val new_skolem_const_prefix : string |
66 val type_decl_prefix : string |
66 val type_decl_prefix : string |
67 val sym_decl_prefix : string |
67 val sym_decl_prefix : string |
68 val preds_sym_formula_prefix : string |
68 val preds_sym_formula_prefix : string |
69 val tags_sym_formula_prefix : string |
69 val lightweight_tags_sym_formula_prefix : string |
70 val fact_prefix : string |
70 val fact_prefix : string |
71 val conjecture_prefix : string |
71 val conjecture_prefix : string |
72 val helper_prefix : string |
72 val helper_prefix : string |
73 val class_rel_clause_prefix : string |
73 val class_rel_clause_prefix : string |
74 val arity_clause_prefix : string |
74 val arity_clause_prefix : string |
170 val new_skolem_const_prefix = skolem_const_prefix ^ "n" |
170 val new_skolem_const_prefix = skolem_const_prefix ^ "n" |
171 |
171 |
172 val type_decl_prefix = "ty_" |
172 val type_decl_prefix = "ty_" |
173 val sym_decl_prefix = "sy_" |
173 val sym_decl_prefix = "sy_" |
174 val preds_sym_formula_prefix = "psy_" |
174 val preds_sym_formula_prefix = "psy_" |
175 val tags_sym_formula_prefix = "tsy_" |
175 val lightweight_tags_sym_formula_prefix = "tsy_" |
176 val fact_prefix = "fact_" |
176 val fact_prefix = "fact_" |
177 val conjecture_prefix = "conj_" |
177 val conjecture_prefix = "conj_" |
178 val helper_prefix = "help_" |
178 val helper_prefix = "help_" |
179 val class_rel_clause_prefix = "crel_" |
179 val class_rel_clause_prefix = "crel_" |
180 val arity_clause_prefix = "arity_" |
180 val arity_clause_prefix = "arity_" |
1663 |> close_formula_universally |
1663 |> close_formula_universally |
1664 |> maybe_negate, |
1664 |> maybe_negate, |
1665 intro_info, NONE) |
1665 intro_info, NONE) |
1666 end |
1666 end |
1667 |
1667 |
1668 fun formula_lines_for_tags_sym_decl ctxt format conj_sym_kind nonmono_Ts |
1668 fun formula_lines_for_lightweight_tags_sym_decl ctxt format conj_sym_kind |
1669 type_sys n s (j, (s', T_args, T, pred_sym, ary, in_conj)) = |
1669 nonmono_Ts type_sys n s (j, (s', T_args, T, pred_sym, ary, in_conj)) = |
1670 let |
1670 let |
1671 val ident_base = |
1671 val ident_base = |
1672 tags_sym_formula_prefix ^ s ^ |
1672 lightweight_tags_sym_formula_prefix ^ s ^ |
1673 (if n > 1 then "_" ^ string_of_int j else "") |
1673 (if n > 1 then "_" ^ string_of_int j else "") |
1674 val (kind, maybe_negate) = |
1674 val (kind, maybe_negate) = |
1675 if in_conj then (conj_sym_kind, conj_sym_kind = Conjecture ? mk_anot) |
1675 if in_conj then (conj_sym_kind, conj_sym_kind = Conjecture ? mk_anot) |
1676 else (Axiom, I) |
1676 else (Axiom, I) |
1677 val (arg_Ts, res_T) = chop_fun ary T |
1677 val (arg_Ts, res_T) = chop_fun ary T |
1747 (case heaviness of |
1747 (case heaviness of |
1748 Heavyweight => [] |
1748 Heavyweight => [] |
1749 | Lightweight => |
1749 | Lightweight => |
1750 let val n = length decls in |
1750 let val n = length decls in |
1751 (0 upto n - 1 ~~ decls) |
1751 (0 upto n - 1 ~~ decls) |
1752 |> maps (formula_lines_for_tags_sym_decl ctxt format conj_sym_kind |
1752 |> maps (formula_lines_for_lightweight_tags_sym_decl ctxt format |
1753 nonmono_Ts type_sys n s) |
1753 conj_sym_kind nonmono_Ts type_sys n s) |
1754 end) |
1754 end) |
1755 |
1755 |
1756 fun problem_lines_for_sym_decl_table ctxt format conj_sym_kind nonmono_Ts |
1756 fun problem_lines_for_sym_decl_table ctxt format conj_sym_kind nonmono_Ts |
1757 type_sys sym_decl_tab = |
1757 type_sys sym_decl_tab = |
1758 sym_decl_tab |
1758 sym_decl_tab |