aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Add η principles for sigma typesGravatar Jason Gross2017-03-01
|
* Add dlet_nd notationGravatar Jason Gross2017-03-01
| | | | This is for non-dependent [dlet]s, to help Coq's type inference
* Switch to fully uncurried form for reflectionGravatar Jason Gross2017-03-01
| | | | | | | | | | | This will eventually make a number of proofs easier. Unfortunately, the correctness lemmas for AddCoordinates and LadderStep no longer work (because of different arities), and there's a proof in Experiments/Ed25519 that I've admitted. The correctness lemmas will be easy to re-add when we have a more general version that handle arbitrary type shapes.
* Add interp_flat_type_rel_pointwise_SmartVarfMap, ↵Gravatar Jason Gross2017-02-28
| | | | interp_flat_type_rel_pointwise_Reflexive
* Add SmartVarfMap Proper instanceGravatar Jason Gross2017-02-28
|
* Add strip_eta_tuple lemmasGravatar Jason Gross2017-02-28
|
* Better tuple_eta argumentsGravatar Jason Gross2017-02-28
|
* Add eta_tuple functionsGravatar Jason Gross2017-02-28
| | | | | These are for getting nicely reduced forms of, e.g., Tuple.map, without knowing exactly what the tuple is
* Deduplicate codeGravatar Jason Gross2017-02-28
| | | | There was duplicate code in Reflection.Equality and Reflection.TypeInversion
* Defined zero and one for NewBaseSystemGravatar jadep2017-02-27
|
* Added operation (including creating )Gravatar jadep2017-02-27
|
* Added subtractionGravatar jadep2017-02-27
|
* added Positional wrappers for Associational operations, added correctness ↵Gravatar jadep2017-02-27
| | | | proof of
* changed names of ops in NewBaseSystem to reflect that they are sig and not sigTGravatar jadep2017-02-27
|
* Modified lemma and created tactic to handle it; added reduce step to ↵Gravatar jadep2017-02-26
| | | | multiplication operation; introduced modular equality to NewBaseSystem
* removed leftover saturated stuff (will probably end up in a separate file ↵Gravatar jadep2017-02-26
| | | | someday)
* speed up NewBaseystem synthesisGravatar Andres Erbsen2017-02-23
| | | | | | Use a vm_compute hack fromhttps://arxiv.org/pdf/1305.6543.pdf section 5.5: pattern terms over what to keep opaque, then reduce the lambda using vm_compute.
* Add BoundsInterpretationsGravatar Jason Gross2017-02-23
|
* Add log and non-log versions of FixedWordSizes lemGravatar Jason Gross2017-02-23
|
* Add invert_Some; add nat_N_Z to push_Zof_NGravatar Jason Gross2017-02-23
|
* Minor change to reflection namingGravatar Jason Gross2017-02-23
|
* added explanation of why CPS is usefulGravatar jadep2017-02-23
|
* Removed code that will be completely replaced in the future; replaced some ↵Gravatar jadep2017-02-22
| | | | pointencoding things with axioms pending pointencoding rewrite by Andres
* move lemmas from Ed25519 to WordUtilGravatar jadep2017-02-22
|
* move some lemmas from Ed25519 to ZUtilGravatar jadep2017-02-22
|
* moved more stuff to NUtilGravatar jadep2017-02-22
|
* Moved N lemmas from Ed25519 and IterAssocOp into new NUtil fileGravatar jadep2017-02-22
|
* categorize the rest of the stuff in Ed25519Gravatar jadep2017-02-22
|
* categorize some of the stuff in Ed25519Gravatar jadep2017-02-22
|
* NewBaseSystem: less verboseGravatar Andres Erbsen2017-02-22
|
* Merge new base system (#112)Gravatar jadephilipoom2017-02-22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Added sketch of new low-level base system code * Implemented and proved addition * Implemented carrying, which requires defining over Z rather than arbitrary ring * Proved carry and proved ring-ness of base system ops * Implemented split operation * Started implementing modular reduction * NewBaseSystem: prettify some proofs * andres base * improve andresbase * new base * first draft of goldilocks karatsuba * Factored out goldilocks karatsuba * Implement and prove karatsuba * goldilocks cleanup remodularize * merge karatsuba and goldilocs karatsuba parameter blocks * carry impl and proofs (not yet synthesis-ready) * newbasesystem: use rewrite databases * carry index range fix (TODO: allow for carry-then-reduce) * simpler carry implementation * Added compact operation for saturated base systems (this handles carries after multiplying or adding) * debugging reduction for compact_rows * rewrote compact * Converted saturated section to CPS * some progress on cps conversion for non-saturated stuff * Converted associational non-saturated code to CPS, temporarily commented out examples * pushed cps conversion through Positional * moved list/tuple stuff to top of file * proved lingering lemma * worked on generic-style goal for simplified operations * finished proving the generic-form example goal, revising a couple earlier lemmas * revised previous lemmas * finished revising previous lemmas * removed commented-out code * fixed non-terminating string in comment * fix for 8.5 * removed old file * better automation part 1 * better automation part 2 (goodbye proofs) * better automation part 3/3 * some work on freeze * remove saturated code and clean up exported-operations code * Move helper lemmas for list/tuple CPS stuff to new CPSUtil file * qualified imports * fix runtime notations and module-level Let as per comments * moved push_id to CPSUtil and cancel_pair lemmas to Prod * fixed typo * correctly generalized and moved lift_tuple2 (now called lift2_sig) and converted chained_carries into a fold * moved karatsuba section to new file * rename lemmas and definitions (now cps definitions are consistently <name>_cps and non-cps equivalents have no suffix) * updated timing on mulT * renamed push_eval to push_basesystem_eval
* Add various reflection improvements, boundbycastGravatar Jason Gross2017-02-21
|
* Add interpf_smart_bound without exprfGravatar Jason Gross2017-02-21
|
* Rename Interp lemmasGravatar Jason Gross2017-02-21
| | | | | | ```bash $ git grep --name-only 'Interp_InlineCast\|Interp_InlineConst\|Interp_Linearize' | xargs sed s'/Interp_/Interp/g' -i ```
* Add non-exprf version of interpf_smart_unboundGravatar Jason Gross2017-02-16
|
* Add MapCastInterpGravatar Jason Gross2017-02-16
|
* Add InterpByIsoProofsGravatar Jason Gross2017-02-16
|
* Add more display logsGravatar Jason Gross2017-02-16
|
* Fix typoGravatar Jason Gross2017-02-16
|
* Add InterpByIsoGravatar Jason Gross2017-02-16
| | | | | | It's actually closer to interp_by_retraction... This lets you do [interp] on, e.g., products with fail-values (var * interp_base), as long as [var] is pointed.
* Add more display logsGravatar Jason Gross2017-02-15
|
* Add some display logsGravatar Jason Gross2017-02-15
|
* Add some display logsGravatar Jason Gross2017-02-15
|
* ./copy_boundsGravatar Jason Gross2017-02-15
|
* Add rudimentary Java and C notation files, displayGravatar Jason Gross2017-02-15
|
* Remove useless commentGravatar Jason Gross2017-02-14
|
* Mostly finish Wf_BoundifyGravatar Jason Gross2017-02-14
|
* Prove wff_bound_opGravatar Jason Gross2017-02-14
|
* Stub for wff_bound_opGravatar Jason Gross2017-02-14
|
* Add Wf_MapInterpCast to wf databaseGravatar Jason Gross2017-02-14
|