diff --git a/heap_lang/lang.v b/heap_lang/lang.v
index 48dd5cd0ec3bd5711945ce5b339ba2009f26119e..5c7555fc88c0e3b606671d29dee5edd7123ac4ef 100644
--- a/heap_lang/lang.v
+++ b/heap_lang/lang.v
@@ -51,15 +51,15 @@ Inductive val :=
   | LocV (l : loc).
 
 Global Instance base_lit_dec_eq (l1 l2 : base_lit) : Decision (l1 = l2).
-Proof.  rewrite /Decision. decide equality; apply decide, _. Qed.
+Proof. solve_decision. Defined.
 Global Instance un_op_dec_eq (op1 op2 : un_op) : Decision (op1 = op2).
-Proof.  rewrite /Decision. decide equality; apply decide, _. Qed.
+Proof. solve_decision. Defined.
 Global Instance bin_op_dec_eq (op1 op2 : bin_op) : Decision (op1 = op2).
-Proof.  rewrite /Decision. decide equality; apply decide, _. Qed.
+Proof. solve_decision. Defined.
 Global Instance expr_dec_eq (e1 e2 : expr) : Decision (e1 = e2).
-Proof.  rewrite /Decision. decide equality; apply decide, _. Qed.
+Proof. solve_decision. Defined.
 Global Instance val_dec_eq (v1 v2 : val) : Decision (v1 = v2).
-Proof.  rewrite /Decision. decide equality; apply decide, _. Qed.
+Proof. solve_decision. Defined.
 
 Delimit Scope lang_scope with L.
 Bind Scope lang_scope with expr val.