Skip to content
Snippets Groups Projects
Commit f87c334f authored by Robbert Krebbers's avatar Robbert Krebbers
Browse files

Perform `fast_done` first in `naive_solver`.

This avoids `naive_solver` tearing whole goals apart, even if the goal
appears exactly as a hypothesis.
parent 4ff965b2
No related branches found
No related tags found
1 merge request!80Perform `fast_done` first in `naive_solver`.
Pipeline #17969 passed
......@@ -506,6 +506,8 @@ Tactic Notation "naive_solver" tactic(tac) :=
end;
let rec go n :=
repeat match goal with
(**i solve the goal *)
| |- _ => fast_done
(**i intros *)
| |- _, _ => intro
(**i simplification of assumptions *)
......@@ -522,8 +524,6 @@ Tactic Notation "naive_solver" tactic(tac) :=
| H : Is_true (_ && _) |- _ => apply andb_True in H; destruct H
(**i simplify and solve equalities *)
| |- _ => progress simplify_eq/=
(**i solve the goal *)
| |- _ => fast_done
(**i operations that generate more subgoals *)
| |- _ _ => split
| |- Is_true (bool_decide _) => apply (bool_decide_pack _)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment