dz333 / secverilog

4 stars 0 forks source link

Check array on unassigned path checks #16

Closed dz333 closed 1 year ago

dz333 commented 1 year ago

This is the same as #15 except for arrays.

For any arrays with sequential type and dependent labels,

For each index, i in the bounds of the array, we must generate a check similar to #15.

For example, assume all of the assignments to array arr are: [ arr[x] -> {a}, arr[y] -> {b} ]

Then we must prove: forall i in {0...len-1}. if !((i == x && a) or (i == y && b)) then L(arr[i]) flows to L(next arr[i])

We can statically generate 1 check for each possible i (This will probably help out z3 rather than adding another forall).

dz333 commented 1 year ago

Completed!