aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* coqprime in COQPATH (closes #269)Gravatar Andres Erbsen2018-02-24
|
* Add ZRange.intersectionGravatar Jason Gross2018-02-23
|
* Fix a typoGravatar Jason Gross2018-02-23
|
* Add some bounds operations to ZRangeGravatar Jason Gross2018-02-23
|
* Add ZRange.oppGravatar Jason Gross2018-02-23
|
* Make the Montgomery reduction test case use 128-bit multiplications andGravatar Jade Philipoom2018-02-23
| | | | | | | | Columns arithmetic. This includes: - writing flatten_column in terms of list_rect instead of matches, so it can be reified - adding list_rect, shiftl, and List.length to various IRs - dead code elimination
* fix leftover %RTGravatar Jade Philipoom2018-02-23
|
* Get bounds analysis workingGravatar Jade Philipoom2018-02-23
|
* fixed inlining of opaque pairs as per Jason's recommendationGravatar Jade Philipoom2018-02-23
|
* rename compact_digit to flatten_columnGravatar Jade Philipoom2018-02-23
|
* make compact_digit consume a bound argument rather than a weight-function indexGravatar Jade Philipoom2018-02-23
|
* use Z.div and Z.modulo in saturated arith, since we can now change to ↵Gravatar Jade Philipoom2018-02-23
| | | | bitshifts reflectively
* remove leftover [Eval compute] and extra spaceGravatar Jade Philipoom2018-02-23
|
* Fix naming issueGravatar Jade Philipoom2018-02-23
|
* move things from ZUtil.v into Div.vGravatar Jade Philipoom2018-02-23
|
* define mul and add placeholders for new operations in bounds partsGravatar Jade Philipoom2018-02-23
|
* Add non-CPS version of Saturated/CoreGravatar Jade Philipoom2018-02-23
|
* add three proofs to ZUtilGravatar Jade Philipoom2018-02-23
|
* add two proofs about listsGravatar Jade Philipoom2018-02-23
|
* Add non-CPS version of associational multiplication with mul_splitGravatar Jade Philipoom2018-02-23
|
* preliminary version of Montgomery reduce in new pipeline; includes adding ↵Gravatar Jade Philipoom2018-02-23
| | | | support for Z.leb and several saturated-arith operations (add_get_carry, add_with_get_carry, sub_get_borrow, mul_split, zselect, and add_modulo)
* add proof about Z.equiv_moduloGravatar Jade Philipoom2018-02-23
|
* add equivalence proof for Montgomery reduce_via_partial_altGravatar Jade Philipoom2018-02-23
|
* create rewrite database for saturated operations on ZGravatar Jade Philipoom2018-02-23
|
* Add new modular addition operation on ZGravatar Jade Philipoom2018-02-23
|
* Fix balance on subGravatar Jason Gross2018-02-19
| | | | | | | With some help from @jadephilipoom Previously, the carrying was removing the effect of `coef`, and we were getting too small a balance.
* A bit more uniformity in handling the prime, implicitsGravatar Jason Gross2018-02-19
|
* [experiments] Fill in opp and subGravatar Jason Gross2018-02-19
|
* Remove the mod on eval_addGravatar Jason Gross2018-02-19
|
* Remove runtime_scopeGravatar Jason Gross2018-02-19
| | | | As per https://github.com/mit-plv/fiat-crypto/pull/315#discussion_r169085799
* [experiments] Add some more arithmetic operationsGravatar Jason Gross2018-02-19
|
* NumTheoryUtil: make coqprime dependencies explicitGravatar Andres Erbsen2018-02-19
|
* Take in n, compute limbwidthGravatar Jason Gross2018-02-18
|
* Rename type_descr to second_order, as per PR requestGravatar Jason Gross2018-02-18
|
* Rename AutoReifyGravatar Jason Gross2018-02-18
|
* Speed up the pipeline by 3x, restoring previous performanceGravatar Jason Gross2018-02-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apparently using `refine eq_refl` rather than `subst <name for evar>; reflexivity` was resulting in βδ reduction of `chained_carries` in `carry_mulmod`. The β reduction resulted in us getting a different cps'd term. I do not know why this particular β reduction resulted in a 3x slowdown in partial reduction; it seems like anything that cared about sharing should either get sharing from the top-level in `carry_mulmod`, or should have no difference in sharing between the terms ```coq (fun n s c p idxs => fold_right (fun a b => @carry_reduce n s c a b) p (rev idxs)) n s c p idxs ``` and ```coq fold_right (fun a b => @carry_reduce n s c a b) p (rev idxs)) ``` This feels fragile, and I am mystified. Note for the future: I went about debugging this by integrating little bits of this PR one by one, seeing which one caused the slowdown, and then, when I realized it was use of `carry_mulmod`, I took the reified terms and made a goal asserting their equality, and then took the terms apart with `f_equal` and `extensionality` until I found the difference.
* Remove mul_rargs recordGravatar Jason Gross2018-02-18
|
* Make use of expand_lists tacticGravatar Jason Gross2018-02-18
|
* Rename carry_mulmod_correct to eval_carry_mulmod to fit with other lemmasGravatar Jason Gross2018-02-18
|
* Add GallinaReify.AutoReifyGravatar Jason Gross2018-02-18
|
* Simplify the pipeline a bitGravatar Jason Gross2018-02-18
|
* Remove try_transport_untranslateGravatar Jason Gross2018-02-18
|
* Respond to some code review commentsGravatar Jason Gross2018-02-18
|
* Do a large chunk of the bounds pipelineGravatar Jason Gross2018-02-18
|
* WIP on more general continuationsGravatar Jason Gross2018-02-18
|
* Add notations for type reificationGravatar Jason Gross2018-02-18
|
* Add some imports to experimentsGravatar Jason Gross2018-02-18
|
* Strip the pointed instance names off of the default value in list expansionGravatar Jason Gross2018-02-18
| | | | This is required for reification to work, it seems
* Add expand_lists tacticGravatar Jason Gross2018-02-18
|
* Add pointed typesGravatar Jason Gross2018-02-18
| | | | For filling in default values