proposition: Theorem MKnuthOpp : forall p q : float, Iplus (Iminus p (Iminus (Iplus p q) (Iminus (Iplus p q) p))) (Iminus q (Iminus (Iplus p q) p)) = Fopp (Iplus (Iminus (Fopp p) (Iminus (Iplus (Fopp p) (Fopp q)) (Iminus (Iplus (Fopp p) (Fopp q)) (Fopp p)))) (Iminus (Fopp q) (Iminus (Iplus (Fopp p) (Fopp q)) (Fopp p)))) :>R.
proof: Proof. intros p q; repeat rewrite <- IplusOp || rewrite <- IminusOp; rewrite Fopp_Fopp; auto. Qed.
imports: Reals ZArith List PeanoNat Psatz