]> git.ipfire.org Git - thirdparty/gcc.git/commit
ada: Restore proof of System.Arith_Double
authorYannick Moy <moy@adacore.com>
Tue, 17 Jan 2023 08:06:54 +0000 (08:06 +0000)
committerMarc Poulhiès <poulhies@adacore.com>
Tue, 16 May 2023 08:30:55 +0000 (10:30 +0200)
commitc850b1a7dcd13a3f1c288b5334188ba7406c2141
treecb26155c58a904fd78e8531d6b0f620431055980
parentfa1c2ec1bb5e6363839dce55421cdc6c3dd19726
ada: Restore proof of System.Arith_Double

Use Assert_And_Cut to simplify proof of second part of the Scaled_Divide.
Add intermediate assertions and simplify where necessary.

gcc/ada/

* libgnat/s-aridou.adb:
(Big3): Remove override made useless.
(Lemma_Quot_Rem): Add new lemma and justify it, as no prover
manages to prove it.
(Lemma_Div_Pow2): Use new lemma Lemma_Quot_Rem.
(Prove_Scaled_Mult_Decomposition_Regroup3): Retype for
simplification.
(Scaled_Divide): Remove useless assertions.Decompose some
assertions with cut operations. Use Assert_And_Cut for second
half. Add assertions.
gcc/ada/libgnat/s-aridou.adb