Skip to content

Commit

Permalink
Abduction: remove simp_all from the Extend_Leaf strategy.
Browse files Browse the repository at this point in the history
Some conjectures are easier to produce from a subgoal before
applying simplification to it.

For example, if smart_induct produces common-subgoals,
the conjecturing tool can apply common-subterm abstraction.

However, the simplifier may apply simplification rules that destroy
the property of having multiple occurrences of the same compoud sub-term.
  • Loading branch information
yutakang committed Aug 24, 2023
1 parent ec1e20e commit 0dc51ed
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 19 deletions.
4 changes: 2 additions & 2 deletions Abduction/Abduction.thy
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,8 @@ strategy Extend_Leaf =
Alts [
Clarsimp,
Thens [
Smart_Induct,
User< simp_all>
Smart_Induct(*,
User< simp_all>*)
]
]

Expand Down
17 changes: 0 additions & 17 deletions Abduction/All_Top_Down_Conjecturing.ML
Original file line number Diff line number Diff line change
Expand Up @@ -31,23 +31,6 @@ in
has_dupulicates: bool
end;

(* Prod31 for example needs this congruence(?).
fun eq_over_same_func (ctxt:Proof.context) (trm:term) =
let
val trm_wo_Trueprop = Isabelle_Utils.remove_Trueprop trm;
val trm_w_prnt = Unique_Node.trm_to_trm_w_prnt ctxt trm_wo_Trueprop;
val utrm_w_prnt = Unique_Node.trm_w_prnt_to_utrm_w_prnt trm_w_prnt;
val result = case utrm_w_prnt of
Unique_Node.UA_Prnt (Unique_Node.UC_Prnt ("HOL.eq", _, "HOL.eq"),
[Unique_Node.UA_Prnt (func1, _, _),
Unique_Node.UA_Prnt (func2, _, _)], _) => func1 = func2
| _ => false
in
result
end;
*)


fun template_conjectures (ctxt:Proof.context) (trm:term): (string * term) list =
let
val (_, relevant_binary_funcs, relevant_unary_funcs) = TBC_Utils.get_relevant_constants ctxt trm;
Expand Down

0 comments on commit 0dc51ed

Please sign in to comment.