20

A Core Language for Rewriting

Embed Size (px)

Citation preview

Page 1: A Core Language for Rewriting

� � �

���� ��������� ������������������� ������������� �� �����

� ���� ����� ��� �� �����

����� ����� ������� ������ ��������

������ ������ ������� ������ �������� �� ������� ������� ���

������������ ������ ������� ������� ���� ��� !"""� ���#���� ������

$% !&!"""� '�(� )�����*�������� +�������*�����������

��������

������ � �� � ���� � ������� ��� ���� ���� ������ �� �� � �� ������ �����

��� ��� ������� �� ��� �� � � ��� ��� �������� ����������� ��� ������� ����

� �� ��� ���� �� �� � � � ������� �� ������������� �� � ���� �� ���� ��

�� ����� ��������� � �� � ���� ��� �������� �� ��������� � �� � ����� ���

������ �� ���� ���� �� ���� ��� � ���������� �� ����� ������� ����� �� ���

������� �� � �� ����� �� �� ���������� �� ������� �� �� �� ������ �� ������

������ �� ���� ��� ���� ������������� �� �� �������� ���� ����� �� ��� ��

������� ���������� �������� ���������� ������ ���� ������ ������ �����������

��� ��� ������ ��������� �� ��������

� ����������

���� �������� � � ��� ��������� ����������� ������� ���� � ��� � ���

����� � ���� � � ���� � �� ���� ������ � � �� � ������� ���� ���������

� ������ �� ��������� ���������� � � ��� ������� � ���� ������� � �������

��� ����� � ��� ��� �������� ��� �� ������� �� ��� ���� ��� ������

������� � � � ��� �� � �������� ������ ��� ���� !���� "#$ �%��&��

'()*(+) �,�� -���� �.�� /-'0 ���� 1���� �2�3� '��� �� ����� ��� ���

���������� ���� ��� �� �� ������ ������� ���� ��� ����� �� ��� ����������

��������� � ����� � ��� ����� ���� ������ ��� ������ �����������

�� �� ���� � ���� �� ��4�� �5���� � ���� ��� ������� �������

6� ��� ����� �� ������ (���� ( ��� ���� ���� �� � � � �� ������ � �

����������� � ���� ������� � �������� ������� (���� ( � � ���������

� ������� ���������� ��� ��� ��������� � �������� ������ (���� (�

����� ����� � � � � �������������� �7������� �� ������� (���� (�

� ���� ���� �� ������ �� �� ���� �� �� �� ��� ���� �� �� � ������ �� � �������

����� !�"!�!##�� �� �� �� $����� ��� �� �������� �� � %��� ��&!�'#"" "(

����� ������� � ������� ������� �� ��

Page 2: A Core Language for Rewriting

������ ��� �������

� !

����"�����

� !

������

������ �

��� ������

������ �

����� # � �� ��

�� �

� ����� ���

�� �

$��� %� & ������ � �� ������������� �� � �� ����� ������� � ! ����� ������

��

��� ����� � � � �������������� (���� (����� ���� ����� �� ����� ���

��� ����� ��� ����� � � � ������� ��� ������ ����� ��� ���� �

���7���� � �5��� ��� ���� ������ � ������� ��� �������� � ������ ���

��� ���� ������� � �������� ������� 6����������� � � � ������ � ���

� ��� ��� (���� ( ��4� �� ��� � �5�������� ���� ����������� �������� �

������� � � ��� ��� ������� � �����

)���� � � � ��� ������� ������������ � �� ������������ � � � ��������

������ ��� (���� (� ' ������� ���� ��� �� ��������� � ��� (��

��� ( �5���� �� ��� ������ (���� ( � ������ ��� ��� � � 8 �� ���

���� ����� �� ���� � ���� ��� ���� � ��� ������ ��������� �� 6� ��2�

��� ���� ��� � ��� � ����� � � ������ � � ��� ��������� � � ���������

�������� ���� ��� ������� ������� �� �� ��� �����9��� �� 6� ��� ���

��� �� ��������� ��� ���� ��� � �������� ��� ��� ��� � � � ������ ���

� ����� ��� ���� �������� ������ ���� ������ � ��������� ��������

6� ��� ��5� ���� � �� ����� (���� (� 6� (���� � : �� ��������� �

��� ����� � � � ����� ��� ���� ������� ���� ���� ; �� � ����� � ��� ��

������ � �������� � ������� 6� (���� � 2 �� �5���� ��� ����� ���� ������

�5���� � �������� ������� � ����� �� ������� � ����� �� ������� ����

��� ����������� �������� � �������� <� ���� ������� � �4 �� (���� � ��

� � ���� �

6� ��� ���� � �� ����� (���� (� � ��������� � ����� � ���� � �� � � ��

������ � � ��������� /5���� � �� ��� ������ ��� � �������������� ��

7������� �� ���� �� ������ �������� �������� ���� ����� ����� ����� �

� ����� ��� ������ �������� �� ��� ���� � � ��� � �� ������� � �4

� �������� ������� ��:��2��

Page 3: A Core Language for Rewriting

������ ��� �������

���� � �

�� �

���� ��

����� ����� �

���� �

����� ����� �

���� �

������ �

���� ��

������ �

������ �� ��

����� ���

���������� ���

������ �

���������� �

������ �� ��

����� �

���������� �

������ ��

����������� ��

������ ��

����������� ��

������ � �

����� �

����������� �

������ ��

������������ ��

������ � �

����� ��

������������ ��

������ � �

����� �

������������ �

������������������ ��

��������� ��

������������������ �

��������� �

���� %

'�� ������ �������� �� ������ ���

��� ������� � � � ���� �� ��������

(���� (������ � �������������� �7������� ���� ����� ���� �� ���

���� �������� ' �� ��� � ������ � ������ ���� � � � !� � ��3� ������

���� ��� ���� �5������ ���� ��� ������ ������� � ���� �������� ��������

<� ����� ���� �� �� �� �� � ��� !�� ��3

���= �� �� ���� � ������ � � �� <�

����� ���� � �� � � ��� !�� �3

���= �� �� ���� � ���� � � �� 6� ����� � �

���� !�� �3 ��� �� �� ���� � � �������� � �� >��������� � ���� ��

� � ������������ � ������� ��

'� ��� �� ��� ��� ������� �� � � �� � � ���� ����� ���� ���� �

��� ���� � � ������ ���� � � ���� ���� �� ������ ���� �� � � �5����� �� �� �

���� �� ?� ��� ��� � � �� �� �� � �� ��� �� ��� ���� ��� � �� ���

����� �@ ���� !�3� ������� !Æ3� ����� � !�3� ���� �7������� � �� ��� �

!=3� � �������������� �� ��� !*3� ������������ � ���� �� ��� ! *3 ��� ������ �

!� ! 33� ��� ������ ��� ������� � ���� ����� � ��� ������ �� �� �� ��

<� ���A� ����� � ��� ����� �� ��� �� � �� ��� � ����� ������

���� �� �B����� ��� ����� ��� �� ��� �� ��� Æ ���� � ��� ����� ��� �� �

��� ����!�3 ���� �� � ���� ��� ������ �� � ������� �� ������ � ��� ������

����� ����� ��� ��� ����C������� ����� � � � ��������� ��� ��� �� �� �

� � ������ � ����!�3� �� ������ !���� ��� �������� ����� ����� �3 ����

� ���� ��� ���� �� � ������� ��� ���� �� ������ �� �� = �� � �� ��� ��

��� ������ �� ���� �� ���� ������� ������ �� � ��� ����� � ��� 6� ���� ��

������ �� � �� ����� ��� ������� � � � ��� � �� * �� �� � �� � ��

:

Page 4: A Core Language for Rewriting

������ ��� �������

��� ��� �� ����� ���� ��� �� �� ����������� ������� 6� �� ��� ��������

������ �� ��� � �� ��� ��� ��� � � � � �� ��� � �� * �� �� �

�� � �� ��� ��� �� ���� �� ���� ���� �� ���� � ����� �� ��� �� �� ����� ���

����� �� ����� � ��!�3 � � ���� �5�� � ��� ����� � ���� ����� ��������

�� ���� '� ��� ���� � � ��� ����� �� � �� ��� �� � � ��� �� ��� ��!�3

� ���� �� � � �������� ���� � ��� �� ��� ��!�3�

����� ��� � � � ��������

' �� ��� � � ��� � � � �� � � ��� ���� �� ��

�� � ��� ��

�� � ������

� D �� � � �� � � � ��� 6� ������� �� ��� ��� � � ������������� ) �

�5������ � ����� ��� �� ��� !��*��3 =��� 6� ������ �

���� �

����� �

��� �� �

� ������

��� ��� ����� �

���� ���� �� �

��������������� �

������ �

��������������� �� 6� ���� � ���

�������� � ��� ���� �� ����� �� ��� �� ��� ����� ��� �� ��� ���� ������

� ����� ��� � � � � � �� � � ���� �� ���� "��� ��� ���� ����� �� ��������

��� ���� ����� ��� ����� � �� ��� ������ ��� �� ��� ���� �� �� ��� ���

�������������

����� ��� �������� � ��� ��� � �� ��� � � ��

��� <� �� �� � ������� � � �������� � E � � �� ��� ���� �� �� ���

���� E � ��

��� ��� ��

��� ������ � D � � � �� � � � ��� !���� E � ��

���

���� ���� E � � �������� � � � ��

�� ��3 -�� E � � �������� � � � � �� ���

���� �� �� ���� '��� ���� � � ��� � �������� � � E ��� �� ����� � ���

(��� � E � ��

��� ��� ��

���� ���� ����� �5�� �� E���� ���� E

�� �

����

0 � �� � � � � ��� � � �� ��� ��� � E ���� � D �� !0 �� ���� �

������ � ��� � � � � ������� �� ����3

� '��� � �� � ��� � ��� Æ ����� ��� �� �������� �� ������ �� E D E����

����� � D ��

� (�7������� � �� ��� � !� � �� = ��3 '�� �������� � � � �� = �� ��� ����

��� � ��

E DE� � �

����� �

� � � �

���������� �

��� E�D� �

����� �

� � � �

���������� �

#� ������� � !� � E�3 �� ���� ��D �

�� ���� �� � ����� ��� � �� ��� ���

!�3 ��D � D �� ���� �

�D �

�D � D � D �= ! 3 �

�D �

�� ����

E DE� � �

����� �

�E� � �

� ����� �

���������� �

��� E�D� �

����� �

�� �

� ����� �

���������� �

#� ������� � !� � E�3� �� ���� � D ��

� +����������� �� ��� !� � �� * ��3 '�� �������� � � � �� * �� ��� ����

��� � ��

E DE� � �

����� �

� � � �

������������ �

��� E�D� �

����� �

� � � �

������������ �

2

Page 5: A Core Language for Rewriting

������ ��� �������

#� ������� � !� � E�3� �� ���� �� D �

�� ���� �� � ����� ��� � �� ��� ���

!�3 � D �� D �

� ��� ����� � D �� D �

� D �= ! 3 �� D �� ����

E DE� � �

����� � E� � ������ �

������������ �

��� E� D� �

����� � � ������ �

������������ �

#� ������� � !� � E�3� �� ���� � D ��

� F����� � !� � ��!��33 <� ����

E DE� � �

����������������� �

��������� �

��� E� D� �

����������������� �

��������� �

� ������� �� �� ���� � D ��

� ��� ��� � � ����� � ��� ��� ��� ������� �

'��� �� �� ��� ���� �� �� ��� ��� ������������� ��� � � � � ������

���� � �� ��� ���� �� ��� � � � ������������� �� �� ��� �� ��� ��

��� ��������� !���� ������ � ���� ����3 �� � � ��� ���� �� ������ �

� ������

������ �� ��� �

����� �� ������ �

����� �� ' �� �� * �� � ��� ��� �� �� ��� ��

��� ��� ���� ' ���� �� ��� � � ��� ��� �� ��� �� �� ��� �� �����

��� ���� ��� ��� ����

����� ��� ��������� �������� �� ��� � � ��

��� ��� �� ����� � �� ��� � �5������ ��� �� � � ��� ����� � �����

� ����� ��� � �� ��� ���@

� 8� ��� !� � �� * ��3 ����� ��� ����� � � �� ��� � � E� <� ������ ���

��� ���� ��� ������� (��� � E �� ��� � ��

E DE� � �

����� ��

����������� ��

����� ��� ��� � �� ��� ����� ��� � � ����� � � E�@

E� D�

����� ���

����������� ���

E� D�

����� ���

����������� ���

E� D�

����� � ������ �

����������� �

6� ��� ��� ���� � ������� � �� D �

��� 6� ��� �� �� ���� � ��� �������

�� ���� ������ �� ��� ���� �

�� D �� ����� � � � ��������� �� ����� ��� ���

���� � ����� )������� �� ��� ����� ���� � ������� � �� D �� ����� ���� � �

� ��������� �� �

����� ��� ���

8 �� � �� ��� ������� ��� � ����� � ���� � ������� �� ' ������� �

!��� � ��3 D � ���� ���� � ��� ����� �� ��� ����� � � '� ��������� �

!��� � ��3 � � � �� ��� ��� �� ��� ���������� � ���� @D �� �� @D

��� � ��� �� � � ��� ������� �� ?� ��� ������� � ��� � � �������� ���

Page 6: A Core Language for Rewriting

������ ��� �������

� � ������ ����� ����� �� � � � � � �� � ��� � �� ��� ����� � � �������

� � �� ��� ����� �� /5����� ������� � ���@

���!�3 D � * �

������!�3 D ��!���!� = �33

��� ����

>� � ��� � ��� �� ���� � ������� � ����� ���� ��� � ����� ���� �����

� ���� ���� �� 6� ���� �������� ��� �� ��� ����� ����� � �� ��� ������

���� �� ����� ���� ���� � � ����� ����5 ����� )� � � � � �� ����

�� ���� � ����� '� ��� ���� � ��� ����� ����� � � ���� ���� �����

� ��� � � � � ���� ��� ���� ��� ���� � � �� �����

' ���� ���� ���� � ������ � ����� �� � � �� ��������� � �!��� � ��3

� � � ������ � � �� � � �� ����� <� ��� �� ��� �� � ��� ����� ��

� � ��� �� � ���� ���� ����� �� � �! 3 ��� ��� �� � � ��� ����

!���� ���� �� ����� ��3 � � � ���� ��� � ����� � ���� � ��������

) � ��������� � ��������� �� �� ���� � ����� ��� ������� ����� ����� �

������� G � � ������ � ������ ����� � � ����� ������� 8 ����� ���

� ������ � ���� 9�� �������

�� ��� ���!����

��� ����� � �� ���� ����� � �� � �� �� ��� ���� ����� ����� ����� �

���� �� ��� � � � � ����� ��� � � � ���7���� � � ����� �� ������ �����

� ����� �� 6� ���� � ����� ����� ����� � � � ���� � � ���� �� ����

����� � � ������� ��� ���� ��������� ) � ��� ���� � �� ���� ���� ���

�5���� � (���� (����� ��� ����� �@ �!�3 !����3� �!��� � ��3 !� ����

����3� �!�3 ! ��3� �!�3 !���3 ��� ��!�3 ! ��3� ��� ������ ��� ������� �

���� ����� � ��� ������ �� �� �� ��

��� �� ��� �!�3 ������ �� ��� � � ��� ���� ������ ��� ���� �� �������

� � � ������ � ���� ����� �� ���� �� ��� �������� ����� � �!��� � ��3

� � �� ��� ���� ������ � �� ��� � � ������� � ���� ����� � � ���� ����

� ������ � � � 6� ���� �� ������ � �� � ��������� � ����� 6� �� ���� �� �������

� � ���� ���� �� ���� ����� � ������ � �� � ���� � � '� �5����� � ���

�� � � ������� ����� � � ��� �� ��� ���!�3 ���� ������ � �� ��� �

� ���� ������� � � ��� � �������� ���� �� ��� � �� 6� � ������ �@

���!�3 D ��!� � * ��!�� �33

��� ���� ��� � ������� ����� � ��� ����� � � � �������� �� ���

� � � ������ ���� ��������� � � ������ � �� ������ �� ��� ���� ���

� ����� �� � � � ������ ����������� � �� ���� ���� ��� ����� � �� � ���

���

��� �� ��� �!�3 ������ � � ���� ����� � ��� � �� ��� ��� ������

�� � ������ � � ���� ������ � ����� 6� ��� � � ������ ����� � ������ �

,

Page 7: A Core Language for Rewriting

������ ��� �������

����� ���

�! � ��� 3����� �! � ���� 3

����� �

�! � ��� 3����� �

�!��� � ��3����� �

�� � � �

������� ��� ��

����� ���

�!��� � ��3���� ����������� �!���� � �

�3

������� �

�!��� � ��3���� ����������� �

�!��� � �3���� ����������� � �� � �D �

����� ���

�! � ��� 3������ �! � ���� 3

����� � ��

��� �

�!��� � ��3������ �

����� ��� ��

��� ���

�!��� � ��3������ �!���� � �

�3

����� �

�!��� � ��3������ �

���� @ �� � ��� � � !��3 D

���� �� ��

��� ���

�� �� ����� � � � �D �

�!��� � ��3������� �!� !��3� � � !��33

����� � ��

��� �

�!��� � ��3������� �

���� (

'�� ������ �������� �� ������ �������� ��� � � ������� ���� ��"�� � ��

�� ��� � � )� �� � ��� � � )*�+� � � )*�+ ��� % � � � �� ����� ���� ����

�������

���� �� �������� ��� �� ��� ����� ������� ���� ����� ��� � ������������ ��� � � � ����� ���� ������ �������� �� ���� ) � �5������ ���� �� ��� �� ��� ����� � �� ��� � � ���� � �� �� � ����� �� ��� ����!� �� ��3� � � ���� ! �� ���3 ��� � � � ����� � � ���� ��� � � ����!� ����3@

����!�3 D ��!� =�!�33

������!�3 D ��!�!�3 = �3

����!�3 D ��!� =�!�3 = �3

��� �� ��� �!�3 ������ � � ������������������ � �� ������ 6� ���� ������� � � ����� � � ����� � ������� 6� ����������� �� ���� � � � ���������� ���� ���� � ����� � � ����� � ��� ������� /5����� ��������� � � ��� ����� � ��� ��� � �� ��� �������� ����� �@

����!�3 D ��!� *�!�33

����!�3 D ��!�!�3 * �3

���� �� ��� ��� � ���� � ���� � � ����� ��� ��������� � � � �������

%

Page 8: A Core Language for Rewriting

������ ��� �������

��� �� ��� ����!�3 ������ �� � � �� �� ���� �= �� ��� ������� �

����� � �� ��� � � � ��� ����= �� ���� ���� �� ���� � ��� �� � ��������� �

���������� �� �� � ��� ��������� ��� �� ��� ����!�3 �������� ������

�� � �� ��� ���� �� " ���� ���� ���� �� ��� ���� �� � � ��������� � �

� ����

)������� ��!�3 � � �� ��� � �!�3 ��� �!�3 ���� ������ � � �� ���������

6� � ��4� � ����� �� �� � ������ � � �� ���� �� ����� ��� �� � ��4� �

����� �� ������ � ��� ��������� ��� ��B������ �� � � � ���� �� � � � �

���� � ������ � � ��� ��������� ��� ���� �� � ���� ���� �� � ��� ������

������ ������ �@

�����!�3 D ��!��!�3 * �3

<���� ���� ��� � ���� � ���� � � ����� � ������� ����� ��� �

���� � ���� � � � �� � ����� � ������� �� �� ���� ��� ��� ���� �

���� ���� ������ �@

�����!�3 D ��!� * ��!�33

��" #�� #���

"�� � � �� ���������� � (���� (�

� � (���� (

�� ��� �� � �� ���� ��� ��

���� ��� ������� ���� � ��� �� ���� F������ ���� ���� ��� � �� � @ � � ��

����� � � � �� ��� � ��� � ��� ���� ���� ����� ' ������� ���� ������ � ���

�� ��� ����� ����� � � � ���� � ������ � ��� ������ ��� ������� ��

�� �� :�

��� ��

����� ���� �� @ �!�3 D � � �!�3 D �

��� ��

����� �

�� ��� @ �!�3 D �

���� ,

'�� ������ �������� �� ������ ����

��� ��� ���� ����� ���� � ���� � ����� �� � ���� � ��� � ���� �� �� �����

�5�� � � ������ � � ������ ����� �� � ���� ��� ���� � � � ���������

� ��� ��������� ��� � ��� �� � � ��������� � ��� ��������� ��� �� ���

�� �� ���� ���� ���� �� ������� � ����� �� � ���� � ���� ���� � ����� ��

����� � � � ������ � � ��� ���� � � � ��������� � �� F����� ���� � �������

���� !�� ���� � �� (�3 ������ �� ��� ��� � � �����

' ������� ��������� � � ����� � ��� ����� ��� ���� ��� � �� ��� �

����������� �� (���� (�

� � ������ � �� ��� ���� ������ ���� � � ����

� ��� 6� ��� ��5� ���� � �� ���� �5�� �� ��� ��������

H

Page 9: A Core Language for Rewriting

������ ��� �������

� @ ������������� � @ � � �� �� �

�� � � ���!�3

� @ ������������� � @ �

�� �!�3 D �

� @ ������������� �

�� �!�3 �D �

�� @ ���������

������� �� @ �� �� @ �����������

������� �� @ ��

�!��� � ��3 @ ����������

�����

������������ �!��� � ��3 @ ��

�!��� � �3 @ ���������

�����

������������ ��� � �D �

� @ ������������ �!��3 @ �

�� ���!��3 � ���!�3

� @ ������������ �

�� ���!��3 � ���!�3

� @ ���� �� @ � �

� @ � ���� ������ � @ � �

� @ ���� �

� @ � ���� ������ �

� @ ������ �� @ � �

� @ ����������� �� @ !� ���3 � !���3

� @ ������ �

� @ ����������� �

���� -

'�� ������ �������� �� ������ ��.���� ������ ��� ��� ��

��$ %��� �� ��� &� �� �� ����

) � ���� ���� � �� ���� � �� � ����5 ����� � � ������� ���� ���� � ��

���� � � � ���5�� 6���������� ���� ��� ������� �� �� ���� � ���� � �

� � ��� �� ���� � � � ������ �� ��� � ��������� ������������ �� ������

� ��� �� ���5����� ��� � ���� � �������� �� ���� � ������� � ���� �� ��

� ��������� ���� ��� � ��� � �5��� � ���� ������� � �����

' ������� ���� � @ � � � ��� ������ ��� ���� ����� ��� ��������� ��� �

�� ����� � ����� � � ���� � ��� ����� �� �� �� (� �7������ �� ���� �

��� ���� � ����������� ��� ��������� ��� � ���� �� � ����� �� ������

#� ���� ����� ��� ��������� ���� ��� �� � �� ��� ���4 � �� � ��� �

�� ��� ����!�3 = �� �!�3� � ������ ��� ��7���� ���� �� ����� ��� �����

������ � ���� ��� ��� �7������� � �� ��� � � �� �� #����� ���

���������� � ���� � �� ����� ������ � ������ �� � ����� �� � � ���

����� <� ��� �� ��� ���������� � � � ���� � � �� ����� ����� � �

�!�3� <� �5���� ��� ������� � ������ ���� �� � � ������ � ������ ���� ���

������ � � ������ � � ���� � ���� ��� ����� ������ ����� � �� ��� �

����� �� � ���� � ��� �� ����� ����� � ��� � ����� ���� ���� �� ���

�� �5������ ����� ����� � �� ��� ��� � � @ �

��� �� @ � �

� � ����� ��� ��� �

� @ ������ ��� ������ ��� ������� � ��� ����� ����� ����� � ��� ������

�� �� �� 2�

.

Page 10: A Core Language for Rewriting

������ ��� �������

�� @ ������� ��

� @ �� �� @ ��������� ��

�@ ��

�!��� � ��3 @ ������ ����������� �!���� � �

�3 @ ��

�� @ ������� ��� @ �� �� @ ����

����� �

�!��� � ��3 @ ������ ����������� �

�� @ ����� ��� @ �� �� @ ����

��� ��

�@ ��

�!��� � ��3 @ �������� �!���� � �

�3 @ ��

�� @ ����� ��� @ �� �� @ ����

��� �

�!��� � ��3 @ �������� �

���� @ �� � ��� � � !��3 D

�����

���

�� �� @ ������� ��

�@ ��

�� �� �� @ ������� � �

�� D ���� � � �D �

�!��� � ��3 @ ��������� �!� !��3� � � !��33 @ ��

�� @ ���� � �� @ �

��� �

�!��� � ��3 @ �������� �

���� /

'�� ������ �������� �� ������ �� *����"����� �� ��� �� � ��� �� ��� ��� �+�

��� ����� �� ��� � ���� � ��� ������ ��� ������� � ��� � ��A�����

�� ��� ������� � ��� ����� � ���� ����� �������� 6� ��� ��������� � ���

����� ��� ���� �� �� �� � ��� � � ��� � ���� � � �� �@ � ������� �

���� �� ��� �� � ������� � � @ �

��� �� @ � �

� ��� ��� �5����� � ��� ��� ����

� � � �������� � ��� ��� (�� �� �� � � � ����� ������� � �� ��� �5������

��������

"��� � ����� �� � ��� �� ���� � � �� ��� � � ��B����� ����� � ��

� ���� � �� ���� ��� �� ���� ���� ����� �� � ��� ' � �� �� @ � � �����

������� ��� ����� �� � ��� ���� ������ �� ��� � ���� � � �� ��� ��

� ���� �� ����� � � ����� �� �� �� ��� ��� �� � ��������� � �� ���

����� � ���� � ������ � ��� ���� ����� � � (���� � � �� ���� �� ���� �

������ ��� ������ ��� ������ ���� �� �� ������� � ������ �� 4��� ���

����� ����� � � ��� ����� ������ ��� ����� � ��� � ��� � ��� �� �

� ��� � ������� � ���� ��� ��� ����� � � ����� �� � � ��� ����� ���

���� �� �������� ����� ���� ��� �����

0 �� ���� ��� ������� � ��� �� ������� ���� � �������� �������� 6� �

����� �� � ���� � �� ���� ��� �� � ������� �� ���� ����!�3 ������ ���

�� ��� ��������� � � �� � ��� ��� � ��� ��� ����� 1 �� ���� �� � ����� ��

� �� � �� ������� ��� � � ����� � ������ �� � ��� ����� � ��� �5���

��� ���� ���� �� �� ��� � �� ���

�&

Page 11: A Core Language for Rewriting

������ ��� �������

� ��������� ���� ������ � �����

6� ��� ���� � �� ������ ��� ��� ��� � � ����� ��� ���� ������� ����

�� (���� (� <� ��� ����� � ��� ����� � � �� �������� � ������ � �

��� ����� ��� ����� ���� �� �5���� ��� ��� ����� � ������� ���� ����

; �� � ����� ��

�� '����� ���� #���

<��� ��� ��������� � � ������� ��� ������ ����� �� ��� ����� ��� ����

� @ � � � �������� � ��� ������� �

I� D ����!�� �3 @ ����!�3 = �� �!�3

���� ��� ������ ��� � ;��� ���� � ��� ��������� ��� � ��� �� ���� ������

������� �� ���� ��� ���������� � � ��� ��������� ��� �� ��� �5���� � �

�� ����� �� � � �� ���� ��4� ��� ����� �� � � ��� � � ��� � ��� �����

J���� � �� � ������� ���� ��� � �� �� ��� � � � ������ ��� � ���� ����

�� ��� I��� � I���

�� #�� ��� �� ��� (!���� �� �����

0�5� �� ���� � � � ��� ���� �� ��� ��� �� �������� � ������ ����

������ ��� ���� � � ���� ����� �� � �� � ���� � ��� '� �������� � ������

� ��� � �� � �� ����@ !�3 � ������ � � ������� � ���� � ����� ���

!�3 � ������ � � ������� � � ���� !��� ����53 � ����� � ���� � �

6� �������� ���� ��� ����� ��� ���� ��� ���� � ���� � � � ��� ������

����� ��� ���� ��� � ������� � ������������������ �� � ��� ��� ��� � �5�

����� � ��� �� ��� I��* � � �* I��� ����� ������� � ����� �� � ��� ����

��� 6� ���� �� � �� � ��� ���� ������

��� � � ������ �������� � ������ ���������� ������ � ���� � �� �� ��

����� � ����� ��� ������ � � �����9�� � ��� ����� � ������� ����� �

������ �@

������!�3 D ������!��!�*�!�333

��� ����� �5���� � ������ ������ � �� ��� � � � ���������� ������� �

����� � �� �� � ��� ��������� ��� �� �� � �������� ����� � � �� ������

��� � ���� '� �������� � ������ � � � �� � ���� ��� � �� � ���� ������

� ������!I�� * � � �* I��3�

-����� ��� � "#$ �%� ��� '()*(+) �,� �� �� ������ � ������� �

������ � � �������� �� 6����� � ������� � ���������� ������ ������ �

������= � ����5 � ������ � �� � �� � �� �� ��� � ���� � � ����5� ��� �

� �����9�� � ��� � �� ��� ������� �@

�����!�3 D ������!����!�33

��

Page 12: A Core Language for Rewriting

������ ��� �������

��� �� ��� ����!�3 !�� (���� � ��:3 ������ � � � ����5 ������ �� ���

������ ��� ������ ���� �� ���� ��� ������� � ����� � � � ���� ����� ���

�� �� ��� � ���� ���� ��� ������ ��� �������� ���� ��� ����5 � ������

�� ������ � ����5� (������� � � �� ������ � ����5 � �������� ����� �

� �� ��� � ���� ��� � �� ��� �� ��� ����� � ������ ���� ������ ���

������ � ������ �� ���@

���������!�3 D ������!�����!�33

���� ������� � � ������ � ������� � ��� � � ���� ������ ����� ����

���������� ���� ������� � � � ����5 �� ��� � �� ' � �� ������ ������� �

� ������ � ������� � � ��� � �� ���@

������!�3 D ��!�!�3 = ���!� = �33

��� ������ ��� � �����9� ��� � ���� � � ���� ��� ���� ���� � �����

�� 6� ���� ���� ��� ���� ���� ��� ���� � �� � ���� � ��� "�������� ���

������ ������� �� � ������� � � ������� � �����9�� � ���������� �������

��� � �����9��� � ������ ��� �� ��� ������ � ����� �� ��

0 � �� ���� � ���� ������ � ������ ��� �� �������� � ������� 8 ��

���� ���� ��� � ��� �� ��� ������!I�� * � � �* I��3 ���� � �����9�

���� ���� ������ � � �� � ������� ���� ��� � ���

� )��� ���� #���

' � ����� ��� ���� � @ �� � � �� � � � � ������ ���� � ���� �������

� ��� � ��������� � � �� ��� � ����� � �� � ��� ��� � �5����� � ���

�� ���

I�!�3 D ����!�� �� ��� � ��3 @ ����!�3 = ����! I��!�3 = = I��!�33 = �� �!�3

���� ��� ������ ��� ��������� ��� � ����� ��� � ;��� ����� ���� ���

��� � ����� � ��� ������ ���� ��� ��������� ��� � � ������� ��� � ;���

����= �� ����� � � ��� ���� ���� � ���� ��� � �������� ' �� ��� I��!�3

��� �� ��� �������� � � � ����� � ��� 6� � ����������9�� � � �� ��� �

���� � ��� � � �����9� ���� � ���� � ����� ��� � ����� �� '��� ���

�� ��� � �� ����� �� � � �� ���� ��4� ��� ����� �� ��� �� ���������

���� ��������� ��� ��� � ����� � � ��� � ��� �����

�" *� � )��� ���

' ��� � �� � � ����� � � � ��� � � �7������ � �� ����� ) � �5������

��� � �� ��� ���� �� �7������ � ����� � � ����� ������ � � �� ������� ��

��

Page 13: A Core Language for Rewriting

������ ��� �������

� ���� ���@

��� @ �����!�� � �3� ��!�� � �3

��� @ �������!�� �3 D ������ �����!�� ��!�� �33� ��!�� ��!�� �33

��� @ �������!�� �3 D ����� �����!�� ��!�� �33� ��!�� �����!�� �33

6� ��������� � � ������� �7������ � ������ ����������� � ��� ����� �

��� �������� ��������� �� ��� �� � ��� ������� ������ � �� '� ���� 5��

���� � � ��� ������ � � � ��� � � �7������ � ��� � ���� � �� � ��� ��

��� � ��� � ����� �= ; �� � ����� � � ��� � �� �� D ��

���� ������ �� ���

���� �� ��� ��

�������� � ��� ��� � ���� � ���

$ �� � ����� � ��� ����������� � � �� �@ � � ����� � �� � !�� D ��

�3

������ ��� �� ��� ������� �

I��!�3 D �� @ �� �!��3 = � =����!�3 = �� �!���3 = � =����!�3

��� ��������� � � ��� �������� � ������ ��� � �������� ��� ���� ��

��� � ����� �� ��� �� ��� ��� ���� ��� ��������� ��� � ��� � ����� ��

�������� �� ��� � ��� ��� ��� ����� � ��� ����� �� �� ���� �� � � ���

��� � � ��� ��������� ��� � ��� � ����� �� ��� ���� ����� ��� ������

�� ��� ����� ��� ��� ����

' �� � � ����� ��� ������� ���� ��� � �� ��� � � � ����������� �

��� ������

��! ������!I��!�3 * * I��!�333

����� ��� ������ ���� � ��� ���������� ���� � � �������� � � � ����� �

� ��� �������� � ������ ������

� ���������

6� ��� ����� � ���� � �� ���� �������� ��� ������������ � � ��������

���� � ����� ��� ������� ���� ���� ; �� � ����� �� 6� ��� ���� � �� � �����

������ �5���� � � ��� ������

"�� %��� �� )��� ���

$ �� � ����� � ��� ������� �� ���� ���� ��� ��� � ���� � ��� �� ���� �

���� ���� ��� ����� �� �� ��� � ����� � � ��� ��������� ���� ' �������

� ����� � � @D �� ������ ���� ��� � ���� � �� � �� � ��� ����� ����� ���

������� �� 1������ � ����� � ��� � ��� � ��� �� ������������ ����� �

� ����� �� ���� � ��� � �� ���� ��� �� ��� ��������� ���= � ��� ���� ���

����� �� � ������� � ��= � � ��� ������ ��� ����� � � � ������� � ���

��� � ���� � ����� ���

�:

Page 14: A Core Language for Rewriting

������ ��� �������

' ������� � ����� � � � !� @D ��3 ������ � �� ��� I�!�3 ������ �@

I�!�3 D �� �!��3 = � =����!�3

����� ��� ��������� ������ � � ��� � �������� ��� ��������� ��� � ���

� ����� ��

"�� ��� ! )��� ���

J���� ��� ��� ��� � � ����� � � �� �� � ������� ����� � ����� �������

; �� � ����� � ��� ������� ������� � ����� �� ' ������� ; �� � ����� �

� �D �� �������� � �! I�!�33� ����� I�!�3 � ��� �������� � � ��� ; �� � ����� �� D ��� (��� � ������� � ����� � ��� ������� ��� � ���� � �� � �� ����

��� ��B������ (��������� � ������� ������� � ����� � � @ �D �� �������� � �! I�!�33� ����� I�!�3 � ��� �������� � � ��� ������� � ����� � � @D ��� (���

� ������� � ����� � ��� ������� ��� � ���� � �� � �� � � �� ����� ���

������� �� 0 �� ���� ��� ����� �� �� � ��� � � ��� �� ��� ��� � ����� ��������

"� #�� ��� ��

6� ��� ������ � �������� � ������ � ��� ����� � ���� � ���� ��� �������

� ������������������� ����� ��� ���� �� ����� ���� ��� ����� � ������������� ���� ���� ��� ������������ � � ���� � �� � ��� ���� �� ������

� ��� ����� ��� � ��� ��� � � �������� ������ ��� ������� 6� ��� �

� ��� �A���� ��� ����� ��� ���� ��� ���� ���� ��� ����� � � �����9��� �

��� � ��� � ��� � ���� � �� � � ����� � � ��� � �5������� 6� ��� ���

� � ��� �A���� ���� ���� ���� ��� ���� � � � �� ��������� ������ ��) � �5������ � ����� ��� � �� ��� �� � ����@

�� @ �� �� @ �� � �� @ � D �� !� "

+������� � ��� �� ��� ���� ������ �� ��� ��� ��� � ����� � � ���� ��

� ��� ���� � ������ ������ � ��� � ���� � �� ! ��� "� ������������ �����

��� ����� ���� ���� � ��� �� ����

)���� �� � ��� �� ���� +��,���, �� ������ � � ��� ��4����4�� � �������������� ��� � ��4� � ������ ������� 6� ��� ��� � �� ������������ �

� � ����� �� ��� ������ ���� ��� �� ��� ���� ����� ��� �������� � � ��������� � ��� � ����� � ��� ��� ������� �� ��� � ����� � ����� ��� ���� ���

�������� � �������� � � ����� � ����4��� ��� ��; � ���������� ���� ���� ��� � ���� �� ���� ��� ���� � � � ��� ����� ��� ��� � �������� ��

'� ���� ���� � � � � ��� � � �������������� �� ��� ��� ����� ����5��� ��� �� ��� � ���� � ���� �� ���� ��� ���� ���� �� �� � ������� ���� ����= �� ��� � �� � �� ������ � ��� ���� � � ��������� �� ����

��! ������!I��!�3 * � � � * I��!�33

�2

Page 15: A Core Language for Rewriting

������ ��� �������

� ��� ������������ �������� � ������ � � ���� ����� ��� � ��� ���� �

�� �� �� ������ ��� ������ ����� ��� ������ � ������ ��� ��5���� ��

����� � ��� ���� �� � �� ���� ��� �������� � ��� ���� ��� ��� ����

��� ������� � � ��������� � � ������������ ��� ���� �� ����� �� ������

������������ �� ����� � ��� ��4����4��� ��� ���������� � ��� ���� ��� �

���� ��� ������ � � ���� �� �� � ������ � �� � ���5�� ����� �� � ��� �

�� ��� ���� �����

)������� �� ��� 4��� � �������������� �� ��� ���� � ��� ��4����4�� ���

� ����� � ��� �� ��� �� ����� ��� ��� � � ��� � ��� � � � �

� ������ ��� �������� ������ 6� �� ��� �������� � ��� ������ ������

������� � � � ��� �� ��� ��� � �� ��� ��� ����� � � ��� ������������ �

� ��� �� ������ � ����� ��� ���������� � � �������������� �������

��� � ������ ��� � ���� � � ���� �������� � ��7����� ���� � � ���

������ �5������ � ��� ��� �� ��� ��� � (���� � �� ����� � � � ������ �

�� ������� ��� ���� ���� ���� ��� � � ������� � ����� ����� � ����

�������� � ��� ��� � ��� ��������� �� 8 ������ ��� ��������� � ������

������9� ��� ��7�������� � ���� � ����� ��4� K��������� � ��� ��

���� � � � �A���� ��� ����������L� (���� ��� ������ � �� �������� ��

�� ������ ��� ��7�������� � ��� � ��������� � �� �� � ������ �� � �

�� � ��� ��� �� ���� ���� � �� ��������� ����� �� ��� � ����

� ��� ������ � � �� ���� � ������ ��� � ������ � ����� � �������� �

� � ��������� ��������� �� ) � �5������ ��� ����� ���� � ��� ����� � ���

�� � � � � ���� ��� ��� ��������� ��� !���� ���������3� �� ��� � ����� �

��4� ��� ���� ��� ���� ��� ���� ��� ��� ��� ����� � �� ��� � �������

�� (���� (�

"�" ����� #���

'()*(+) �,� �� ���� ����� ���� ���� ����� ��� �� � ���� ���� ������

��� � ���� ����� � ������ ��� �9� � ��������� �� ) � �������� �� �7������

��������� "#!�� �3 ��� � ������ �

"#� @ "#!�� �3� ����

"#� @ "#!�� �3� ����� � �����

<����� ���� �� ������� ���� � ���� �� � � ������ � � ���� ���� � � ��

����� � �� ��� �������� ��� ������� ���� � �� �5����� � � ���� ���� � �

� � ��4� ��� �� �� � ��� � �� ��� ���� ���� � � � � ��������

+������ ���� ��� � ����������� �� �� ����� � �������� ��� ����

�� �� �7����� � ������ ���� ��� � �� ��� ������� ���� ��� � �� ���

�������� � ������ � ���� ������ �

��! ������!!I��!�3 * * I��!�33 * ! I��!�3 * * I�!�333

����� ��� ���� ������ � � ��� ���� � ������� ���� � ��� �� �� �� ��� ���

������ ���� �����

��

Page 16: A Core Language for Rewriting

������ ��� �������

+������ ���� ��� � �������� � ���4 ��� �� ��� ���� � ��� ���� ��

��� ��������� �� � ��4� ��� �� ��� ������� �� ��� ���� ���� � ����

���� ��� ������ ���� ����� � ��� ����� ��� � ��� �� �B��� ��� ��� ��� �

�������� � ����� ��� ���� ������ � �������

"�$ -���� ! (!���� �� ���� �

+������ ���� �� ���� �� ����������� ���� ������ � ��������� <� ��� ��

���� ��� �������� � �������

6����� � �������� � ������ � � � ���� � �4 ����� �� � �

���� ��� ����� ���� ) � �������� �� ����������� ����� � ��� ���� �

�������� �� ����� �������� � ��� ��� �� � ��� � ����� �� ��� ��� �

���� ��� � ��� �� ����� � ������ ��� �

�������!�3 D ������!����!�33

���� � 4 ���������� � � � ����5 ������ �� ��� � �� ' � �� ������ ���� �

� ��� ������ � ��� ��������� ����� � ������ ������ �

�����������!�3 D ������!�����!�33

���� � 4 ���������� � � ��� ����� � ������ �� ����������

��� ����� � ������� ��� � � � ������ � � � ��� � ������ � � ����

��������� � � � ����� � ��� ������ ����� �� ��� ����� ������� !����� ���

������� � ��� � � �����9��3� �5���� � � � ��� ����� �� ) � ��������

� ����� � ������ ���� � � ����� ��� � ������ �$!�� �� �3 ������ � ���

����

�$� @ �$!����� �� �3� �

�$� @ �$!������ �� �3� �

���� ���� �� ��� ������ � � ��� ���� ������ ������ 6� ��� ������ � ��

� ���������� � �������� ��� ����� � ������� ����� ������ �� �� � � ��� �5�

����� �� ��� � �� ��� ������ ��������� ��� ����� 6� � ��� ��� �

������� �� �� ��� ���� � ����� ��� ������ ��� ��!�3 ������ �

� �����9�� ��� ������ � ���� ���� �!�3�

�������!�3 D ��!!��� ��!�3 *�!�33 = ���!� = �33

��� ������ ��� ��!�3 ��� ������� ��� ����� � ������ � �� � �

��� � ;��� ���� � �� ����� � ���� � ������� ������� ��� �� ��������

��� �� � ������� ���� ��� ������ ) � �������� �� ��� � ��� �$ ����� �

� ��� ��� �� � ������ �@

��� ��!�3 D �$!�� �� �3

�,

Page 17: A Core Language for Rewriting

������ ��� �������

"��� ��� � ����� � � ��������� ���� �� ��� ������ � ��� � ����� ��� ���

� � � �����9���

� ������� ����

'�� ���� ��������� � � ������ ��� � '()*(+) �,� ��� "#$ �%� �� ����

���� � �5���� � ���� � ��������� ������� � ��� ��� ������� � �������

��� 6� ��� ����� �� ���� � �� � � ��� ������ ��� � ����������� ��

(���� (= �� ���� �������� ��� �������� ������� � '()*(+) �5���� � �

��� �������= �������� ��� �� ���� �������� �� ��� �������� ���� ����

���� ������� � ����� � ��� � ��������� ��� ���� �� (���� ( �� ���� �

������ ������ �4 � � ��� ��� � �� ��� ��� � � ������������ �� ����

������ � ��� ������������ � � ���� ��������

>�������� �� ������� �� � �� ��� ��� �� ��� ���� �� � ��� ���

��������� � ��� �A���� ��� � ������������� ��� ��� ��� �� ��� ������

� �4 -8) �H� ���� ����� ������ � � �� ��� ��� ���� ' ������ ����� �� �

�� � � �� ��� ��� � ��� � � �� ��� � �� �� #� ���������� �������

������� � ��� � �� � ������� � ��� ����� ���� ����� �������� ���� ���

������ �� � �� ����

6� ��� ��������� � � ������ /-'0 ���� ��� � �� � � ����� ����� �

� �� � � ��� � � �� � �������9�� � �� ������ ���� ������� �����

(������� ��� ������ �5���� � ��� ��� �� � ���� �� ��� 6� ���� ���

���� ��� � ��� � ����� � ������� ���� ���� � ��� � ���� ���� �������

� ��� � � ������� ��� � ��� ��� � � �������� ' ������ ���������� ������

��� ���� ����� � ���� � � � ���� 6� ����� ���� � � ��� ������� ���� ���:��

��� �� � ������ ����� � � �5������ ���� � ������� ����� � � ��� ��

���� ���������

(���� ( �������9� ��� ������ ������ � /-'0 ��� ��B�� ���� �� �

��� � �� ��� � ���@ !�3 /-'0 � � � � �� ���� ������ �������� ����� �

���� � � �� �!�3� �� � ��� �� ���� ��� �� ���� � ���� ��������� �

� ���� ��������� 6����� �������� ���� � � ������ �5�������� � � ����

�������� ��� � �������� !�3 /-'0 �� �� 4��� � � ������������@ ��

!� �M� ����3 ��� �4 !� �M� 4� �3� ��� ������ ��!��� ��3 �� � �� � �� � ��� ����� � ���� �� � � ��� ��4����4��� ����� �� �� ��� ����� �� ���

������ ��!��� ��3 ������ �� �� ��� �� ��� ������ ��� �� � ��� � � ��

������ ��� � ���� �� � � �� ��4����4��� !:3 /-'0 �� � �5�� ����5

� � ������� ����� >�� (���� ( ������� ���� ��� ������ �� ���� � ������

���� ��� � �� ��� ���� ���� ��� ����� � �5������ ���� �5������ �������

���� ��� ����������� �� ���� � ��� � �� ������� !23 (���� ( �� ���

��� ����� � � ������� ��� �� ��� �5������ ������ � ����� � ��!�3 �����

/-'0 �� �������� ������ ������� ��

1���� �2� � � ��������� � � ������ ��� � �������� � ��� 6� �� ����

�7���� � ���� ��� ����������� ���� ������ � �������� ��� �� ���� ���� ����

��� ��� ���� �� ����� � ������� (������� � � ������� �� ���� ���� ���

�%

Page 18: A Core Language for Rewriting

������ ��� �������

� ������� �� 1���� � � ������� ����� ' ��A���� � �������� � ��� �

����� ������� � �������� ����� 6� ��� ���� ��� ������� ���� ���� � �5��

������ �� �� ��� � �� ������ ��4�� ������� �5���� ��� 6� (���� (

������ ����� � � �� ��� � �� ������ �� ���� � ����� ������� ���� ���

������� 6� ��� ���� ��� ������� ���� ��� �5���� ��� �� ��� ��������� �

��� ������ ������ ��� �� 9���

��� ������ ����� �� �� ��� ����� �� ������� � ��� ������ ������

� /-'0� ��� ��� ���� � �� ����� �� �� ��:�� ����� ������ � ������ ����

��� ���� ��������� �7������� � �� ��� �� �� ���� ������ �� ��� � ������

N����� ��M ����� � ���� � ��� � ����� � ��� ��� '� ����������� � � �����

�� �5���� � � ������� �� ��� ��� ���� ��������� � � ������ '()*(+)

�,�� #��� ������� ��� ��� ����� ��� '()*(+) ������� ����� 6� ��2� (��

��� ( � ��� � ��� � �� ������ � � � ������ ���� � ��� � � ��� ������

���� � � ����� ����� � ���� ��� �������� 6� ����������� �� ���� ���� ����

���� � ���5���� ������� ��������� ��� ������ � ���������� � ���� �

� ��������� � � � �� ��� �����9���

��������� � ���� ��� � � �� � �4 �� ��� ����� � ������ ������

������� ��� � ��� ����� � �� � ��� �� ���� ��� �� ���� � ���� ��������� �

� ���� ��������= � �� � ������ ���� � �������� �������= ��� �5������

������ � ����� � ��!�3= ��� ��������� � ������� ���� ��� ���� ��� �� �=

��� ��� ��� ��� � � ����5 ����� ����� � ���� ��� (���� ( �� ����

� ���������

<� ���� �������� ��� ������������ � � � ����� ��� �������� �� (���� (

��� �5�� ��� ������ �5���� � � ��� ��� ������ �� ���������� ��������

���� ������� ����� ������� � ����� � ��� � ��������� ��� ���� �� ���

�� � (���� ( � � � �� ������ � � �������� � � � ������� � ������� ���

������ ��� � ������� ���� �� ��� �� � ������� � ���� 4��� �

������ ���� �� ���� ������ � � ����� ��� ����� �������� � ���

(���� ( � � �������9��� � � ��� ������������ � � �5���� � � �������

�� ������ � ���� � ��������� � � ������� ��� ������ ���� ���

A�5� �� ������� � � ���� ��������� )������� ��� �� ��� �� ��� ��� � ��

� ������������ �� ��������� �� '��� �� ��� ������� ������������ � �

(���� ( ���� � ��� � ����� ���� ��������� ������������ � � ������ �

���� ��������� ����� � � ��� � ���� ��� � ��� � � � ��� ��� �� ��� �������

-�,���������

<� ����4 #� -����4 ��� '����� � ����� � � ���� ����� � � ��������

������� ��� ����� ��������� �� $�� #����� � ����� �� ��� �� ��� �

� ������������ ��� � ����� ��� ���� �� ������ ��� � '()*(+)� /��

��� 1 � ���� ����� ���� �� ������� � � � � � ��� �� ��� ����

� �� ��4����4��� �� ������ � ��� ��4����4��� ����� �� ���� �� ����

� 4�� � ��

�H

Page 19: A Core Language for Rewriting

������ ��� �������

���������

0%1 $ ��2 3���� ��� ������ 4��5��� ,��� ������ ��� (## ,��� #��� ����6���� ���� 7 ���� %889�

0(1 7��� 3� �����5:�� #���� ;� ��� � ��� <:�=��� ;� ��� � #��� ���� �� ������� �� ������ �� >��:� ?������ � ����� � ����������� �� �� -��� ����������#

.��/���� �� ������ 0���� ��� �� (��#�������� ����� - �� �#������� 1����� ,��������# ������� �������� &����� � 7��" @ ���� #&� �������� %88A�B����� �

0,1 7��� 3� �����5:�� #���� ;� ��� � ��� <:�=��� ;� ��� � & �������� ������ �� ����� ��� �� ������� �� � �������� �� ����� �� ?�����5� ������� �������� ������� ����� �� ,�� ,���� -�2� ����������# �3������� ��

-�������# ��� 0���� ������������ ����� %-,C%AD� ;����� &� � %889� E� �������"�

0-1 ?���� #���� ������ B5� � 7�� �5 F����� ��� >��:� ?������ � 7 �������� ?����� �� >��:� ?������ � ����� � ����������� �� �� -��� ����������#

.��/���� �� ������ 0���� ��� �� (��#�������� ����� - �� �#������� 1����� ,��������# ������� �������� ����� A/C98� &����� � 7��" @ ���� #&��������� %88A� B����� �

0/1 4� G� ������2 ��� >��7� >��������� H�� ��� �������� �� >� ��� F������������ � 4���+��/ �� ,��������# ������� �������� ����� 3� ����� A� �����(-,C,(I� B����� � %88I�

0A1 &� J�� G�� ���� >� <�� ���� ��� 7� ;���� ����� �� 0������� ����3����� (�

(#��+���� ����������� (�������� ����� / �� (5(�, ������ �� ���������E� � ������"� ������� �� �������� %88A�

0D1 >� &� @����� ��� �� E��5� ��� �� ��� ������ '3>� ������ H��� � �H��#�F�8(�I,� �H� ���� ������� #������ ����� F��� ��� �� ?� � %88(�

091 ?� >� @� ���� &� >� ?��� � ��� #� 7� E����� ��� ����+���� 0�-� (

5��������� 0���� �� ���������� ����� D9 �� 0����� 1��� �� �������

�������� �� ���� �J� ��� 3� ��� %8D8�

081 >� J� @������ >� >� <� ����� �� >� @� ���� ;� G� >����� &� ?����� ��� >� ?�E���� 0����6 0�������� ��� ,��#� ��� -����# ������������ �� ���� �J� ���%88,�

0%I1 #���� ;� ��� � <:�=��� ;� ��� � ��� >��:� ?������ � '�� ������ ���������� '3>�,� �� ����������� �� !7� ����������# ��##�8���� �� (������

0�������� ��� ������������ ����� ,%D �� 0����� 1��� �� ������� ������������� (9DC,I%� �� ���� �J� ��� %899�

0%%1 #���� ;� ��� � <:�=��� ;� ��� � ��� ?� ��� J����5� ���������������������� ������� ���� ���� ������ �� 7� ;����5��� >�F� F����2� ���J� �� ������ ����� �� ����������� �� �� ��� .��/���� �� �������#�� ���

������� �� �������� ������������ ����� %AAC%D/� 7 ������� H���� 6�&�%88,� 3 ��� 6���� �����

�.

Page 20: A Core Language for Rewriting

������ ��� �������

0%(1 >�E� ;��� �� � �� ����� �������� �� �� &� ���5�� G� @������ ��� ����B�?������� ����� �� 4���+��/ �� 0���� �� ������� �������� ����� (� �����%C%%A� '��� � 6���� ���� 7 ���� '��� �� B������ %88(�

0%,1 3�� F����5 ��� B�� J���� � ����"����� �� �� ����� �� �������� �� ?� 7� &�����5� ����� � %�� ����������# .��/���� �� �� ,����3 ��� ������� ��

(#��+���� ������������ 9(�-:��-; $<� B�� ��� E� 5����� �� #���������3� ��� 4������ %88D� �� ���� �J� ���

0%-1 B�� J���� � !������&������ 3�������� ��� &�� �� ������ 3������� �� �� ������2� � ���� �� ����� �� �������� �� 7� <���5 ��� #�� K������������ �� ����������# ���������� �� -�������# ����������� 9��-�; =<�3����� �� ?� ����� �������� %889� &#?�

�&