Require Setoid.
Require ZArith.
Inductive Erasable(A : Set) : Prop :=
erasable: A -> Erasable A.
Arguments erasable [A] _.
Hint Constructors Erasable.
Scheme Erasable_elim := Induction for Erasable Sort Prop.
Notation "## T" := (Erasable T) (at level 1, format "## T") : Erasable_scope.
Notation "# x" := (erasable x) (at level 1, format "# x") : Erasable_scope.
Open Scope Erasable_scope.

Lemma Erasable_rw : forall (A: Set)(a b : A), (#a=#b) <-> (a=b).