Commit f87c334f authored by Robbert Krebbers's avatar Robbert Krebbers

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
Pipeline #17969 passed with stage
in 8 minutes and 33 seconds
......@@ -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 _)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment