Module Marker.
(* This marker is used in combination with a notation (see the end of the file), in order to hide the exact expression of a subgoal, and to indicate that faced with this subgoal, the user always has to call the [end defer] tactic. *)
Definition end_defer (P : Type) := P.
(* This marker is used to keep track of "group" assumptions in the context (introduced by [begin procrastination]). This is useful so that tactics can omit specifying a group: in that case, the first group of the context is used. *)
Definition group (P : Prop) := P.

Lemma group_fold : forall (P: Prop), P -> group P.