• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

README.mdH A D20-Dec-2021388 74

byte_big.pyH A D20-Dec-2021266 2013

byte_equivalence.pyH A D20-Dec-2021580 2316

checked_int_add.pyH A D20-Dec-20211.1 KiB4124

checked_int_div.pyH A D20-Dec-2021795 3720

checked_int_mul_16.pyH A D20-Dec-20211.4 KiB4426

checked_int_sub.pyH A D20-Dec-20211.1 KiB4124

checked_uint_add.pyH A D20-Dec-2021791 3720

checked_uint_mul_16.pyH A D20-Dec-2021873 3820

checked_uint_sub.pyH A D20-Dec-2021776 3720

combine_byte_shl.pyH A D20-Dec-2021482 3120

combine_byte_shr_1.pyH A D20-Dec-2021559 3221

combine_byte_shr_2.pyH A D20-Dec-2021384 2918

combine_div_shl_one_32.pyH A D20-Dec-2021340 2615

combine_mul_shl_one_64.pyH A D20-Dec-2021465 3219

combine_shl_shr_by_constant_64.pyH A D20-Dec-2021810 4631

combine_shr_shl_by_constant_64.pyH A D20-Dec-2021810 4631

eq_sub.pyH A D20-Dec-2021327 2514

exp_neg_one.pyH A D20-Dec-2021412 1812

exp_to_shl.pyH A D20-Dec-2021727 3518

move_and_across_shl_128.pyH A D20-Dec-2021630 3823

move_and_across_shr_128.pyH A D20-Dec-2021630 3823

move_and_inside_or.pyH A D20-Dec-2021682 3520

opcodes.pyH A D20-Dec-20211.4 KiB8260

repeated_and.pyH A D20-Dec-2021698 4126

repeated_or.pyH A D20-Dec-2021675 4126

replace_mul_by_shift.pyH A D20-Dec-2021598 3926

rule.pyH A D20-Dec-2021974 4534

shl_workaround_8.pyH A D20-Dec-2021535 2920

signextend.pyH A D20-Dec-2021737 3827

signextend_and.pyH A D20-Dec-2021538 2821

signextend_equivalence.pyH A D20-Dec-2021567 2619

signextend_shl.pyH A D20-Dec-2021550 2721

signextend_shr.pyH A D20-Dec-2021595 3226

sub_not_zero_x_to_not_x_256.pyH A D20-Dec-2021347 2815

sub_sub.pyH A D20-Dec-2021606 3831

util.pyH A D20-Dec-2021738 2822

README.md

1The Solidity compiler implements several [optimization rules](https://github.com/ethereum/solidity/blob/develop/libevmasm/RuleList.h).
2
3This directory contains an effort to formally prove the correctness of those rules in:
4
5- HOL with [EthIsabelle](https://github.com/ekpyron/eth-isabelle)
6- FOL with SMT solvers using [Integers and BitVectors](http://smtlib.cs.uiowa.edu/theories.shtml)
7