Adds a forall expression of type (a->bool)->(b->bool)->dict[a,b]->bool.
forall p f m has the following semantics:
forall (k,v) in m. p k => f v
There might be other similar primitives that are useful.
Implemented for simulator, but I didn't do something about the SMT, perhaps a warning that it won't work with SMT should be inserted.
Also refactored some bad code in compiled simulation.
Adds a forall expression of type
(a->bool)->(b->bool)->dict[a,b]->bool
.forall p f m
has the following semantics:forall (k,v) in m. p k => f v
There might be other similar primitives that are useful. Implemented for simulator, but I didn't do something about the SMT, perhaps a warning that it won't work with SMT should be inserted.
Also refactored some bad code in compiled simulation.