Update SMT types docs

This commit is contained in:
Leonardo Alt 2020-10-28 11:45:54 +00:00
parent 7b26c099b3
commit 7d9c080050

View File

@ -448,19 +448,21 @@ The SMT encoding tries to be as precise as possible, mapping Solidity types
and expressions to their closest `SMT-LIB <http://smtlib.cs.uiowa.edu/>`_ and expressions to their closest `SMT-LIB <http://smtlib.cs.uiowa.edu/>`_
representation, as shown in the table below. representation, as shown in the table below.
+-----------------------+--------------+-----------------------------+ +-----------------------+--------------------------------+-----------------------------+
|Solidity type |SMT sort |Theories (quantifier-free) | |Solidity type |SMT sort |Theories (quantifier-free) |
+=======================+==============+=============================+ +=======================+================================+=============================+
|Boolean |Bool |Bool | |Boolean |Bool |Bool |
+-----------------------+--------------+-----------------------------+ +-----------------------+--------------------------------+-----------------------------+
|intN, uintN, address, |Integer |LIA, NIA | |intN, uintN, address, |Integer |LIA, NIA |
|bytesN, enum | | | |bytesN, enum | | |
+-----------------------+--------------+-----------------------------+ +-----------------------+--------------------------------+-----------------------------+
|array, mapping, bytes, |Array |Arrays | |array, mapping, bytes, |Tuple |Datatypes, Arrays, LIA |
|string | | | |string |(Array elements, Integer length)| |
+-----------------------+--------------+-----------------------------+ +-----------------------+--------------------------------+-----------------------------+
|other types |Integer |LIA | |struct |Tuple |Datatypes |
+-----------------------+--------------+-----------------------------+ +-----------------------+--------------------------------+-----------------------------+
|other types |Integer |LIA |
+-----------------------+--------------------------------+-----------------------------+
Types that are not yet supported are abstracted by a single 256-bit unsigned Types that are not yet supported are abstracted by a single 256-bit unsigned
integer, where their unsupported operations are ignored. integer, where their unsupported operations are ignored.