contents · 2013. 1. 20. · contents 1 preface 7 2 introduction to formal veri cation 9 ! "# $ %...

190

Upload: others

Post on 10-Feb-2021

0 views

Category:

Documents


0 download

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�