https://github.com/c-corn/corn
Raw File
Tip revision: a6158dc95255f2b36520f066b93111da4a919143 authored by Théo Zimmermann on 16 October 2023, 15:39:53 UTC
Merge pull request #201 from coq-community/coq-8.18
Tip revision: a6158dc
Rsign.v
Require Import CoRN.coq_reals.Rreals_iso.
Require Import CoRN.reals.fast.CRsign.

Ltac R_dec_precompute :=
 try apply Rlt_le;
 apply R_lt_as_IR;
 match goal with
 | |- (Ccsr_rel ?A ?B ?X ?Y) =>
                  let X0 := fresh "R_dec" in
                  pose (X0:=X);
                  let Y0 := fresh "R_dec" in
                  pose (Y0:=Y);
                  change (Ccsr_rel A B X0 Y0);
                  let XH := fresh "R_dec" in
                  assert (XH:(X[=]X0)) by apply eq_reflexive;
                  let YH := fresh "R_dec" in
                  assert (YH:(Y[=]Y0)) by apply eq_reflexive;
                  autorewrite with RtoIR in XH, YH;
                  apply (fun z z0 => @Ccsr_wdl A B _ z _ z0 XH);
                  apply (fun z z0 => @Ccsr_wdr A B z _ _ z0 YH);
                  clear X0 Y0 XH YH
   end.

Ltac R_solve_ineq P :=
  R_dec_precompute; IR_solve_ineq P.
back to top