diff --git a/heap_lang/heap_lang.v b/heap_lang/heap_lang.v
index a77b36995a8378ffa1428e003b9edc9ae68a126d..6f0fee1420678c838a4b63ff14cf346dc921eb40 100644
--- a/heap_lang/heap_lang.v
+++ b/heap_lang/heap_lang.v
@@ -165,11 +165,11 @@ Definition un_op_eval (op : un_op) (l : base_lit) : option base_lit :=
 
 Definition bin_op_eval (op : bin_op) (l1 l2 : base_lit) : option base_lit :=
   match op, l1, l2 with
-  | PlusOp, LitNat n1, LitNat n2 => Some (LitNat (n1 + n2))
-  | MinusOp, LitNat n1, LitNat n2 => Some (LitNat (n1 - n2))
-  | LeOp, LitNat n1, LitNat n2 => Some (LitBool (bool_decide (n1 ≤ n2)))
-  | LtOp, LitNat n1, LitNat n2 => Some (LitBool (bool_decide (n1 < n2)))
-  | EqOp, LitNat n1, LitNat n2 => Some (LitBool (bool_decide (n1 = n2)))
+  | PlusOp, LitNat n1, LitNat n2 => Some $ LitNat (n1 + n2)
+  | MinusOp, LitNat n1, LitNat n2 => Some $ LitNat (n1 - n2)
+  | LeOp, LitNat n1, LitNat n2 => Some $ LitBool $ bool_decide (n1 ≤ n2)
+  | LtOp, LitNat n1, LitNat n2 => Some $ LitBool $ bool_decide (n1 < n2)
+  | EqOp, LitNat n1, LitNat n2 => Some $ LitBool $ bool_decide (n1 = n2)
   | _, _, _ => None
   end.
 
diff --git a/heap_lang/lifting.v b/heap_lang/lifting.v
index b68d8ea3bcb8583fc31fe8e0d2b0bc6bec6fee33..ffd501bf36bbd580f8cf0978b8a3cf8847704ac0 100644
--- a/heap_lang/lifting.v
+++ b/heap_lang/lifting.v
@@ -130,7 +130,7 @@ Qed.
 
 Lemma wp_fst E e1 v1 e2 v2 Q :
   to_val e1 = Some v1 → to_val e2 = Some v2 →
-  ▷ Q v1 ⊑ wp E (Fst (Pair e1 e2)) Q.
+  ▷ Q v1 ⊑ wp E (Fst $ Pair e1 e2) Q.
 Proof.
   intros. rewrite -(wp_lift_pure_det_step (Fst _) e1 None) ?right_id //;
     last by intros; inv_step; eauto.
@@ -139,7 +139,7 @@ Qed.
 
 Lemma wp_snd E e1 v1 e2 v2 Q :
   to_val e1 = Some v1 → to_val e2 = Some v2 →
-  ▷ Q v2 ⊑ wp E (Snd (Pair e1 e2)) Q.
+  ▷ Q v2 ⊑ wp E (Snd $ Pair e1 e2) Q.
 Proof.
   intros. rewrite -(wp_lift_pure_det_step (Snd _) e2 None) ?right_id //;
     last by intros; inv_step; eauto.