---
# System prepended metadata

title: v0.1.0 Release Blockers

---

# v0.1.0 Release Blockers

# This list has been replaced by the github issues in milestone [Publish](https://github.com/sspverif/sspverif/milestone/1).

---
---
---

- [x] Wire Checks in Reduction
- [ ] [Induction Start](https://github.com/sspverif/sspverif/issues/69)
- [ ] [Randomness Mapping](https://github.com/sspverif/sspverif/issues/72)
- [ ] [Proper Error Handling](https://github.com/sspverif/sspverif/issues/70)
- [ ] [Return Errors on for loops and multi-instance code](https://github.com/sspverif/sspverif/issues/71)

## Return Error on for loops and multi-instance code
Maybe, for-loops should only generate a warning?

## Induction Start

- create a "starting state" which initializes all of the above values to their default and then check that the invariant holds
- optionally: allow initialization, have defaults for Int, Bool, Maybe, Table (?)
- check that "on the starting state", that the invariant holds and the randomness mapping is satisfiable
- Maybe add optional syntax: initialization block

## Randomness mapping
- check injectivity of the randomness mapping

## Proper Error Handling

Currently, we sometimes panic on normal errors instead of printing a proper error. This is just because building proper errors is a lot of work. Get that work done.

-  If the oracle has multiple returns with different types or only returns in an if-branch and else does not return, we should generate a meaningful error message. (also add Test on this)

## Notes (old)

### Reduction Checks





Notes:
Kinds of checks:
I am going through the code and I am not sure this is new. It seems that the reasonable thing to do here (and I think that this is what we used to do) is to start walking the package graph at the adversary and then at each step:

2. whether the two package instances are equivalent (same pkg, same params).
2. Users also like to use to inconsistent reductions.
1. whether the two package instances are mapped to an assumption package, just finish



Optionally we could check here that the two packages agree on where the cut is; I think so far we planned to do that in the "cross-cut wires" check.




