- Portland, OR
- https://danilafe.com
- Joined on
2017-09-08
Block a user
3859826293
Define interpretation of the sign lattice
be50c76cb1
Add more higher-order primitives
112a5087ef
Tentative start on proving correctness
ccb7abc501
Remove unused code from Utils
91b5d108f6
Simplify proofs about 'loop' using concatenation lemma
c574ca9c56
Prove that graphs build by buildCfg are sufficient
bbfba34e05
Prove another (simple) case
aec15573fc
Add properties of end-to-end traces on loops
b4d395767d
Simplify operations used for constructing graphs
07550bc214
Prove 'sufficiency' for if-else.
9366ec4a97
Allow promoting end-to-end traces too
0fb884eb07
Use implicit arguments for more things
6b44ac1feb
Make graph arguments implicit where possible
69a4e8eb5c
Add some helpers and rewrite code
4fee16413a
Define end-to-end path concatenation and prove one more case
316e56f2bc
Dip toes into creating end-to-end traces
ab40a27e78
Formulate correctness of buildCfg using end-to-end traces
f555947184
Promote traces through loop
f2b8084a9c
Delete code that won't be used for this approach
c00c8e3e85
Use different graph operations to implement construction
b134c143ca
Start working on proving 'sufficiency'
e218d1b7a3
Add formalization of 'traces through graph'
6e3f06ca5d
Add a new 'properties' module
54b11d21b0
Start working on proving facts about graph construction
f3e0d5f2e3
Use 'data' instead of aliases to prove reasoning properties
2f91ca113e
Make 'MonotonicPredicate' into another typeclass
7571cb7451
Extract 'monotonic state' into its own module
fc27b045d3
Remove nested module from Graphs
7ed7f20227
Add missing edge
163108b9b3
Add precedence to some language constructs
8dc5c40eae
Get everything compiling
44f04e4020
Get forward analysis working again
4fe0d147fa
Adjust 'Program' to have a graph and basic blocks
ba1c9b3ec8
Remove sketch if proof since the proof is done
b6e357787f
Add proof about 'both' and pairing
3e2719d45f
Turn old proof into a hole to clean up later.
78252b6c9e
Add proof of node preservation for adding edges.
4f14a7b765
Successfully prove that monotonic updates preserve existing indices
bc5b4b7d9e
Explicitly write metas for missing functions
520b2b514c
Clear up vector reindexing
f7ac22257e
Beat head against the vector-cast wall.
b72ad070ba
Try using index-based comparisons
b505063771
Start working on proofs of Graph-related things
844c99336a
Intermediate commit: add while loops and start trying to formalize them.
5d56a7ce2d
Fix comments in Forward.agda
2e096bd64e
Extract common parts of forward analyses into Forward.agda
1a7b2a1736
Adjust behavior of eval to not require constant 'k in vars' threading