Skip to content

Syntax of Solvent properties #65

@bitbart

Description

@bitbart

Simplify the syntax of Solvent properties as follows:

  1. Always omit the st. prefix
  2. Replace app_tx_st with <tx>
  3. Replace the logical operator not with ! (see related issue on Solidity syntax)
  4. 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] 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions