Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* Wrote some examples of synthesis for the redc loop, as well as a single execution of its body. * Cleaned up commented code * Manually looped a redc example * Changed the Montgomery step being synthesized so that it doesn't have to return substrings of A. * Compiled a modified version of the Arithmetic redc algorithm for easier looping * Added equivalence proofs for redc_alt, a version of redc done using fold * Cleaned up some messy comments * Removing more old comments * explicititly added redc_body_alt synthesis example * started pushing redc_step through PushButtonSynthesis * started trying to write bedrock specifications for redc * small tweak * postconditions for outer redc function memory specs * rewrote with fnspec * cleanup * fixed a rather unfortunate math error * small tweak for consistency * fiddled with the specs until they went through * wrote the outer redc loop in bedrock * Started trying to write a more general proof about for loops / folding; annotated the problems I'm running into * wrote the begginings of a redc loop proof * made a bit of a mess * cleaned up some fraction of the mess * some housekeeping; added an annotation of the current problem * to revert in case I break things * pre-delete commit * Finished the redc proof, conditional on admitted lemmas that the prime is greater than 1 and all arrays fit in memory * Moved the prime > 1 condition to context * Minor cosmetic changes * deleting/reverting experimental changes * fixup --------- Co-authored-by: nathan-sheffield <shefna@mit.edu>
- Loading branch information