diff --git a/sandbox/cert_f/rat.lp b/sandbox/cert_f/rat.lp
index 7b274404d0bee79a23ebf63ae8b3ec2da08525d4..0beee5913ddbc51a72973283345509d8787aa278 100644
--- a/sandbox/cert_f/rat.lp
+++ b/sandbox/cert_f/rat.lp
@@ -11,13 +11,13 @@ symbol frac : Term nat ⇒ Term N.nznat ⇒ Term rat
 symbol times : @Term Type rat ⇒ @Term Type rat ⇒ @Term Type rat
 
 rule times (frac &a &b) (frac &c &d) →
+  let bv ≔ fst N.not_zero &b in
+  let dv ≔ fst N.not_zero &d in
   frac
    (N.times &a &c)
    (N.nznatc
-    (N.times (fst N.not_zero &b) (fst N.not_zero &d))
-    (N.prod_not_zero
-     (fst N.not_zero &b)
-     (fst N.not_zero &d)
+    (N.times bv dv)
+    (N.prod_not_zero bv dv
      (snd N.not_zero &b)
      (snd N.not_zero &d)))
 
@@ -30,7 +30,4 @@ definition onz : Term N.nznat ≔ N.nznatc 1 N.one_not_zero
 theorem right_cancellation (a: Term nat) (b: Term N.nznat):
   Term (rateq (times (frac a b) (frac (fst N.not_zero b) onz)) (frac a onz))
 proof
-assume a b
-simpl
-refine N.prod_comm a b
-qed
+admit