|
e0248397b7
|
Prove that predecessors imply edges
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 23:18:51 -07:00 |
|
|
41ada43047
|
Move predecessor code into Graphs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 23:13:49 -07:00 |
|
|
82027ecd04
|
Move predecessor computation into Graphs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 21:26:32 -07:00 |
|
|
734e82ff6d
|
Wrap generated graphs to ensure entry and exit nodes have no extra edges
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-05-09 21:08:32 -07:00 |
|
|
be50c76cb1
|
Add more higher-order primitives
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-30 21:56:34 -07:00 |
|
|
112a5087ef
|
Tentative start on proving correctness
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-30 19:20:02 -07:00 |
|
|
ccb7abc501
|
Remove unused code from Utils
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-30 19:15:38 -07:00 |
|
|
91b5d108f6
|
Simplify proofs about 'loop' using concatenation lemma
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-29 21:28:21 -07:00 |
|
|
c574ca9c56
|
Prove that graphs build by buildCfg are sufficient
That is, if we have a (semantic) trace, we can
find a corresponding path through the CFG.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-29 20:57:43 -07:00 |
|
|
bbfba34e05
|
Prove another (simple) case
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-28 13:37:03 -07:00 |
|
|
aec15573fc
|
Add properties of end-to-end traces on loops
|
2024-04-28 12:53:25 -07:00 |
|
|
b4d395767d
|
Simplify operations used for constructing graphs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-28 12:40:50 -07:00 |
|
|
07550bc214
|
Prove 'sufficiency' for if-else.
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-28 12:10:12 -07:00 |
|
|
9366ec4a97
|
Allow promoting end-to-end traces too
|
2024-04-28 12:00:06 -07:00 |
|
|
0fb884eb07
|
Use implicit arguments for more things
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-28 11:43:49 -07:00 |
|
|
6b44ac1feb
|
Make graph arguments implicit where possible
|
2024-04-28 11:37:08 -07:00 |
|
|
69a4e8eb5c
|
Add some helpers and rewrite code
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 17:43:16 -07:00 |
|
|
4fee16413a
|
Define end-to-end path concatenation and prove one more case
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 17:34:50 -07:00 |
|
|
316e56f2bc
|
Dip toes into creating end-to-end traces
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 15:27:46 -07:00 |
|
|
ab40a27e78
|
Formulate correctness of buildCfg using end-to-end traces
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 14:56:19 -07:00 |
|
|
f555947184
|
Promote traces through loop
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 14:38:07 -07:00 |
|
|
660f6594fd
|
Allow promoting traces through graph composition
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 14:28:00 -07:00 |
|
|
fb32315f58
|
Allow traces to be promoted through graph overlaying
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-27 14:18:16 -07:00 |
|
|
037358308f
|
Fix up Graph construction
|
2024-04-27 13:50:06 -07:00 |
|
|
f2b8084a9c
|
Delete code that won't be used for this approach
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-25 23:13:15 -07:00 |
|
|
c00c8e3e85
|
Use different graph operations to implement construction
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-25 23:10:41 -07:00 |
|
|
b134c143ca
|
Start working on proving 'sufficiency'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-20 21:37:28 -07:00 |
|
|
e218d1b7a3
|
Add formalization of 'traces through graph'
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-20 21:36:58 -07:00 |
|
|
6e3f06ca5d
|
Add a new 'properties' module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-20 20:25:40 -07:00 |
|
|
54b11d21b0
|
Start working on proving facts about graph construction
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-20 19:31:47 -07:00 |
|
|
7571cb7451
|
Extract 'monotonic state' into its own module
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-13 20:46:30 -07:00 |
|
|
fc27b045d3
|
Remove nested module from Graphs
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-13 19:33:58 -07:00 |
|
|
de956cdc6a
|
Split the Language file into modules
Signed-off-by: Danila Fedorin <danila.fedorin@gmail.com>
|
2024-04-13 18:39:38 -07:00 |
|