From 297e12b9c48206dcfbdb26569c43e51d38a6378d Mon Sep 17 00:00:00 2001
From: Heiko Becker <hbecker@mpi-sws.org>
Date: Thu, 23 Jul 2020 12:15:08 +0200
Subject: [PATCH] Minor changes to proofs

---
 hol4/ErrorBoundsScript.sml | 18 +++++++++++-------
 1 file changed, 11 insertions(+), 7 deletions(-)

diff --git a/hol4/ErrorBoundsScript.sml b/hol4/ErrorBoundsScript.sml
index 6569247e..f488aa05 100644
--- a/hol4/ErrorBoundsScript.sml
+++ b/hol4/ErrorBoundsScript.sml
@@ -8,8 +8,6 @@ open AbbrevsTheory ExpressionsTheory ExpressionSemanticsTheory RealSimpsTheory
      FloverTactics MachineTypeTheory ExpressionAbbrevsTheory EnvironmentsTheory;
 open preambleFloVer;
 
-val _ = temp_delsimps ["NORMEQ_CONV"]
-
 val _ = new_theory "ErrorBounds";
 
 val _ = Parse.hide "delta"; (* so that it can be used as a variable *)
@@ -394,6 +392,12 @@ Proof
   \\ metis_tac [REAL_LE_LMUL_IMP, ABS_POS, REAL_MUL_COMM]
 QED
 
+Theorem nonzerop_EQ1_I'[simp]:
+  0 < r ==> (nonzerop r = 1)
+Proof
+  rw[nonzerop_def]
+QED
+
 Theorem err_prop_inversion_pos:
   !(nF:real) (nR:real) (err:real) (elo:real) (ehi:real).
       0 < elo - err  /\ 0 < elo /\
@@ -402,7 +406,8 @@ Theorem err_prop_inversion_pos:
       nR <= ehi /\
       elo - err <= nF /\
       nF <= ehi + err /\
-      0 <= err ==>
+      0 <=
+      err ==>
       abs (inv nR - inv nF) <= err * inv ((elo - err) * (elo - err))
 Proof
   rpt strip_tac
@@ -426,10 +431,9 @@ Proof
     \\ simp[]
     \\ qspec_then `1 / -nR + 1 / (nR - err)` match_mp_tac real_le_trans2 \\ conj_tac
     >- (match_mp_tac REAL_LE_LADD_IMP
-        \\ rewrite_tac [GSYM REAL_INV_1OVER]
-        \\ ‘0 < nR - err ∧ nR - err ≤ nF’ suffices_by (fs [REAL_INV_LE_ANTIMONO])
-        \\ REAL_ASM_ARITH_TAC)
-    >- (` - nR <> 0 /\ nR - err <> 0` by REAL_ASM_ARITH_TAC
+        \\ ‘0 < nR - err ∧ nR - err ≤ nF’ by REAL_ASM_ARITH_TAC
+        \\ simp[GSYM REAL_INV_1OVER])
+    >- (`- nR <> 0 /\ nR - err <> 0` by REAL_ASM_ARITH_TAC
         \\ fs [REAL_ADD_RAT]
         \\ `nR - err + - nR = - err` by REAL_ASM_ARITH_TAC
         \\ qspec_then `nR` (fn thm => fs [real_div, GSYM thm]) REAL_NEG_LMUL
-- 
GitLab