Library Waterproof.Tactics.Claims
Require Import Ltac2.Ltac2.
Require Import Util.Constr.
Require Import Util.Goals.
Require Import Waterproof.Tactics.Help.
Local Ltac2 my_assert (t:constr) (id:ident option) :=
match id with
| None =>
let h := Fresh.in_goal @_H in
ltac2_assert h t
| Some id => ltac2_assert id t
end.
Ltac2 Notation "We" "claim" "that" t(constr) id(opt(seq("(", ident, ")"))) :=
panic_if_goal_wrapped ();
HelpNewHyp.suggest_how_to_use_after_proof t id;
my_assert t id.