From 708a4d82ee37bcfa3c79eae09e0f8fc5a9892408 Mon Sep 17 00:00:00 2001
From: gabrielhdt <gabrielhondet@gmail.com>
Date: Thu, 20 Feb 2020 17:32:51 +0100
Subject: [PATCH] ok with let encoding

---
 sandbox/cert_f/rat.lp | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/sandbox/cert_f/rat.lp b/sandbox/cert_f/rat.lp
index 7b27440..0beee59 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
-- 
GitLab