contents · 2013. 1. 20. · contents 1 preface 7 2 introduction to formal veri cation 9 ! "# $ %...
TRANSCRIPT
-
����������������������������� ����������! "��#%$�&����(')�+*-,
.0/21�35476985:�;8@?�/21BA�CD85:EA�4GFIHJ4GC7?#K�AB8@1MLN35;
-
�
-
Contents
1 Preface 7
2 Introduction to Formal Verification 9�����������
���������������������������������������������� ��������������������� ���������!�"
�#���$��� %�&$�'�(�)+*(�,-��.���/��������������� ��������������������� ���������!�0��#���$� � 12�3�4���5� ����������������������� ��������������������� ���������!� ��#���$� 6 7980:�Waf���'�������t����������� ��������������������� ���������!��u
3 Gates and Basic Circuits 216����vMOG$�h��J&@*xw�&J�����y� ����������������������� ��������������������� ��������� ���6����$��� ��b�G.G0�������X&z%W&E���5������������� ��������������������� ��������� ���6����$� � ql�4���3r>&J����G0�sG$SCw�&J�����y��������� ��������������������� ��������� � �6����$� 6 ����;h��*�G$L�������&�MO�3���4&@��[N��������� ��������������������� ��������� �$u6����$� B Z#G$,-���WG$�>�'�(T��4�&J���(G$�>�X��������� ��������������������� ���������{B �
6�� � �WG$,z�����>&J���(G$�>&E*A��������������|������������� ��������������������� ���������{Bh66�� �#��� }c�4L���������.��&J���(G$�5��������������� ��������������������� ���������{Bh66�� �#� � )fI�&@,XL�*(�0~fUZ.��,XL�*(��s��*�����L>*��I��4������������������ ���������{B0B6�� �#� 6 )fI�&@,XL�*(�0~fU�WG$,XL>*(�4��� U�T�T��4���������������������� ���������{B.o6�� �#� B ����;h��*�G$L�������&�e+��G.GES������������ ��������������������� ���������g$6
4 Clocked Sequential Circuits 55B�����}c�4L���������.�������ac��,-�������������������� ��������������������� ���������g0gB����$��� dc[=LYGE��b>�����(�m������������������� ��������������������� ���������g0g
6
-
B ��������������
B����0� � ��*(G.�FsUc�A�\���4&$4���(G0�i��� ��������������������� ����������������� ghjB����0� 6 w ������4&@*Yac��,-��}c�4L���������.��&J���(G$� ������������� ����������������� ghj
B�� � ^*���L��Y*(G$L>� ��������������������� ��������������������� ����������������� g=oB�� ����� %W&E���(�^*���L��^*�G$L>�m����� ��������������������� ����������������� g=o
B�� 6 Z#�k=����.���D&@*x�������������� ����������� ��������������������� ����������������� j$BB�� 6���� �WG$���4��
���>�����Wef�4G.GESC����;h�*(G$L�,-��.�X����������� ����������������� j$BB�� 6�� � U�WG0,XL�*(�4I�^*���L��Y*(G$L ��������������������� ����������������� jhjB�� 6�� 6 UZ.��,XL>*���Z.b��3S(���4� ����� ��������������������� �����������������o��B�� 6�� B UZ#
�4&E,�>*��� ��������� ��������������������� �����������������{u=j
5 Finite State Machines 93g#��� acb>��GE��[nG$S�^����������Z=�4&J��� �&E�b����>��� ����������������� �������������������06g����0��� �_�4r��������(G$�>�`����������� ��������������������� �������������������06g����0� � %�G.G$*(�&E� }c�T��>
������*����\[]� ��������������������� �������������������$B
g#� � �c&@�>G$����J&@*Y7R,XL�*(�,-���.��&J����G0�2��� ��������������������� �������������������hjg�� ����� �_�4r��������(G$�>�`����������� ��������������������� �������������������hjg�� ��� � �WG$���4��
���>������G$Sx��b�� �c&@��G0���(&E*O7R,XL>*���,-��.�4&J���(G$�K�������������s�J"0"
g#� 6 ef�4G@;.�����-�WGE�����4���>������G$Sl�����4
������� ������������������� �����������������s�J" �g�� 6���� )+I�&E,XL�*(�$~Ce+&J���3�\[s��b>���F.�4�m����������������� �����������������s�J" �g�� 6�� � )+I�&E,XL�*(�$~C7R*�*����=&@*YZ#�k=����>�� �_�4���4��GE�i����� �����������������s�J"0j
6 Overview of Microprocessors Verification 113j#���v�����A������.��MY�;h��*(�VGESH�����
����L����(G$� ������������������� �����������������s�h��6j#� � acb>��e+��G0�$�&@,P,P�����zMO��;h��*fNG.T��*]������������������� �����������������s�h�g
j�� ����� %W&E���(�� &J�4&J�\[=LO���&@��T�ef����,P�3����;h��:_LO��4&@���(G$�>�������������������s�h�gj�� ��� � �_����4����������� ��b���&$�b�������Z=��&@���2������������� �����������������s�h�jj�� ��� 6 Z��,n&@�.�����cGES^��b�� 7R���'�'����
���(G$��Z#�4�!��������� �����������������s�h�Joj�� ��� B d_&J��T��c&@����7R�.���4������L����&E�[ ����������� �����������������s��B="
-
����� ��� ���� g
j#� g#� � ql�4���3r>&J����G0�sG$SCs�(4�4GEL���G0�$�&@,P,P������MO�;=�*lNG=T��*y� ���������n��B��j#� g#� 6 ql�4���3r>&J����G0�sG$Sle+bA&E��� MO��;h��*+NG.T���*x����������������� ���������n��B��j#� g#� B }c�&E*^d�&J�4T �V&J��� ql�4����r�&J���(G$��� ��������������������� ���������n��B �
j�� j Y���A&@*x�WG$�>�'�(T���4&@���(G$�>�t����������������� ��������������������� ���������n��B �
7 Other Techniques 145o#���v7?�.����G.T���4���(G$�N��� ����������������������� ��������������������� ���������n��B=go#� � #GE��,n&@*�� � �����z�����4
���3���V&E� .����4���(G$��� ��� ��������������������� ���������n��B=go#� 6 Z.[.�.��b���'� � �����X�����4
������������������������ ��������������������� ���������n��B �o#� B �V�'�����P�����A������.��MYG$�0�(�Q��������������� ��������������������� ���������n�Jgho
o.� B���� UV� : ;h���;.�(� �
-
j ��������������
� � �#� Bi�V:�� � �WU_Z�)CZ afU�� ��������������������� �����������������s�u��� � �#� g �V:��Vq afU��v��������� ��������������������� �����������������s�u��� � �#� j|)�� afUV� ������������� ��������������������� �����������������s�u��� � �#� o )�� 7 Z#a�Z axU�� ������� ��������������������� �����������������s�u��� � �#� u w�)�� afU�������������� ��������������������� �����������������s�u��� � �#� �|7��_� �_�Wa axU�� ������� ��������������������� �����������������s�u �� � �#���" M^7 Z�a 7��_� �_�Wa axU��!��������������������� �����������������s�u �� � �#���0�s:�� �c) }�)+1 }V7 a�) afU��`����������������� �����������������s�u �� � �#��� � }�)+1 }V7 a�) afU�� ����� ��������������������� �����������������s�u �� � �#����6 } ��M^) U Z�Z �_ axU�� ��������������������� �����������������s�u �� � �#���B Z�a_}V7 e afU�� ��������� ��������������������� �����������������s�u �� � �#���g afU��Va axU�� ��������� ��������������������� �����������������s�u06� � �#���j ���_�_7 Z��cd afU�� ����� ��������������������� �����������������s�u06
� � 6 a+&E4���(&@*(� ����������������������� ��������������������� �����������������s�u06� � 6���� a�d_)� ����������������� ��������������������� �����������������s�u06� � 6�� � }�)CeC)lU+a ������������� ��������������������� �����������������s�u06
� � B 7R��S?���������}c��*(������������������ ��������������������� �����������������s�u06� � B����!�V:��� ���_�Wa����������� ��������������������� �����������������s�u$B� � B�� � �V:��� ���_�Wa �-��������� ��������������������� �����������������s�u$B� � B�� 6 �V:��Vq } ��M^) ������� ��������������������� �����������������s�u$B� � B�� Biw�Z�eC)H����������������� ��������������������� �����������������s�u$B� � B�� g|Z�eC)H������������������� ��������������������� �����������������s�u$B� � B�� j|Z�� ������������������� ��������������������� �����������������s�u$B
� � g{�WG0�#;h�4�4����G0��� ������������������� ��������������������� �����������������s�uhg� � g#��� U }V7 a�d �V:��Vq������� ��������������������� �����������������s�uhg� � g#� � � )Cela�d �V:��cq ����� ��������������������� �����������������s�uhg� � g#� 6 x:�}cU_MYM U��_� �V:��cq ������������������� �����������������s�uhg� � g#� B|*(�� �V:��Vq ����������� ��������������������� �����������������s�uhg� � g#� g �#��, �V:��cq ��������� ��������������������� �����������������s�uhg� � g#� j :�� �c) }�)+1 }V7 a�) �V:��cq ��������������� �����������������s�uhj� � g#� o a_:�e � )Cela�d �V:��cq ��������������������� �����������������s�uhj� � g#� u|afU��Va �V:��cq ������� ��������������������� �����������������s�uhj
-
Chapter 1
Preface
�VG �V&ET�&[t��*��4����G0���(�T����0����&E*�
������������-&@���N������Tp��;h���[ �Vb�����0�NGh�\�sG$S���b���, &@�������,XL�*(���^*�G � �Gh�\�z&@�>T ��G$*��(T
��������������O�>��������b���G0*(G$�0�(J&@*+&$T�;$&@����� L>��� �;=�4��[ [h�J&J�G0�-��b���,n&@��F.�4�H�>� ���#�G0,XL�*(�4I��0b����0bnG0�'�W
���4
���3�������Vb��(�bs&J�4�V�>���TX��G ������*(TXF.�4�����*(�G$S+����>�'������;=� ��[#�\���,-�c*���F=� �G0,XL������4�4���7R�N�&J��*�[�� uh"�,-Gh�\��,P��
��G$L��4G.�������GE�4�^bA&ETn&�,n&JI#��,���, �WG$��TPG$S^u����������=��G �p,-Gh�\�
,P�(
��G$L��4G=������G$���c&J�4��6 �z�>�3���_&@�>T ��G0,-���;h��� jEBX�>������cacb��(�V�$�4G �c��b���� �G0,XL�*(�4I#���\[&@��Gh����&L��4GE��*(��, ~^b�G � ��GX��>�'�����_��bA&J� &zT����0����&E*A�����������W�(�VGE�����4��%H[ �G$���4����.������� �c� ���.������Ts��bA&J� ��;h�4��[�
�����������b>&$�_&@� ���.������T���Ts�Y�b>&;.�(G$��� &@��T
��b����=Gh&@*fGESH&L��4G�'�4���(�c��G-��>�'����� ��b>����b>�������l
���4
���3�c�Y�bA&;h���V�I�&E4��*�[Nb�G ������(����.�����T���T^�acb>�P���4&ET������(G$�A&@*C��G0*������(G0� ��G ��b��(��L���G$��*(�, �V&E��~X*(�4�����������*(T ��b��n�������������f*(�4�
�>�V�����'� ��� &@�>T ��S+����T�G.���V�>GE� T�G �Vb>&@� �W�,-�&@����*(�4� ���_GE�����4�V��b���L���G�'��
��Vacb��(���G$*������(G$�s���c������&J���(�'SR&E4��GE��[XS?GE�V��b��4���_���J&E��G0���~
� ���cG0�'���~fL��4G=T���������& �c�4G$���zq MYZ�7H
���4
�����H��,XL>*��(��l��G��'LO����TN&�*(GE�cGESx,-G0����[0�
� �c��&J�4�l��G$�f&J�>*��l��GV�����'�+&c��3�4
�����^�4I.����������;=�*�[ �Vb���z���x�(�O��G=G_�G$,XL>*(�4I����Y�&@�>�����b>�4�4��&J��� ��G=G�,n&@�#[-J&E������
� L��4G����4�V&@��Tn����\�������P&J��� ���4LA&@�4&J��� &E
����;.�����(���V&@�>T-��b��[s&@����GE���Y����r��V��,P,-� �T��D&J���*�[XS(�4G$,Q,������>&@*YG.GELY�4�&J���(G0�^�
��G �*(�,-��
�����Tt&J�YG@;h�0��7?� �4��T������ G0�'���
�Y�&@�>��� &]
���4
�����n�(�nL��4G.T�����T/G0��*�[ �Vb���&@*�* �����'�������h��&J��� LA&E�����TY� 7?��J&@�/�Y�LY���S?G$��,-�T T����������]T���'���0������G ��bA&J�n����0������4�4�X&@� T��(��G@;h�4�P,n&��GE�PSR&@��*3���X�Y�4S?G$���L���G.T���
����� ��b>� �Vb�G$*(� L��4G����4�J�
o
-
u ������� ��������������������
%H���_�G0,XL�*(�4I#���\[P�(�V�\����*�*^&��bA&@*�*������=�cS?GE�_����,z��*(&@���(G$�x�}c����J&J���b>�4�4�x�'�����T-& �G$,XL>*(�4����*�[T����O�4�4��.�H&JL�L���G=&E�b^~O�>GE�l�����'������� GE�����4���>�����+GES
&n
�������������[�����[.�����sb�G ���� �Y��b>&;h�� �Vb>�� �4����&@��� ����L������ &@���z�0��;h��� ������� L���G@;.�����,n&J��b���,n&J���(&E*�*�[XS(�4G$, �����_�'�'����
������� ��b>&J�_��� ����'G@[#������G0���0bNL���G$LO������(������Gn&$�����4��������(�V�G$���4��
��+acb��(��&JL�L��4Gh&E�b-�(�VJ&@*�*��T���� �� ������ �� ������������Y�Z#G0,-�PGESH��b�����������b����(kh�>��� b>&;=��&@*��4�&ET�[����J&E�b��T &nLYG$���.���'�>�b ��b>&J����b���[ &J�4�
�>G ,-GE�4�V�4�����&@���b��$��������b���[-&@�n�O��&JL�L�*��(��T-����������'SD��*�*�[��G �4�&@*OT��������h�^�facb�� �hGh&E*G$Sf��b��(�V�YG.GEF��(�V��GXL��4������.�_G0����GESl��b������,-���b>G=T�������b��,-G0�'�VF#��G �V� �O&@�>TN��G-��b�G �b>G � ����&@�N�Y��&JL�L>*��(�TP��G�L���G@;=� GE�����4���������WGES+&@���>�3���4&@��[-T����h����&@*O
���4
���3�����%���&E�����X�3��T�G.�����>GE� ,n&J������ �Y�b>&;.�(GE�&@*C�G0,XL�*(�4I#���\[! ?��b>&@��(���^��b��-�#��,z�O�� GES
LYG0�����3�>*(� �Y�bA&;=�(G0���4� G$S_&s�����������#"��^�>���G$��*�[ �'�'����4�����&@*C�G0,XL�*(�4I#���\[! ?��b>&@��(���x��b>��#��,�Y�4�VGESl�G0,XLYG$�����.���#" �hS?GE��,n&@*O;h�����r�J&J���(G0�n�(��&�LYG �c�4��SD��*A�����b����(kh�>�$�7R��b>&@L����� � �W� �V��*�*=T�����4�����Y�^S(�4G$,&H��b>��GE�4�4���(&@*ELYG0���.�YG$S.;.�(� � b>G � ��Gc���L��4������.�
��3�4
������� ��[ ,-�J&@����G$SWb����hb��� �9GE�4T��� *(G$�h��S?GE��,���*D&E���^&@��T L��4GELY����������&@��T *���,P�3����GES��b�������T����
����L����(G$����7R� �b>&JL�����6 �W� �V��*�*HT����
�����Y��b�G � ��GN�4�4L��4������.��*(G$�h��J&@*l�=&@����� &E��T �G0,�>���A& �
����G0�>&@*�
����������������Vb���*��V�bA&JL����4�HB����T���;hGE����T���G���b>�_T����
����L����(G$�XGESOb�G � ��G�S?GE��,n&@*�� � �&@�>T-L���G@;=� GE�����4���������WGESl���kh�>��.���(&E*A����������������b>&@L�����VgT����
�����Y���Cr�������� �\�4&J��� ,n&E�b����>����� �Vb���*(�_�bA&JL����4�Vj��(�W&E�sG@;h���;.�(� �/G0�
b>G �/��G�;=�4���3SD[n,P��
��G$L��4G.�������GE�4�����b>&@L����� oz�0��;h���&E�G$���.�W��GPGE��b��4����,XLYGE����&E�.�������b����(kh�>������bA&J� &J�4� LA&J����GESf��b>�
�=�����4&E*�S(�&@,-� �WG$��FnG$SxS?G$��,n&@*O;=�4����r�&J���(G$�^�acb��(�A�YG.GEF &E���'��,-���OG$��r>T���>�� �V����b ,n&@��b���,n&J���(J&@*E*(G$�0�( �@b>&J�4T �V&J�4�� GES�G$���4����"
&@�>T&V��,n&@*�*$���4&@���������V������b>�C�����HG$S�d_:�M �$&c�=�������(f��b���G$����,&@�>
�D&@*=�'��L�LYGE���^S?G$�f��b��WT���;h�*(G$L�,-��.�fGES���b��(�x�OG.G$F��c&E�f�h��;=��z��[Z�w�Z �9acb�G0,-��G0� �&@�>Tn���NLA&@���������*D&J�V7?�����H���f%�G$�>��WG.GE�4T����A&J���(G$�p&@�>T2,n&@���p��T��&E�s&J��� S(��G0,e+��G$S\� �����0*�� UV�.��G$��� � �_�4LO&J�����,-���.�-GES�WG0,XL������4�_Z#���������� �c����;=�4�4�'���\[-GESHs��*D&@�^�U �'LY��
�D&@*+��b>&@��F ��G �WG$,XL�����&J���(G$�>&E*+UV���b��3����
�����4����MY&@�OG$�4&@��GE��[! 9���LA&J������,-��.��GES�WG0,XL������4�HZ#���������$ �c����;h�4�4���3�\[ G$SYs��*D&@�%"x&@�>T�����LO&J�����(
��*D&J�x��G�_GE����fql&$�&@����&@�>T�_GE����H%H� �OG$*�� �
-
Chapter 2
Introduction to FormalVerification
��G �c&ET>&[.���>b>&J�4T �V&J�4� �(� �;=�4��[ �Vb>�4�4�$� 1 &J���b�������LOG.�F.�4� J&@*(
��*(&@��GE�4��� �c&$�'b������P,n& �
�b����������c�G$,XL>�����4�4���HJ&J�4���V&@��T2��G]G$�/&J�4�N������*��-G$� ��b��N��G$L GES��*(��
�'�4G$����NT����h�3�4&@*
��������������7R� ,-G0�'� &$������A�G$���4��
��������_GESl��b>�������3�4
���������(� ��G$��&X,n&��GE�_�(���'�>�$~c��S�& �V&J���b
�.&@����� GE��*(G0������&P*����'��*(� ����,-� LY���T>&�[ �O[hG0� &E� ����,XL>*�[s�4�����4� �����AS?GE� �I�&E,XL�*(���OG$�>��LY���,-G$�.��bx�
Z�G$,-�P&JL�L>*���J&J���(G0���_G$S�bA&J��T��c&@����&J�����>GE� �4����G$� ���������3����;h���A��b>&J� ,-�J&@�����O��S���b���[L���G@;.�(T��W��G$,-���A&E���(CSD����
���(G$�A&@*��3�\[ �J��b����P�4����G$���l&J�4�W��GE�C��G ��,XLYG$���4&@�.���0&E�+�(�f��b��V&$���G$S �V&J���b�����%H����G$��b���_&JL�L>*��(J&J���(G$�>��&J�4� ,-GE�4�
�������(J&@* ~^��S^��b�� ,P�(4�4GEL��4G.������GE�H��� &��V&E��b������
,n&$�b������zb>&@*����_S?G$�z&n����� �O��b>��]T#�4��������� [hG0� &J�4� �c&$�'b������ � �V��*�*l�Y�XT�&@,n&@�=��T �^&@��T��b��(�c�(�c��G$��&E� &$���L��4&J��*(�_�O��b>&;.�(GE�@�1 ���V��*�*xT��(�'�������h���(��bP��b>� &E����GESH&���4GEF.��
���4
�����WS(��G0, &E� �4����G0����G0���WG$�>�$~l��b��
S?G$��,-��W�(�c& L��4GE�>*(�, GESx��*��4����G0���(V����0������4������� �E��b��_*(&@�'����W�(�c& T��������h�XL��4GE�>*���, �f7R���;h���[#T�&[ *���S?�����c�P&E��4L�� ��b>&J����b������h� �h������4GEF=��� �>�������W�XT�G0� � � *���F=���bA&J� ��b������h��>GE��,n&@*�*�[XT�G$��� �cL��4G.T��>���&GE�����4�W�O��b>&;.�(GE�@�acb>�4�4� &J�4� b>&J�4T �V&J�4� &JL�L>*���J&J���(G0��� �Vb����� & �����������sbA&E�-��G �Y� LY�4��S?��4�J~ [=G$�
T����*(&@��������&@� T�Gs��G0,-�4��b������ �>&@�>T ��� ,����'� T�G-���� U�� �I�&E,XL�*(� GESW�'�>�b &@� &JL�L>*����
J&J���(G0�s�(�W��b>� ,P��
��G$L��4G.�������GE�H��� &G$,XL>������J~x��Sf���cL��4G.T������c&��c�4G$����4������*��V�;=�4��[100.000.000.000
���>�\�����>4����G0�����.��b>�� ���V�3��b &X
*(G.�FnS(�4��k=�>����[sG$S50MHz
��[=G$� ����b>��>���� � �V��*�*^������&@� �4���4GE�V�;h���[
33,P���#��������
�GE��,n&@*^;=�4����r�&J���(G$� �(� &P,n&J��b>�,n&J����J&@*Y�����b����(k=������Gs&E���'����� ��b>&J� &P��3�4
����� T�G��G$,-���b������ ��� ��b��n�����0b.� �c&[0� 7D�PT�G.��z�>GE�X�'��,���*D&J���P��b��N
���4
���3�4&@*C�Y��b>&;.��G$� �+�>GE���� �����(��&@*�*lLYG0���'���>*���&$������x����� �3�T��4����;h�����YS(�4G$, ��b>�P�\�����>4�����4��G$Sc��b��n
������������Y��[,-�J&@���VG$S+&,n&J��b>�,n&J���(&@*>L��4G.GES �.��b>&J�_& L��4GELY�4���\[Pb�G0*�T����
MY�4��� ���I�&E,P���>� �VbA&J� �c� �>���Tn��GPT�G���G�~
� a specification�c�-�����T ��b��sT�����4����L�����G0�]GES �Vb>&@���b>�n��3�4
����� ������.����>T��T ��G T�G�� Z#���b &T����
����L����(G$�X,����'�C�Y�����A&@,z�����0�>G$�����$&@��T-;h�4��[zL��4��
�(�����.&@��TP���W,z�>�\�H�>GE�����S?�4�
�
-
�J" ����� � ��� ��� �� ��� � ���������� ��� ��� � �� ������ ������ � ���� ���
notnot
b
a
and and and and
x1x3x4 x2
^���0����� �#���$~lacb��2� ��G �
4,���*�����L�*(�I#��
��Gsb>&J�4T �V&J�4���#�>��� G0��*�[ G$� ��b��SD���>4���(G0���V��� �(� ���.����>T��TN��Gs��,XL>*(�,-��.�J� #G$��4I�&@,XL�*(���#&z�'LO�
��r�J&J���(G$�NGESl&��V&J���b�,n&[X�Y����&JS(���4�_&@��b�G0���c���N�4�&@*A����,-���.���b>&E�W��G���b�G � ��b>�����������D&@*>����,-� L�*����c�I�&$4��*�[nG0��� b�G0�������7?� �=�����4&E* �>�>&@�����&@*+*D&@���h�>&@�=� T����
����L����(G$�>�_&J�4��>GE�����>&E,�>���h��G0��������G$� L���� �
�(�����Y��G �c� �V��*�*+�����,n&J��b���,n&J���(&E*xT����
����L����(G$�>�c��[ ,-�&@�>� G$SC��b>�*D&@���0�A&@�h�GES+*�G0�0�($�
� an implementation�W�z�����T ��b���
���4
���3�J� 1 ��>������ ��G-L���G.T��>�� &nT�����4����L�����G0� GESC�������'�'����
�����4���� ��b��*D&@���h�>&@�=� G$Sl,n&J��b>�,n&J����J&@*Y*(G$�h�($�V1 �z
*D&@��, ��b>&@� �����b &XT����
����L����(G$����V�k=����;$&@*(��.�V���>T��4�V��G$,-� �h�����4�&@*Ab#[=LYGE��b>�����(�H��Gz��b�� �4�&@*x
�����������
� a correctness property�W�s�����T & �'��&J���,-��.���b>&@�X��&[.� �Vb>&@���(��G$������G$���(G$�tG$S �G$���4��
���>������S?GE�n&LA&J�����(
��*D&J�
������������x�\LY�����r�&J���(G$� LA&@���@�nUV�.&@��� ��b��(���V��*�*l�Y�n&s*(G$�0�(zS?GE��,���*D&����Gn&E*�*Y��b��T�����4����L�����G0�s������b���;=�4���3r>&J����G0�NL��4GE��*(��, �V��*�*^�Y� �\�4&J���T�������������b>�*(&E���0�A&@�h� GESf,n&J��b>�,n&J����J&@*A*(G$�0�(0�
12b������W�+bA&;h�f��b>�����f��b�����l�*(�,-���.��� �c�+b>&;=�f��GWL��4G@;h�x��b��+S?G$��,���*D&+�4�4L���������.���������b��-GE�����4���>����� &J���0��,-���.��sZ#���bt&sL��4G.GESV&@� �Y�-G$�>T���
���T ��[ b>&E��T �^���������(��Y�4������l��G �����V&V��b���G$����,L��4G@;h��J�Y1 �V�b�G.G0���������s�Y��&E�����H���lb>&E�f��b��������hb.�x*(G$�h�(��0&*(GE�HG$S���G.G$*(���.&@��Tz�Y��J&@�����W���Cb>&E�H& �c�*�*���\�4&J��*��(��b���T �'�&ET�������G0�z���XS?G$��,n&@*#;=�4����r�&J���(G$�G$Sxb>&@��T��c&J�4�$�7R� ��b>���4���'� GES+��b��(���b>&JL����� � �c���V��*�*f&@�A&@*�[ � � S(��G0, &z��b��GE�4�4���(J&@*ALYG$���.�_GESl;.�(� �
��G$,-��&E�\LY�4����G$S�G$����&JL�L��4Gh&E�bx��7R� ���I=� �bA&JL����4�4��� �W� �V��*�*+L��4������.����b��z����b����(J&@*LO&J���c�Y�b�����TP��b�� �cGE�4T�����bA&J�cS?G$*�*(G ���
2.1 Describing Circuits
�VG � �c�_L���������.����b�� &JL�L��4Gh&E�b �W� ����� ��GPT�����4���3�Y�
������������V&E�c*(G0�0�(&@*>S?G$��,���*D&E��
-
� � �� � �� ����� � ��� ���� � � � �� �0�
MY�4��� �X����s&@� �4I�&@,XL>*��0~���b��2� ��G �
4,���*�����L>*��I��4�@� 7D���X���b>�,n&N�(����]r��0���4� �����0�
: ��� �hG=&@*C�(� ��GN���4&@�>�'*D&J��� ��b��(�����b��,n&n��� &n*(G0�0�(&@*fS?G$��,���*D&���[ ,-�&@�>��GES�&n�'�'���(4��4�4L���������.��&J���(G$�^�
2.1.1 Basic Elements
afG ���L��4������.�x��b��W
���4
���3� � �W�W�>����T��G_�4�4L��4������.�f�����f�A&$�'�(H��*(�,-��.�����f7?�PG0���l�4I�&@,XL�*(���b��(�c,-�&E������G��4�4L���������.�
AND&@��T
NOT�=&J������
afGz���L��4������.��&��O&E���� �*(��,-��.���W,-�J&@���~
� ��GXT��4r��>��&L����T��(&J���VS?G$�_�'�>�b�&��G0,XLYG$�����.��7R� G$���_�I�&@,XL�*(� �W� b>&;=�$~
AND(a, b, out)&@��T
NOT(a, out)�
�VG$���(��H��bA&J�+T��4r�������� &VL��4��T��(J&J���H,-�&@�>�O��G �h��;=�C���C&V�>&E,-��&@�>T���G�T���
*D&J�4�+��b���#��,z�Y�4�cGES+&@���h��,-��.����&@*(G0�����V����bN��b�����c�\[=LY����+acb>�_�#��,�Y��cG$Sf&J���0��,-���.�H�(���b>�l�#��,z�Y�4�xG$S#*����>���Y���.���4�������c���GE�+�4I#���������cS(�4G$,��.��Yacb>�+�\[=LY�HGES&@�z&@���h��,-��.�^T��4LY��>T��YG0�z��G$,-�l�=��>�4�&@*0�b�G0�(����^G$� b>G � ��GV�4�4L���������.�^
���4
���������7R�P�h�����4�&@* �@��b>�W�\[=LO�VG$S^&�*������W���n& �G$,z�����A&J���(G$�A&@*h�����������l���
boolean�#&@��T����
& ���k=����.���D&@*�
���4
����� �$���C���Time −→ boolean
�=&_SD���>4���(G0�zS(�4G$, ����,-�VT�G0,n&@�����Gz�YG.G$*(�&E�s;$&@*�������
� ��G��h��;=��&T��4r����3���(G$�sS?GE�_�����b &�L����T��(&J���$�7R� G$���_�I�&@,XL�*(��� �c��T��4r����$~
AND(a, b, out) = (out = a ∧ b) �#����"
&@�>T
NOT(a, out) = (out = ¬a) �#� � "
�VG$���(�� ��b>���\[=LY� S?GE�4
������~^���s��b>� *D&J������VT��4r��������(G$�����c������S?�4�W��bA&J�a~boolean&@�>T
out~boolean
��: ���W�4�&$��G0������� �(�W��b�� S?G$*�*(G �V������~
�0�¬~boolean −→ boolean
����G �c��T���T����a~boolean
����
=~X × X −→ boolean
�O����� ��b��z�����hb.� bA&@��T �'�(T��bA&E� �\[hLY�boolean
���G
X = boolean�
6��out
~X����G
out~boolean
�B��
NOT~boolean × boolean −→ boolean
�
��GE��,n&@*�*�[N&X�G$,XL>*(�4InL���G�'��
� �V��*�*^�Y� ;h�����r��TN�YGE�'��G$, � ��Lf~ �W� �Y��0��� ;=�4���3SD[.�����;=�4��[ ��,n&@*�*l�G$,XLYG0����.�����Y&@�>T ��b���� �c�X�������b���, ��G�;h�4����SD[ �����h�h�4��G$�>�����O���.����*��c�&@����&J�>*��_��GX;=�4����SD[P��b>���G$,XL>*(�4���
���4
�����J�
���'�A&@*�*�[ �W�VT�G$� � �l;h�����SD[�.&J������0��GE� �c�VT��r����W��b���, �xacb���[bA&�;=����b������H�\�4&@��T>&J��TT��4r��������(G$�N��� &*������&J��[ �.&$��&@*�,-G0�'�V&@*�*Y�>�'�A&@*O�G0,XLOG0�����.����
-
� � ����� � ��� ��� �� ��� � ���������� ��� ��� � �� ������ ������ � ���� ���
2.1.2 Wires�VG � �c�V�����T���G�,-G.T��* �V��������+acb��V����,XL�*(���'���c&[����l��G T��4r��>�_& �V������&E��& ;E&@���D&J�>*��0�7R�N��b���� �V&[���G$,XLYG$�>��.���W&E�s�Y��G$,z�������T-�'��,XL>*�[X��[-��b��
∧GELY�4�&J��GE�@�
7R� G$���V�I�&@,XL�*(���=��b���
���4
���3�V&E�n�Y��T����
�����Y��TN&E�~
NOT(a, c) ∧ NOT(b, d) ∧
AND(a, b, x1) ∧ AND(c, b, x2) ∧
AND(a, d, x3) ∧ AND(c, d, x4)
��� 6�"
Z#G0,-��&$�\LY��
���VG$Sx��b��(�cT�����4����L�����G0�s�b>G$�(�� &J��� ��,XLYGE����&@�.�J~
� ���CLYG0���'����*(����G 'G$���-�G0,XLYG$�����.���f��[X�G0��\����4���(G$�XG$��*�[���S>��b����\[hLY��G$SO;E&@���D&J�>*��� �V������ "��(�P��b>&J�4��Tt�Y�4� �c����� L����T��(&@������ d��4�4����� �Vb>�4�4�s�\[hL>����� ;=���>
*(���P&J�4��h��>�4�&J���TY�
� ��b���,-�J&@������� GES�G$�����4�4L���������.��&J���(G$� �(�~N��S �W� �����A�\���3�������N&@�p&J�������'�&J��[]����GES�;$&@*��������G ;E&@���D&J�>*�����x��b>��]��b��P*(G0�0�(�S?GE��,z��*D& �c�n�*(&E��, ��G ���L��4������.�G$���
������������.�(�W�'����� ��Sl&E��TNG$��*�[P��SfG0����L����c;$&@*������&J��� �h������4&J����T-��[-����L����W;$&@*��>�����&@��TN���.������A&@*A;E&E*��>���V&J�4� ��b���G0����WG$,XL>�����T-��[-�A&E���( G$,XLYG$�>��.����
2.1.3 I/O versus Internal Wires7R� ��b>�PT�����4����L�����G0� �c�Xb>&;h���0��;=��]&J�YG@;h� R��k=�A&J���(G$� ��� 6�" �O��b��4�4���(����G�T��(�'������
���(G$��Y�4� �c����� 7 8h: &@�>T ���.������A&@* �V��������Xacb��(� �(� &PL���G$��*(�, �Y��J&@����� ��b��z�Y�bA&�;.�(GE��GES�&
��3�4
�����WbA&E����G��Y��T�����4�����Y��TNG$��*�[XS(�4G$, ����L������V&@��TNG$���'L>����� &@��T��'��&J�����#"4�1 �XbA&;h������� ��bA&J����b���,-�J&@�������NGESV��k=�>&@���(G$� �#� 6s�(�~��0��;h��� &s�'���>�'�����������(G$� GES
�YG.G$*(�&E�N;$&@*��>���cS?G$�a�b�c�d�x1�x2�x3�x4����b���S?G$��,���*D& �����'��������� ��� T�����4�����O��
& ;E&E*��(T-�O��b>&;.�(GE�WG$SY��b>� �������������=� � �0�f��� ��b�� ;E&E*��>���WG$���V������W&J�4�_�����0b.�c&E�GE�4T���������G��b�� ,-�&@�������GES+�*(�,-���.��&J��[X�G$,XLYG0����.�����+7R�.���4���>&E* �V���4���W;$&@*�����W&J�4� �G$,XL>������TP��[
G$,XLYG$�>��.��� &@��T���b��zG$��*�[N��b������ �c� �>����T ��G-F.�>G ��(����b>&J���'�>�b ;$&@*������ �4I#�(�\�J��Z�G��b�� S?GE��,n&@*Y��G$*������(G$�-��G���b>� L��4GE��*(��, GES+���.���4���>&@* �V���4���c�(�W��GPk=�A&@�.����SD[s�I#���'�����.���D&@*�*�[��b�����V;$&J���(&@��*(����7R� G$���V�I�&@,XL�*(�_��b��(�c,-�J&@���~
∃c, d. NOT(a, c) ∧ NOT(b, d) ∧
AND(a, b, x1) ∧ AND(c, b, x2) ∧
AND(a, d, x3) ∧ AND(c, d, x4)
��� B�"
2.1.4 Black Boxing: ���_T�����4����L�����G0���W&@���Y��G$,-��k=���(�F#*�[n;=�4��[n*(G$������U �V&[-��G��'�4�&J����b���, ��[.,�YG$*����
J&@*�*�[ �V��*�*Yb>�*�Lx�UV�>GE��b>�4�N���J&E��G$�/��Gtb��(T�� T�����4����L����(G0���P�(�n��b>&@���c� �WG0��*(Tp*���F=� ��b>&@��G$,XL�*(�I
��3�4
�������_J&@� �O��T����
�����Y��T ��� ��b>�X��&@,-� �c&[���b����� �G0,XLYG$�����.��� &J���0�Z.���b]& �V�(��b�(�����.���4�4���'���������Y�&@�>���V��� �V��*�*>b���*�Ls���nT���;h��*�G$L���������b��_;h�4����r�&@���(G$�nG$SY;h���[-G$,XL�*(�I
��3�4
�������~ �c� �G0��*(T �Y���0��� ��G ;h�����SD[t��,n&@*�*(�4�P�G0,XLOG0�����.�����l��b>�� �c� �G$��*(Tt;=�4���3SD[�>���h�h��cG0�������.F#��G �V�������bA&J�_�',n&E*�*(��V&J�4���G$���4��
��
-
� � �� � �� ��� � �� ��� � � � �� ��6
acb>�4�4��(� &@�>GE��b��4� �4�&E��G$���O,z�>�b ,-GE�4���b��GE�4�4����J&@* ~ &s
���4
������b>&E��&s�\�����>4�����4����Vb��(�bN,-�J&@���V& �Y�b>&;.�(GE����&@��Ts���_�G$,XL>�������V&�SD����
���(G$���h��b>&J� �c� &E���'��,-����GzF.�>G ���acb>�n�=Gh&@*cGES_S?GE��,n&@*�;=�4����r�&J���(G$� �(���G L��4G@;h�X��b>&J����b>�P�Y�bA&�;.�(GE����,XL�*(�,-���.������b��SD����
���(G$�x� UK;$&@*��(T/T����
����L����(G$�pGESX& �GE���4��4�N
����������n�(�n������b���n��b�� �Y��b>&;.��G$�n� � �0������ �'�'����
�����4���>GE� ��b���SD����
���(G$����� � �$������� �'LO�
��r�J&J���(G$�x��7D� �(�V��b>���&@,-�&E� �G0,XL������4�L���G0�$�&@,P,P������~��c�H&E�zT���;h��*�G$Lz&WL��4G$�0�4&E, b>&;.�����V�����f�������4G$����������Y&@*����J&ET�[ �c������������G$� �'��L�LYG0�������-�����7DSW��b>�������,XL>*(�,-��.�4&J���(G0� ��� �����0b.�_����,n&JF=��_�>GsT����A������������ ��b��T��;=�*(GEL>,-��.�WG$Sl&E�Nb����0b���W*(��;h�*Y��������G0�������>� �Vb>�� �W� �c������� ��b>�, �afG_L��4G=T�����&���*D&E�F��YGJI ���Vb��(�bzb��(T����^��b>�W��,XL>*(�,-��.�4&J���(G0� �Y��b�����T�&VL����T��(&J�����
&E*�* �W� b>&;=�_��GXT�G��(�W��G �c���3����&T��4r����3���(G$�^�l7R� G$���_�I�&@,XL�*(�$~
CIRCUIT(a, b, x1, x2, x3, x4) =
∃c, d. NOT(a, c) ∧ NOT(b, d) ∧
AND(a, b, x1) ∧ AND(c, b, x2) ∧
AND(a, d, x3) ∧ AND(c, d, x4)
�#� g "
2.2 Description Limits
7R����b��(�V���4����G0� �c� �V��*�*f&@�>&@*�[ � � �Vb>&@� &J���_��b>��*���,P�����WG$SfG0��� &JL�L��4Gh&E�bx�acb>� �4�&E��G$�>�XS?GE��*���,P�3���s&J�4��� �cG�~ S?G$��,n&@*�� � &@���(G$�/&@�>T2L�b#[#������� e+b#[#�'�(��n�(�N&
L���G$��*(�, �O�&@�>����
���4
���3����GE�Y�[ ��GN������*D& �����f&@��T G$����,n&J��b>�,n&J����J&@*lT����
����L����(G$���T�G�>GE�J�x1 � ���.����G.T��>��TP�'��,XL�*���r�J&J���(G$�>�lGESYL>b#[#�'�(&E*�*D& ���H��GT�����4���3�Y�c��b��_�Y�b>&;.�(GE�G$S
���4
���3��� ��� ���4��,5GES_,n&@��b���,n&J���(J&@*C�\[=LY����t7?���(�z��,XLYG$���4&@�.� ��G F#��G � �VbA&J� �c�
J&@� T�����4�����Y�z&@�>T �VbA&J���W�X&E����G$��z7R� �;=�4��[ &E�����AS?G$��,n&E*�� � &J���(G$� ��,XL>*��(��_�>GE� ��G,-G.T��*^��G$,-� �Y�bA&�;.�(GE�4�~+&z,-GE�4� �G$,XL>*(�4��� ,-G.T���*O��,XL�*��(���V& ,-G$����G$,XL�*(�I-S?GE��,n&@*�'�'����
�������0�
2.2.1 Interference and Analogical Components}V�&@*OT����h�3�4&@*A
������������W&J�4� &@�A&@*(G$�0�(J&@* ~^&@�sU�� �y�=&J��� �V��*�*>�>GE�W��&JF.�
0&@��T
1&E������L>���
;$&@*��>�����A������������&JF.��� ���������(G$� ;$&@*��>�����O� � �$���G0�.�����#��G0����k=�>&E�.�������(����z)+;=�4��[ �=&J���X&@��cGE��F�G$��*�[ ��� �W��*�*=T��r����T��4&E���h�+G$S.�����OL�b#[#���(&@*0T���,-������(G$�>��~���G.GVb����hb����,XLY��4&J�����4���G$����G.GN*�G � T��(�\�4&@����S(�4G$, &E��GE��b��� �.&J���P&J�4� �4�&$��G0� ��[ �Vb��(�b]&-G$,XLYG$�>��.� T�G.����>GE� �cGE��F-L��4GELY���*�[0�
: ���&JL�L���G=&E�b �c&$���'��,XL�*(�0~ �W�P&E������,-����b>&J�&s
���4
������T�G.��� ��G$� bA&;h�X&@�#[ ��� ����4��S?�4�4��>��X&@,-G$���s�G0,XLYG$�����.�����A&E��T �W�P&E���'��,-����b>&J� T���,-��������G0����G$SH��b���GE�����h���>&@*
�����������_&J����������b�� ���>&J�����&@* ���&@���=�����7R� GE��b��4� �cGE�4T�� �c�&E������,-� ��bA&J� �;=�4��[sG$, �LYG0����.� &@� �G$,P,������(&J��� �V����b GE��b����� GE� �V����b ��b>��I=���4���>&@* �cGE��*�T G$��*�[s��b���G0���0b�����c798h: �V�3�4������&@��T �W��&E���'��,-�c��bA&J�VG$��� RT��(��
�������"l�\[=LO��V&J��� &@�N&$���L��4&J��*(�V,-G.T���*S?G$����b>���G$�.�����#��G$�>�Hk=�>&E�.�������(������b>&J�V,n&JF.��& �4�&@*Y��3�4
����� �cGE��FO�
2.2.2 StabilityU���GE��b���nL��4GELY����\[ �W� L��4�4�����Ty&]
���4
�����n��&J���(�'r����n�(�s�'��&J�>��*����\[h� Z=��&@����*��3�\[ �(�-��b��L���G$LY�4���\[ �'�>�b ��b>&J� ��;h�4��[ G0����L�����;$&@*����XGES�&n�A&E���(zG$,XLYG$�>��.� ��b>&@� ��� LO&J����G$SV&
-
��B ����� � ��� ��� �� ��� � ���������� ��� ��� � �� ������ ������ � ���� ���
nor
nora
b
c
d
^���0���4� ��� ��~lU���4��;E&@���(G$�A&@*�L>b>&E���$�+UV� G$�>���4��;E&@���(G$�A&@*�L>b>&E����(���#���NL����������L�*(���h���>�\�4&@�.��&E����G0�����$�>����T��(��4�4�4���0�UV� �I�&E,XL�*(��GESC&��3�4
�����W�>GE�_��&J���(�'SD[=�����������b &���kh��������,-��.���(��&�����L�����G$Lx��#G$�
�I�&E,XL�*(���#*(G.GEF#�����-&J�Vr��h���4� �#� � � �c��&E� �G$,XL>�����_��b�� S?G0*�*(G �V�����z�'������b���&J�>*(��� �c�4�4������A��
����L����C��GXG$����L����c;$&J���D&J��*(��W&J�4��GE�A�����;$&J����G0�>&@*�L�bA&E�����~
a b c0 d0 c1 d1 c2 d2 c3 d3
0 0 0 1 0 1 0 1 0 1
0 0 1 0 1 0 1 0 1 0
0 1 0 1 0 0 1 0 1 0
0 1 1 0 1 0 1 0 1 0
1 0 0 1 0 1 0 1 0 1
1 0 1 0 0 0 0 1 0 1
1 ��G$�>���4��;h�_��bA&J�~
� ��b����� &@��� � �cGP&E����� �Vb>�4�4� � �WGnGE�>���4��;$&J���(G0�>&@*>L�bA&E����� �W���� �����T��Tn��G����J&E�b�\�4&J����*����\[>~^��b>�[n&J�4�
a = 0�b = 1
�c0 = 0
�d0 = 1
�#&E��Ta = 1
�b = 0
�c0 = 1
�
d0 = 0�
� ��� �����bN&E�������#;$&@*������cG$S c &E��T d �V������c�b>&@���h��� �Vb���*(� ;E&E*��>���cGES a &E��T b &J�4��\�4&J��*(�$�: ���_���L��4������.��&@���(G$�n�����b����(k=����&E����G$�_T����
�����Y��&@� ���>�\�4&J��*(�_�O��b>&;.�(GE�@�W7R����b>�
J&E���PG$SV&����3L �����3L �xG0���T����
����L����(G$� ����b����(k=���XJ&@� �&E����*�[ ���L��4������.������&E�&s�>*(&$�F�YGJI����>������� &E����G$�VL��4G@;h� ��� �cGE��F#�_�GE���4��4��*�[��#�Y��J&@������G$��� &JL�L���G=&E�bN��,XL>*��������b>&@���b��4�4� �(�V�\����G0���X�\�4&J����*����\[0�7R� GE��b��4� �cGE�4T���� �c��&@� T����
�����Y� ������;h���[s*���;h��*^GESlT����&@��*Y
���4
���3��� �Vb��4�4� ��b>�4�4�
&J�4�P�>G����>4���A&J���(G0��� G0� �V�������~-�'��&J�>��*����\[ ,z�>�\�z�O�-���J&E�b��T ��� ��G ,-GE�4�X��bA&@�tG$�>�G$�>���4��;E&@���(G$�A&@*�L>b>&E���$�
2.2.3 Level of Description
.��G0, ��b>�]T��(��
��������G0�yG0��\�4&J����*����\[�� &@���,XLYGE����&@�.�NL��4GELY�4���\[ G$SXG0��� T����
����L����(G$�,-���b�G.Tt&@L�LY�&J�4�~z*(�;=�*(�� 7?S �W�s��>&JLA�'��*(&@���-&�����L ����G$Lt��� &N�>*(&$�F �YGJI��+��G �'��& ��>��*����\[]L���G$��*(�,m&J���(������H�Y��&E�����s�����P�4I.������A&@*V�Y�bA&�;.�(GE�P�(�P�'��&J�>*��0~ �W��bA&;h� &��� �
-
� � �� � �� ��� � �� ��� � � � �� �g
G$,P,n&@�>T �+& �� � � �G$,P,n&@�>T �x&@�>T & ��� � G$,P,n&@�>TY�Nacb��[ �Y�bA&�;=�P�4I�&E
��*�[ �����b�� �V&[-[hG0���I.LO�4�J�
acb��(�^L���G$LY�4���\[��WG$��F�� �W��*�*.S?GE� �c&J�4T �@�>���l��G$�x�O&E�F �c&@��T^~OS(��G0, & �G$,XL>*(�4I
���4
�����T�����4����L����(G0� �E[hG0�P&@�-� �V�����b���G& ����,XL�*(�4�CG$�>����[ ��*D&E�F � �YGJI.������ & �'���LPS?GE� �c&J�4T �$��G&@�>�'�'�&E4����G0� "��E�������=���n�h��>�4�&@*�[=G$�nJ&@���>GE�HT�G���b�������;h������ &E�C��b>� ����L�����G$Ln�4I�&@,XL�*(����&E�b>���#"4�
��*(�J&J��[_��b����x�'b>G ���x&W*���,P���O��G_G0���f&@L�L��4Gh&$�b^~��c�HJ&@���>GE�OL���G@;=�l�GE���4��4�������� �'S(��G0,����*���G$� � �J�Y��&E�������c�W,z�>�\�+,-����l�'��&@����*��3�\[�;.�����*(����xZ#G �0���PG0���H&JL�L���G=&E�b � �c�WJ&@���>GE�L���G@;=����b>&J� &P
���4
���3� �(��LY�4��S?��
���A��b>&J��,-�&@�>�_GE�����4� �V����b�G$��� b#[=LYGE��b������(��������� �c�
J&@��L��4G@;h�_��bA&J� &z
����������V�(�V�GE���4��4�_&J� &��4����&@����T�����4����L�����G0�n*(�;=�* �.S?GE�_�I�&@,XL�*(��&J��.&J��� *(�;=�* ��&@�>T �c��&@�NL���G@;=����b>&J�_&J�A�\���4&E
���(G$�>�W&@��� �G$���4��
�WS(�4G$, G$����*(��;h�*O��Lx�
: ���_&JL�L���G=&E�bP�(� �W��*�*Y����������Tn��GXT����
�����Y�_��3�4
������� �Vb��4�4�_��b�������.���������& G$, �LYG0����.�����c& �>*(&$�Fz�YGJI ���(�W&@�>��G$*������*�[ �����>�$�l7?�N��G0,-�c�&@���=��GESOL>b#[.���(&@*�;$&@*��������#&@��T������G0� �94�������(&@*A���3���>&J���(G$� �h��bA&J� &J�A�\���4&E
���(G$�s�(�c,-�4��
2.2.4 The Homomorphic Property
acb>��b�G0,-G$,-GE��L�b��(WL��4GELY�4���\[-�(�W��b>���>&@,-� �W���h��;h� ��G���b�� &J�>��*����\[X��Gz�4�4L���������.����b����&@,-��
���4
���3��&J��T����O�4�4��.�V*(�;=�*YGESC&J�A�\���4&E
���(G$�n��� &z�G0b��4�4��.� �V&�[h�acb>��b�G0,-G$,-GE��L�b��(�L��4GELY�4���\[t�'��&J��������bA&J���WS?G$�s�;=�4��[ ;$&@*���T/&@�>�'�'�&E4����G0�t*(�;=�* �
�I#���'����&nL��4G@;E&@��*(�X�GE���4��4����,XL�*(��,-��.��&@���(G$� ��b>&@� ����'��,XL�*(������ ��b��-����>���PG$S��O&E�'�(
G$,XLYG$�>��.���C�4��k=�����4��T �h����*�*A��G���b>� *(G �c���'�V*���;h��* �acb>�l*(G �W��\�x*���;h��*hGES#�4�4L���������.��&J���(G$� ���Y��b>�CG$�>���Vb�����l�>GcL�b#[#���(&@*EL���G$��*(�,��Tn����T��4�c��b>� �����>&@*Ab#[=LYGE��b>�����(��~xS?GE���G0,�>���>&J����G0�>&@*>
���4
�����������b��V*(G �c���'�l*���;h��*��(�l�=&J���W*���;h��* �.&E����G.
�D&J�������
1�V����b
true&@�>T
0�V����b
false�0��b>�W�A&E���(
G$,XLYG$�>��.� �V�3��bP*(G$�0�(J&@*=G$LY�4�&J���(G$�>�f&E��T �V�3�4��� �V����bX�YG.G$*(�J&@�;$&@*�������$S?GE�H����k=�����.���D&@*
������������� ��b>��*�G �c���'��*���;h��*C�(� �.&J����*(�;=�* �Y�4I��4L���S?G$� ����L�����GEL �A���L��4������.����T &E� �>*D&E�F�YGJI�����acb��(�_L���G$LY�4���\[��^&@�>T ����� ����;h�4�4����� �c�zbA&;h�X����� ��� ��b��zL��4�;.�(G$�>� �����A���4����G0� �A�(�
�>���SD��*h����L��4&$4���(�^�Y�&@�>��� �c�H&J�4�l�'�����f��b>&J� ���S �W�H&@��L���G@;=�fGE�����4���������AGES�&W
���4
������4�4L���������.���T &@��&������4&@��� *(��;h�*WGES &J�A�\���4&$4���(G0� �O��b�����f��;h���[]&J�>�'�'�&E
���(G$�� D��b>&J��(�����;h���[z���L��4������.�4&J���(G$��GESA��b>����&@,-�V
���4
����� � �V����b-,-G$���W�>*(&$�F � �YGJI���T��G$,XLYG0����.��� "^�(�&E*���G��G$���4��
���0&@�>Tz��;h�4��[z�'LY����(&E*�� � &J���(G$� ?��bA&J�C�(���0��;h���[���L��4������.��&@���(G$� G$S���b��c
���4
������V����bX�I.L�*(G.T���Tz�G0,XLOG0�����.���#"O�(�+�GE���4��4�+��S �h&@�>TG$��*�[��3S �$��b��cG$,XLYG$�>��.�x�I=L>*(G0����G0� �(�
GE�����4� R� � �$�+���C�4���'LY��4���C;.�����*���CG$�X��b�� �G$,XLYG0����.� " �h&E��T���b>���Vb�G0*(���\LY�
�D&@*�� � &J����G0��4���'LY��
���V�G0��T��3���(G$�sG0�N�'��&@����*��3�\[h�U�� ��,XLOG$���4&@�.�V�G$�>���k=����>�� GESf��b>����� L��4GELY�4�����(���W�(�c��b>&J� ��G$� &E�Nb����0b���V*���;h��*xGES
&@�>�'�'�&E4����G0� � �c�V&@�P�����>�'�����������c&@�X��,XL�*(�,-���.��&J���(G$���V����bX��b��c�G$���4���'LYG$��T��������'LO�
���r>&J����G0� ���Vb���*(���hG0�n& *�G �c�4�C*(��;h�*>GES^&J�A�\���4&E
���(G$��� �W�_&@�-�����A�\���3�������c&��'LY����3r>&J����G0� �G$�s& b����0b *(�;h��*V��,XL�*(�,-���.��&J����G0� ���V����b/& *(G �Q*(�;=�*V��,XL�*(��,-��.��&@���(G$���+L��4�����4��;=�����
GE�����4�����������=��S+G$���_�����A�\�����������(G$����T�G��acb>��b�G0,-G$,-GE��L�b��(VL��4GELY����\[ �#b��4�4���4I.L����������TN��� &���G0,-� �Vb>&@�V��b��GE�4�4����J&@* �V&�[ �
�(�l;=�4��[z��,XLYGE����&E�.�x�Y��J&@�����W*(�4�H�>���WG$��FXG$�-T�� �O�4�4��.�l*(�;=�*(�lGESA�4�4L���������.��&J����G0�GESA��b����&@,-����3�4
����� �V����b�G$���V���T�G0�����X&E*�*^��b>��;h�4����r�&@���(G$� �cGE��FA�c7?� �(�c��b>� ���J&E��G$� �Vb#[ �c�&$T�GEL����T-��b��(��&JL�L���G=&E�b �.&@*���b>G$���hbn�����c*���,P����&J���(G$����
-
�Jj ����� � ��� ��� �� ��� � ���������� ��� ��� � �� ������ ������ � ���� ���
2.3 Correctness Arguments7R�-��b��(�H����
���(G$� �W� �4I�&@,P��������G$,-�V�\[hL>�(&@* �c&[���Gz�4I.L��4�����l��b>&J�V&�
���4
�����C�(�W�GE���4��4�J�1 � &E������,-�_��G�bA&�;=��&@����,XL>*(�,-��.�4&J���(G0� �$*(�4����&[
IMPL(in, out)�>&@��T�&��\LY�����r�& �
����G0�NG$S �VbA&J�V��b>��
����������c���c���.�����T���T-��GPT�G �.*���_��&[SPEC(in, out)
�1 � �V��*�*AL��4������.�C�Y��*�G �/��G$,-��&JL�L��4Gh&E�b>���f��G �c���3��� GE�����4���������lL���G$LY�4�����(�����=&@�>T
�c� �V��*�*YT��(��������H��b����3�V,-���������&E��Tn��b������ �A& ����
2.3.1 Equivalenceacb>� �k=����;$&@*(���� &@���h��,-��.�W�(�c;h�4��[n����,XL�*(�$~
∀in, out.IMPL(in, out) ≡ SPEC(in, out) �#� j "
7?���,-�&@�������s�(� k=���3���P�'��,XL>*��0~��3Sin, out
��&J���(�'SD[IMPL
�Y��b>�� ��b��[]&J�4��;E&E*��>�����b>&J�l��b�����3�4
�����+,n&[L��4G=T������0&@�>TP��G ��b��[z,z�>�\�H��&J�����'SD[
SPEC�.� � �$�f���P�'�>�bn& J&E���
��b���
���4
�����W�Y�b>&;=���c�G$���4��
��*�[ �=��Sin, out
T�G�>GE����&J���(�'SD[IMPL
����b����N��b���[s&J�4� ��GE���G$,-���b������ ��b>��
����������c,n&�[-L��4G=T������#��Gz��b��[n,z�>�\�V��G$����&J���(�\SD[P��b����'LY��
��r�J&J���(G0�^�acb��(����z&N;h�4��[ �hG.G.T �c&[ ��G �'LY��
��SD[ �G$���4��
��������~ ���z��&[ ��b��-��3�4
�������O��b>&;h��
�I�&$4��*�[ ���2��b�� �c&[t�����n�'LO�
��r�J&J���(G$�p��&[.��acb��(�P,-�&E������bA&J�-��b�� ���4�sG$S�LOGh��������>*��z�Y�bA&;=�(G$��� D��b��PG$�>�z�'LY����3r>��T �V����b
IMPL"_�(���I�&$4��*�[ ��b��P��&@,-��GESW��b>�P�����G$S
&E��L���&@��*(�V�Y�bA&;=�(G$���� D��b���G$�>���\LY�����r���T �V����bSPEC
"�U�T�;E&E�.��&@�=���VGESf��b��(�WF.���>TNG$Sl&@���h��,-��.��&J�4��GE��;.�(G$���~ �Vb��� �c��;h�����SD[P��b�� &J���0���
,-���.��� �W�N&J���s&J�>��G$*������*�[ �����4����bA&J���b��-��3�4
�������V��*�*W��G$��0��;h�-���>�G$���4��
� &E��� �W�������>�����W� &@����&@*(��G������4�_��b>&J�c��b���
���4
���3�c,n&[P�0��;h��&@*�*ALYG0�����3�>*(�_�G$���4��
�_&@��� �W�����
������&ET�;E&E�.��&@�=���z&@���NGE��;.�(G$�>����G.G�~n���2& *(GE�PGES J&E����� �W� &J�4�-�>GE�X���.���4�4���'���T ����Y�bA&;=�(G$�4&@*CG$,XL>*���������������Y�����zG$��*�[ ���t�G$���4��
���>������GES &@*�*CLYGh��������*(�z�O��b>&;.�(GE�4��� 7?�������,-�z����,XL�*(�4�z��G L��4G@;h�P��b>&J�-&@*�*W�Y�b>&;.�(GE�4�z&J�4�nGE�����4� �+��b>&E�t��G L���G@;=�X��bA&J�P&E*�*
GE�����4�-�Y�bA&;=�(G$���n&@��� L��4G=T�����TY� 7D���(�N&E*���GtT����P���*��-��G �bA&J�4&$4������ � ���c��� ��G0,-�
J&E������h��b>���4I�&E4�V���4�VGESYLYG0�����3�>*(�c�Y�b>&;.�(GE�4���0�����cJ&@�-�Y� ,z�>�bn,-GE�4�_����,XL�*(�c��G�h��;=�&z�'��LY�4�4����cG$SxLYG0�����3�>*(�V�Y�bA&�;.�(GE�4��7R� &@*�,-G0�'�V&@*�*>��b>���*(�,-���.��&J��[P�4I�&@,XL�*(��H���s��b��(�W�YG.GEF�� �W� �V��*�*O�����_��b��(��F#����TNGES
&J���0��,-��.�J�f7?� �WG$��F�� �c�*�*^G0����,n&@*�*O�4I�&@,XL>*�����=�>���V��G$�VG0� �G$,XL>*(�4InG$�>����
2.3.2 Implicationacb>����,XL�*��(&J����G0�>&@*^&@���h��,-��.�V�(� �'��,P��*D&J�V��G-��b��z��k=����;$&@*(��>�� G0����������� ����� ,-�&E��������(�V����,XL>*(�4�@�xacb�� S?G$��, GESf��b���&J���0��,-��.�W���~
∀in, out.IMPL(in, out) ⇒ SPEC(in, out) �#� o�"
7?����,-�J&@�������n��������,XL�*(�$~VS?G$�&@*�*in�out
LA&@���4� ��&J���(�'SD[.�����-��b��IMPL
L����T��(&@�������b��[ bA&�;=����G ��&J���(�\SD[]&@*(��GN��b��
SPECL��4��T��(&J���$� 7R� GE��b��� �WG$��T����+�;=�4��[ LOGh��������*(�
�Y�bA&;=�(G$��GESY��b��
�����������,����'�C�Y��&@�N&E��L���&@��*(�VG$�>�$��=�4G$, &@�>GE��b>�4��LOG0���.��GES^;.�(� ����c� &E� �4I.L��4�����c��b>��,-�&E�������P&E�~C��b>� ���4� G$SfLYGh��������*(���Y��b>&;.��G$��� ?��b>� G$�>��T���>GE����T��[
IMPL"V�(� &-�'���>���4� ?LYG0���'����*�[N��k=�>&@* "_GESl��b>����4��GES�&E��L���&@��*(� �Y�b>&;.�(GE�4� D��b>&J�
�(�SPEC
"�
-
� � ��� � � � ����� � ��� � �� � � �� �Jo
U_T�;$&@�.��&E�h���nGES �'�>�b &@�y&JL�L��4Gh&E�b2&J�4� GE��;.�(G$�>��~ �c� &J�4� �����4�N��b>&@��&
���4
�������&J�����'SD[.������&@�z��,XL>*��(J&J���(G$�A&@*=&@���h��,-��.� �V��*�*�&E*��V&[#�^L���G.T�����W&_GE�����4�l&@��� �W��J�facb��(�F#����TsGESx&J���0��,-��.�����$,-Gh�\�cGESO��b��V����,-����&J�4���'��,XL>*���C��G L��4G@;h�c��b>&@�-��b������W��k=�A&J���(G$�A&@*
G$���.���4��LA&@����������(��&$T�;$&@�.��&E�h��� &@���n*�����zGE��;.�(G$�>��~���S �W�-L��4G@;h�X��b>&J�
IMPL ⊆ SPEC�l��b>�� &E*�*
�Y��b>&;.��G$���Y���IMPL
,����'�^�Y��&$���L��4&J��*(��������^��G G$�>�H&E���'�����l�>�O��b>&J�IMPL
G$�.��&E���>���G$,-�X�>���SD��*H�O��b>&;.�(GE�@�nUV� �4I.�'�4�,-��"��4I�&@,XL>*����(����b��XS?G0*�*(G �V������~�*���zG$���
���4
������Y����b����#��*�*^
���4
����� �#��bA&J�_�(������b>�
���4
�������V����b �>GPG$���'L�����*����>����c:_��;.�(G$�>�'*�[��#��� ��b��(�
J&E���
IMPL�4�4L��4������.���l��b��
∅���4� �=�����
∅ ⊆ SPEC����G �c� T���T��>�����b>&@�VG0���V
���4
�����H�(�
GE�����4���acb>��T��(��&ET�;$&@�.�4&@�h���(�l���X��b>�cSR&E4�H��b>&@���=���X��b��(��&@���h��,-��.� �$�G$���4��
��������f�(�HT��4r��>��T
&$�c��G�;.��G0*D&J���(G$�x�acb>�c��,XL�*��(&J����G0��&J���0��,-��.�+�(�+��b>�V,-G0�'�C������T �h&@��T�L���G$��*(�,-�x�4��.&J��T���������b��V����� �
����r�