Simplify the syntax of Solvent properties as follows:
- Always omit the
st. prefix
- Replace
app_tx_st with <tx>
- Replace the logical operator
not with ! (see related issue on Solidity syntax)
- Allow omitting
Forall xa when xa does not occur in the formula
For example, consider the following property in the current Solvent syntax:
Forall xa [
not target_reached && st.block.number > st.end_donate
-> Exists tx [1, st.owner]
[ app_tx_st . balance [st.ower] >= st.balance [st.owner] + st.donors[st.owner] ] ]
After applying the 4 simplifications above, this is rewritten as follows:
!target_reached && block.number > end_donate
-> Exists tx [1, owner]
<tx> balance[ower] >= balance[owner] + donors[owner]
Simplify the syntax of Solvent properties as follows:
st.prefixapp_tx_stwith<tx>notwith!(see related issue on Solidity syntax)Forall xawhenxadoes not occur in the formulaFor example, consider the following property in the current Solvent syntax:
After applying the 4 simplifications above, this is rewritten as follows: