53 val eq_congruent_pred_rule : string |
53 val eq_congruent_pred_rule : string |
54 val skolemization_steps : string list |
54 val skolemization_steps : string list |
55 val theory_resolution2_rule: string |
55 val theory_resolution2_rule: string |
56 val equiv_pos2_rule: string |
56 val equiv_pos2_rule: string |
57 val th_resolution_rule: string |
57 val th_resolution_rule: string |
|
58 val and_pos_rule: string |
58 |
59 |
59 val is_skolemization: string -> bool |
60 val is_skolemization: string -> bool |
60 val is_skolemization_step: veriT_replay_node -> bool |
61 val is_skolemization_step: veriT_replay_node -> bool |
61 |
62 |
62 val number_of_steps: veriT_replay_node list -> int |
63 val number_of_steps: veriT_replay_node list -> int |
246 val ite_intro_rule = "ite_intro" |
247 val ite_intro_rule = "ite_intro" |
247 val default_skolem_rule = "sko_forall" (*arbitrary, but must be one of the skolems*) |
248 val default_skolem_rule = "sko_forall" (*arbitrary, but must be one of the skolems*) |
248 val theory_resolution2_rule = "__theory_resolution2" (*arbitrary*) |
249 val theory_resolution2_rule = "__theory_resolution2" (*arbitrary*) |
249 val equiv_pos2_rule = "equiv_pos2" |
250 val equiv_pos2_rule = "equiv_pos2" |
250 val th_resolution_rule = "th_resolution" |
251 val th_resolution_rule = "th_resolution" |
|
252 val and_pos_rule = "and_pos" |
251 |
253 |
252 val skolemization_steps = ["sko_forall", "sko_ex"] |
254 val skolemization_steps = ["sko_forall", "sko_ex"] |
253 val is_skolemization = member (op =) skolemization_steps |
255 val is_skolemization = member (op =) skolemization_steps |
254 val keep_app_symbols = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule] |
256 val keep_app_symbols = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule] |
255 val keep_raw_lifting = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule] |
257 val keep_raw_lifting = member (op =) [eq_congruent_pred_rule, eq_congruent_rule, ite_intro_rule, and_pos_rule] |
256 val is_SH_trivial = member (op =) [not_not_rule, contract_rule] |
258 val is_SH_trivial = member (op =) [not_not_rule, contract_rule] |
257 |
259 |
258 fun is_skolemization_step (VeriT_Replay_Node {id, ...}) = is_skolemization id |
260 fun is_skolemization_step (VeriT_Replay_Node {id, ...}) = is_skolemization id |
259 |
261 |
260 (* Even the veriT developers do not know if the following rule can still appear in proofs: *) |
262 (* Even the veriT developers do not know if the following rule can still appear in proofs: *) |