Sindbad~EG File Manager

Current Path : /usr/home/beeson/public_html/michaelbeeson/research/papers/
Upload File :
Current File : /usr/home/beeson/public_html/michaelbeeson/research/papers/esfor.dvi

����;� TeX output 2004.12.07:1940���������f��src:59esfor.tex��K�`y

cmr10�Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����Ƞ<38�����ȍ�;�3�src:18esfor.tex�|{Ycmr8�In�Îternational��XJournal�on�Articial�In�telligence�T��J�o�<rols��
������>���Ec������;�3��K�cmsy8�
����G��W��J�orld��XScien�Îtic�Publishing�Compan�y��F�5��}����"V

cmbx10�OTTER-LAMBD��9A,��TA�THEOREM-PR�O�VER��
��zɜWITH��TUNTYPED�LAMBD��9A-UNIFICA��
�TION��&�����MICHAEL��XBEESON��������#�f�cmti8�Computer�~Scienc���e�Dep�artment,�San�Jos�����ԟe�State�University����ȉ�1�~Washington�Squar���e�����ÆSan�~Jos�����ԟe,�California�95192,�USA����͈�b���e�eson@cs.sjsu.e�du�����m�src:25esfor.tex��l΍�M�3�src:32esfor.tex�Supp�<rort��$for�lam�Îb�da�calculus�and�an�algorithm�for�un�Ît�yp�ed��$lam�b�da-unication��$has�b�een����M�3implemen�Îted,�9Xstarting�from�the�source�co�<rde�for�Otter.�The�result�is�a�new�theorem�pro�v�er����M�3called�GOtter-��2cmmi8��.�This�is�the�rst�time�that�a�resolution-based,�clause-language�pro�Îv�er����M�3(that�7�accum�Îulates�deduced�clauses�and�uses�strategies�to�con�trol�the�deduction�and����M�3reten�Îtion�r�of�clauses)�has�b�<reen�com�bined�with�a�lam�b�<rda-unication�algorithm�to�assist����M�3in�ethe�deductions.�The�resulting�pro�Îv�er�ecom�bines�the�adv��an�tages�of�the�pro�<rof-searc�h����M�3algorithm��of�Otter�and�the�p�<ro�Îw�er��of�higher-order�unication.�W��J�e�describ�e�the�un�Ît�yp�ed����M�3lam�Îb�<rda��Xunication�algorithm�used�b�y�Otter-���and�giv�e�sev�eral�example�theorems.����M�3�src:36esfor.tex�Keywor���ds��D�:��XUnication;�lam�Îb�<rda�calculus;�automated�deduction.��!#5��;�3�In��9tro�Q�duction����;�3�src:40esfor.tex�Our�m`purp�Gose�in�this�pap�er�is�to�demonstrate�the�successful�com���bination�of�lam�b�Gda��
��;�3unication�e�with�the�w���ell-kno�wn�e�resolution-based�theorem�pro���v�er�e�Otter����^��ٓ�Rcmr7�19���}�.�What����;�3w���e��Lcall�\un�t�yp�Ged�lam�b�Gda�unication"�is�similar�to�second-order�or�higher-order����;�3unication,��1but�those�algorithms�are�designed�for�use�in�t���yp�Ged�theories,�and�w�e����;�3ha���v�e��Bc�hosen�to�use�a�new�name�for�this�algorithm,�since�it�is�a�new�algorithm�and����;�3is�UUapplied�in�a�dieren���t�con�text.����J�4�src:43esfor.texThe���adv��q�an���tages�of�clause-based�pro�v�ers�lik�e�Otter�lie�in�the�reten�tion�of�deduced����;�3conclusions�
^and�the�dev���elopmen�t�
^of�eectiv���e�searc�h�strategies�to�generate�and/or����;�3retain��desired,�rather�than�undesired,�new�conclusions.�The�adv��q�an���tages�of�t�yp�Ge-����;�3based��systems�are�the�greater�ease�of�describing�mathematical�concepts�at�a�\higher����;�3lev���el"���and�the�a�v��q�ailabilit�y�of�higher-order�unication.�By�adding�lam�b�Gda�unication����;�3to�UUOtter,�w���e�ha�v�e�created�a�system�oering�a�com�bination�of�b�Goth�adv��q�an�tages.����J�4�src:49esfor.texThe��implemen���tation�of�lam�b�Gda�calculus�and�an�algorithm�for�lam�b�Gda�unication����;�3in�p(Otter�are�describ�Ged�in�the�last�sections�of�this�pap�er.�A�p!soundness�pro�of�for�the����;�3algorithm�`is�giv���en�in���^��6��|s�.�That�pap�Ger�answ�ers�the�question,��$�':

cmti10�In�P�what�lo��}'gic�do�es�Otter-�
�b>

cmmi10�����;�3�nd�[9pr��}'o�ofs?�.��This�pap�Ger�rep�orts�on�sev���eral�examples�in�tended�to�demonstrate�some����;�3of�$[the�capabilities�of�Otter-��,�as�w���e�call�our�enhanced�v�ersion�of�Otter�(or�when���
�����L���1������*����f��src:98esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�2���Michael�~Be���eson���<38����Lȍ�/5a�t���yp�Gograph�y�Adictates,�Otter-lam���b�da).�The�main�p�oin���t�is�to�explore�the�com�bination��
��/5aof�:lam���b�Gda�unication�with�a�clause-based�theorem�pro�v�er�using�searc�h�strategies����/5ato���generate�new�conclusions,�as�opp�Gosed�to�either�a�t���yp�e-based�pro���v�er���(unaided����/5ab���y���reten�tion�of�man�y�clauses,�demo�Gdulation�and�paramo�dulation,�and�a�v��q�ariet���y�of����/5ainference��#strategies)�or�a�rst-order,�clause-based�pro���v�er��#(unaided�b���y�higher-order����/5aunication�UUand�t���yp�Ges).����>5b�src:60esfor.texFirst,�4w���e�sho�w�that�our�enhancemen�ts�giv�e�Otter-���the�abilit�y�to�manipulate����/5aquan���tiers�Y;at�the�clausal�lev�el,�so�that�denitions�in�v�olving�quan�tiers�can�b�Ge�con-����/5av���enien�tly�;�used�in�pro�Gofs.�Second,�w���e�tak�e�up�the�algebraic�part�of�Lagrange's�theo-����/5arem,�*]to�demonstrate�ho���w�lam�b�Gda�unication�enables�the�automatic�construction�of����/5amaps���needed�in�algebraic�pro�Gofs.�Third,�w���e�giv�e�an�example�to�sho�w�ho�w�Otter-�����/5a�can�J�nd�a�pro�Gof�in�algebra�that�uses�mathematical�induction,�namely��*�,�there�are�no����/5anilp�Goten���ts��cin�an�in�tegral�domain.�F��*�ourth,�w�e�repro�Gduce�the�w�ell-kno�wn�automatic����/5adeduction�of�Can���tor's�theorem,�whic�h�app�Gears�to�dep�end�hea���vily�on�a�t�yp�Ged�logical����/5asystem,�k�to�sho���w�that�it�can�b�Ge�done�in�Otter-��;�and�that�a�similar�approac�h�in����/5aOtter-��ڲcan�yield�Russell's�parado���x�and�xed-p�Goin�t�constructions,�whic�h�cannot�b�Ge����/5aformalized���in�t���yp�Ge�theory��*�.�Our�fth�and�last�example�is�a�pro�of�b���y�mathematical����/5ainduction,��directly�from�the�axioms�of�P���eano�arithmetic,�of�the�comm�utativit�y�of����/5aaddition.�.�Both�the�basis�case�and�the�induction�step�of�the�main�induction�m���ust�in����/5aturn��b�Ge�pro���v�ed��b�y�mathematical�induction.�Otter-���is�able�to�nd�all�three�instances����/5aof�UUinduction�on�its�o���wn,�and�complete�the�pro�Gof.����>5b�src:74esfor.texInput�94les�and�the�pro�Gofs�pro�duced�b���y�Otter-���for�all�these�examples�can�b�e����/5afound�UUon�the�Otter-���w���eb�site.����^��7����ȟ�^�a��� ��/5a�Lam��9b�Q�da��Tunication����/5a�src:85esfor.tex�W��*�e�sfo�Gcus�on�the�attempt�to�extend�unication�to�instan���tiate�v��q�ariables�for�functions����/5ab���y�˚means�of���-terms.�All�past�researc�h�and�implemen�tation�in�this�sub��8ject�has����/5ain���v�olv�ed�?t�yp�Ged�formalisms.�In�that�con�text,�it�is�kno�wn�as��higher-or��}'der�kunic�ation�.����/5aWhat�J)is�no���v�el�J)in�this�pap�Ger�is�the�implemen���tation�of�(a�v�ersion�of��)�higher-order����/5aunication���in�an�un���t�yp�Ged���formalism.�W��*�e�call�our�unication�\un���t�yp�ed���lam�b�da-����/5aunication".��IIn���^��23�	0e�rcmmi7�;�24���̲,�Pietrzyk���o�wski��Iga�v�e�an�algorithm�for�higher-order�unication,����/5awhic���h��w�e�here�call�t�yp�Ged���-unication.�Huet���^��17��m��did�not�in�v�en�t�this�algorithm,�but����/5ahis��dcited�pap�Ger�con���tains�another�imp�ortan���t�con�tribution�and�has�b�Gecome�the�classic����/5areference.��An�encyclop�Gedic�treatmen���t�of�t�yp�Ge�theory�and�second-order�unication����/5acan�b�Ge�found�in���^��1�;�14���Y�;�w���e�shall�sa�y�no�more�ab�Gout�the�thirt�y�y�ears�of�researc�h�co�v�ered����/5athere.�UUW��*�e�note�the�follo���wing�p�Goin�ts�ab�Gout�our�implemen�tation:���G���/5a��-:��Aa�cmr6�a��3`�T��J�o��8clear�up�some�misconceptions�ab�<rout�Otter-��:�It�is�a�theorem-pro�Îv�er,��8built�on�Otter,�but�it�is��
��/5anot�`a�\library"�that�can�b�<re�plugged�in�Îto�other�pro�v�ers,�not�ev�en�Otter,�since�it�w�as�necessary�to����/5amo�<rdify��HOtter�at�sev�Îeral�p�oin�Îts�to�connect�the�new�capabilities.�On�the�other�hand,�it�p�erforms�on����/5arst-order�ٳproblems�exactly�lik�Îe�Otter{the�new�co�<rde�is�nev�er�in�v�ok�ed�unless�appropriate�
ags�are����/5aset���in�the�input�le.�Th�Îus�Otter�les�run�in�Otter-��,�and�at�the�same�sp�<reed,�though�they�ma�y�use����/5aa��Xfew�p�<rercen�Ît�more�memory�since�one�data�structure�w�as�sligh�tly�expanded.�����.����f��src:139esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9����|�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���3���<38����Lȍ����U�2�
!",�

cmsy10�����_�3�src:96esfor.tex�W��*�e��}do�not�implemen���t�the�full�(t�yp�Ged)�higher-order���-unication�algorithm.��
�����U�2�����_�3�Our���algorithm�can�solv���e�problems�whic�h�are�not�solv��q�able�in�a�t�yp�Ged�setting,����_�3e.g.�UUnding�a�term��X�7�suc���h�that��X���(�y�[ٲ)��=��f���(�X��(�y�[ٲ)).���8��J�4�src:101esfor.texOtter-���ٲrecognizes�the�reserv���ed�w�ords��%��<x

cmtt10�lambda��and��Ap��(or�synon�ymously��ap�).����;�3One�|�uses��lambda(x,Ap(f,x))��to�en���ter�the�term��x:f���(�x�).�Beta-reduction�has�b�Geen����;�3implemen���ted�u�in�the�framew�ork�Otter�uses�for�demo�Gdulation.�T��*�o�understand�this����;�3pap�Ger,��sthe�reader�will�need�to�read�b�oth�the�examples�and�the�algorithm�for�un���t�yp�ed����;�3lam���b�Gda-unication.�p�Either�one�is�dicult�to�understand�without�the�other,�so�it�ma�y����;�3b�Ge�|1b�est�to�read�them�in�parallel.�Logically�the�algorithm�denition�should�precede����;�3the�W�examples,�and�the�pap�Ger�is�organized�that�w���a�y��*�,�W�but�it�should�also�w���ork�to�skip����;�3the�UUrest�of�this�section�for�no���w�and�return�to�it�later.����J�4�src:109esfor.texA��hsubstitution�҉��.b�is�a���-unier�of�terms��t��and��s��if���-logic����^��6��!��pro���v�es�҉�t��²=��s�.�A��h��-����;�3unication�Halgorithm�is�an�algorithm�that�nds�one�or�more�lam���b�Gda�uniers,�when����;�3giv���en�Ias�input�t�w�o�terms��t��and��s�.�W��*�e�ha�v�e�(so�far)�implemen�ted�a�single-v��q�alued����;�3v���ersion�`Wof�second�order�unication.�It�therefore�misses�some�uniers�that�w�ould�b�Ge����;�3returned��b���y�a�m�ultiple-v��q�alued�v�ersion,�but�it�also�solv�es�some�problems�that�cannot����;�3b�Ge���solv���ed�in�a�t�yp�Ged�theory��*�,�and�it�w�orks�ecien�tly��*�,�and�it�w�orks�in�Otter.�(W��*�e�hop�Ge����;�3to�UUextend�the�implemen���tation�in�summer�2005�to�return�m�ultiple�uniers.)����J�4�src:113esfor.texIn�@Wthis�pap�Ger,�as�in�Otter�and�Otter-��,�w���e�distinguish�b�et���w�een�@Wv��q�ariables�(whic���h����;�3can�+b�Ge�instan���tiated�b�y�unication)�and�constan�ts�(whic�h�cannot�b�Ge�instan�tiated)����;�3b���y��a�t�yp�Gographic�con�v�en�tion:�v��q�ariable�names�b�Gegin�with�upp�er�case�or�lo���w�er��case����;�3�x�,�y�[ٲ,�z�p��,�u�,�v��,�w�D�.�5�Names�b�Geginning�with�other�letters,�suc���h�as��f�Ii�or��c�,�are�constan�ts.�The����;�3scop�Ge�(�of�a�free�v��q�ariable�is�the�clause�in�whic���h�it�o�ccurs.�The�scop�e�of�a���-b�ound����;�3v��q�ariable���is�the���-term�in�whic���h�it�o�Gccurs.�The�same�v�ariable�will�nev���er�o�Gccur�b�oth����;�3free���and���-b�Gound�in�the�same�clause.�(Nested���-bindings�of�the�same�v��q�ariable�are����;�3allo���w�ed��
during�unication,�but�for�tec���hnical�reasons�are�renamed�when�k�ept�clauses����;�3are��mstored.)�T��*�ec���hnically�,��ma��variable��refers�to�an�in�teger��varnum��and�a��c��}'ontext�,�whic�h����;�3is�$�a�table�of�pairs�of�the�form�(�term,�gc��}'ontext�)�whose�en���tries�describ�Ge�a�substitution.����;�3Unication��algorithms�tak���e�as�input�t�w�o�pairs�(�t;���c�)�where��t��is�a�term�and��c��is�a����;�3con���text.�u�In�this�section�w�e�refer�to�suc�h�a�pair�as�a�term,�lea�ving�the�con�text�implicit,����;�3or�e,referring�to�it�as��the��yc��}'ontext�of��t�.�e,A�e(term��t��dep�Gends�on�a�v��q�ariable��y���if��t��con���tains����;�3�y��\�or�\�if��t��con���tains�a�v��q�ariable�that�has�b�Geen�assigned,�in�the�con�text�of��t�,�a�v��q�alue����;�3dep�Gending��Yon��y�[ٲ.�When�w���e�sa�y�in�the�pseudo�Gco�de��Yb�elo�w��Ythat��x�]�:=��t��Y�w�e�mean�that����;�3an��en���try�is�made�under�the�v��q�arn�um�of��x��in�the�con�text�of��x��assigning��x��the�v��q�alue��t�.����;�3This�UUsetup�is�exactly�as�in�rst-order�unication;�see���^��19���;�for�details.����J�4�src:128esfor.texThe�denition�of���-unication�mak���es�use�of�the�concept�of�a�v��q�ariable��y�g��b�Geing����;�3�forbidden����to�a�v��q�ariable��x�.�This�means�that�unication�is�not�allo���w�ed���to�assign��x��a����;�3v��q�alue�I�dep�Gending�on��y�[ٲ.�The�con���text�data�structure�is�expanded�to�allo�w�for�storing,����;�3for�"eac���h�v��q�ariable��x�,�a�list�of�v�ariables�forbidden�to��x�.�T��*�o�forbid��t��to��x��means�to�add����;�3to��the�forbidden�list�of��x�,�all�free�v��q�ariables�of��t��that�ha���v�e��no�v�alues�in�the�con���text�of����;�3�t�,���and�all�v��q�ariables�forbidden�to�those�free�v�ariables�of��t��that�do�ha���v�e���v�alues�assigned����;�3in�UUthe�con���text�of��t�.�����!3����f��src:183esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�4���Michael�~Be���eson���<38�����ȍ�>5b�src:133esfor.tex�Three�?Mfunctions�are�in���v�olv�ed�?Min�our���-unication�algorithm:��unify2�,��unify����ff���lamb��}'da�,��
��/5aand�\��subst�.�The�rst�t���w�o�\�are�are�called�from�Otter's�unication�algorithm,��unify�;����/5a�subst�eI�is�m���utually�recursiv�e�with��unify�.�When��unify��has�to�unify�t�w�o�terms��s��and��t�,����/5aif�=either�one�has�functor��Ap�,�then��unify2��is�called,�and�if�b�Goth�ha���v�e�=functor���,�then����/5a�unify����ff���lamb��}'da�g�is�called.�W��*�e�will�giv���e�commen�ted�pseudo�Gco�de�g�for�eac�h�of�these�three����/5afunctions.������/5aunify�����ff����lam���b�Gda(lam�b�da(x,t),�UUlam�b�da(y��*�,s))������/5a�f�UU�sa���v�eit�=�term�curren�tly�assigned�to�x;��//���NULL�unless�x�is�a�neste��}'d�b�ound�variable������7���x:=y;�UW�//���assign�y�to�x�in�the�c��}'ontext�of�t������7���forbid�UUy�to�all�free�v��q�ariables�in�t�or�s;������7��unify(t,s);������7��x:=�UUsa���v�eit;������/5a�g�����/5a�src:150esfor.tex�Example��[�:�+P�x:���f���(�x�)�unies�with��y�[�:�f���(�y��).�+PNo�(net)�v��q�ariable�assignmen���t�is�made�in����/5aeither�UUcon���text.����>5b�src:152esfor.texThe�Osubstitution�algorithm��subst��is�m���utually�recursiv�e�with�unication.�It�tak�es����/5athree�1�terms��r�G�,��s�,�and��t��and�returns�a�term�(and�a�con���text).�It�is�assumed��r�x�is�a����/5av��q�ariable�[�that�do�Ges�not�o�ccur�in�the�con���texts�of��s��or��t�.�The�term�is�the�result�of����/5asubstituting�UU�r��r�for��s��in��t�.�Here�is�pseudo�Gco�de:�����/5asubst(r,s,t)������C5c�f�UU�if(unify(r,s))������_���f�UU�z�=�nextv��q�ar(t);��//���get�unuse��}'d�variable�z�in�the�c�ontext�of�t������g��z:=�UUr;�={�//���assign�z�the�value�r�in�the�c��}'ontext�of�t������g��return�UUt[s:=z];�\v�//���r��}'eturn�t�with�s�r�eplac�e�d�by�z������_���g������K���if(t�UUis�a�v��q�ariable�and�not���-b�Gound,�and�already�assigned�in�the�con���text�of�t�to�q)������_��return�UUsubst(r,s,q);������K��if(t�UUis�a�v��q�ariable�or�name)������_��return�UUt;������K��n�UU=�arit���y�of�t;������K��ans�UU=�new�term�with�arit���y�n�and�same�sym�b�Gol�as�t;������K��for(i=0;i�<�n;i++)������_��i-th�UUargumen���t�of�ans�=�subst(r,s,q);������K��return�UUans;������C5c�g�����/5a�src:175esfor.tex�Example:��(�substituting��z�1��for��g�[ٲ(�X���)�in��g��(�Y�8�),�w���e�return�the�substitution��X�C��=�z̵Y���and����/5athe�UUterm��z�p��.�Belo���w�w�e�write��t�[�s���::=��r�G�]�UUfor�the�term�returned�b�y��subst�.����>5b�src:178esfor.texW��*�e�B�no���w�giv�e�pseudo�Gco�de�B�for��unify2�.�The�co�Gde�assumes�that��t��and��s��are�already����/5adereferenced,�UUi.e.�are�not�v��q�ariables�that�ha���v�e�UUv�alues�in�their�resp�Gectiv���e�con�texts.�����/5ain���t�UUunify2(t,s)�UW�//���r��}'eturn�value�is�1�for�suc�c�ess,�0�for�failur�e������4܍���f��src:225esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9����|�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���5���<38�����_���O�5�f�UU�if(t�has�the�form�Ap(t1,t2)�and�s�has�the�form�Ap(s1,s2))���
���l�if(unify(t1,s1)�UUand�unify(t2,s2))��������return�UU1;������X�if(t�UUhas�the�form�Ap(lam���b�Gda(x,r),q))������l��f�UU�z�=�a�new�v��q�ariable;������tj�rename�UUx�in�(a�cop���y�of��)�r�to�z;������tj�z:=q�UU�//���in�the�c��}'ontext�of�t������tj�return�UUunify(r,s);�//��p��}'erform���a�b�eta-r�e�duction�b�efor�e�unifying������tj�//�UU�if���unic��}'ation�fails,�destr�oy�the�c�opy�of�r�b�efor�e�r�eturning������tj�no���memory�use��}'d�for�this�b�eta-r�e�duction�as�c�ontext�ke�eps�tr�ack�of�it������l��g������X��if(s�UUhas�the�form�Ap(lam���b�Gda(x,r),q))������l�return�UUunify(s,t);������X�if(t�UUis�a�v��q�ariable�not�o�Gccurring�in�s)������l��f�UU�t:=�s;������tj�return�UU1;��//���but�don���P't�fail�if�o��}'c�curs���che�ck�fails������l��g������X��if(s�UUis�a�v��q�ariable�not�o�Gccurring�in�t)������l��f�UU�s:=�t;������tj�return�UU1;������l��g������X��if(t�UUhas�the�form�Ap(X,r))������l�return�UUunify2(s,t);������X�if(s�UUhas�the�form�Ap(X,r)�and�X�is�already�assigned�a�v��q�alue�lam���b�Gda(z,q))������l��f�UU�//���for�simplicity�omitting�some�details�ab��}'out�clash�of�b�ound�variables������tj�lab�Gel�UUz�as�\not�lam���b�da�b�ound";������tj�z:=�UUr;������tj�rv��q�al�UU=�unify(q,t);������tj�lab�Gel�UUz�as�\b�ound";������tj�return�UUrv��q�al;������l��g������X��if(s�UUdo�Ges�not�ha���v�e�UUthe�form�Ap(X,r)�with�X�a�v��q�ariable)������l�return�UU0;�UW�//���unic��}'ation�fails������X��x�UUX�and�w�with�s�=�Ap(X,w);������X�z�UU=�new�v��q�ariable�not�o�Gccurring�in�s�or�t;������X�if(w�UUis�a�v��q�ariable�and�X�do�Ges�not�o�ccur�in�t)������l��f�UU�b�=�getConstan���t(t);�+UY�//���explaine��}'d�b�elow������tj�rr�UU=�subst5(z,b,t);�2���//���explaine��}'d�b�elow������tj�X:=�UUlam���b�Gda(z,rr);������tj�return�UU1;�UW�//���suc��}'c�ess������l��g������X��else�UUif(w�is�a�v��q�ariable�and�X�do�Ges�o�ccur�in�t)������A�����f��src:269esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�6���Michael�~Be���eson���<38�����_���_���f�UU�b�=�getMaskingSubterm(t);�	#��//���explaine��}'d�b�elow���
���g��rr�UU=�subst(z,b,t);������g�X:=�UUlam���b�Gda(z,rr);������g�return�UU1;�UW�//���suc��}'c�ess������_���g������K���else�UW�if���w�is�not�a�variable������_���f�UU�rr�=�subst(z,w,t);������g�if(X�UUo�Gccurs�in�rr)������{�return�UU0;�UW�//���failur��}'e������g��X:=�UUlam���b�Gda(z,rr);������g�return�UU1;�UW�//���suc��}'c�ess������_���g������C5cg�������/5a�src:240esfor.tex�The��jab�Go���v�e�pseudo�Gco�de�outlines�the�algorithm,�but�lea���v�es�the�functions��getConstant�,����/5a�getMaskingT��;�erm�,�	�and��subst5��still�to�explain.�The�t���w�o�	�cases�in�question�are�unifying����/5a�Ap�(�X�:�;���w�D�)��with��t�,�where��w�_��is�a�v��q�ariable,�and��X���either�do�Ges�o�ccur�in��t��(in�whic���h�case����/5a�getMaskingT��;�erm���is�used)�or�do�Ges�not�o�ccur�in��t��(in�whic���h�case��getConstant��is�used).����/5aW��*�e�UUillustrate�with�examples�of�eac���h.����>5b�src:246esfor.texW��*�e��rst�explain��getConstant�.�Supp�Gose��t��is�(�a�bm�+��b���=��b�bm�+��a�),��as�o�ccurs�when�w���e�try����/5ato��kpro���v�e�the�comm�utativit�y�of�addition�b�y�induction.�Then��getConstant(t)��returns����/5a�b�,��Zand��subst5��substitutes��z��for�b�Goth�o�ccurrences�of��b��(in�this�case),�resulting�in����/5a�X����:=���z�p�:���a���+��z�7��=��z��%�+��a�,�F,the�righ���t�prop�Gositional�function�for�this�inductiv�e�pro�Gof.�In����/5ageneral,���ho���w�ev�er,�there�will�b�Ge�man�y�c�hoices�of�a�p�Gossible�constan�t,�and�then��subst5����/5a�has�:�to�c���ho�Gose�whic�h�o�Gccurrences�of�the�constan�t�to�substitute�for.�F��*�or�example,�if��t����/5a�is�I�(�b�!�+��b�)�+��b���=��b�!�+�(�b��+��b�)�there�are�65�p�Gossible�c���hoices�of��X���.�In�the�future,�a�more����/5adicult� �implemen���tation�could�allo�w��unify2��to�return�m�ultiple�uniers,�but�w�e�ha�v�e����/5ahad��Dgo�Go�d�success�with�the�existing�co�de,�whic���h�just�pic�ks�the�righ�tmost�constan�t����/5aand�[substitutes�for�all�o�Gccurrences�of�it�that�do�not�o�ccur�inside�Sk���olem�terms�from����/5athe���induction�axioms,�if�an���y��*�.�(The�user�indicates�the�Sk�olem�terms�to�b�Ge�a�v�oided�b�y����/5ausing���reserv���ed�sym�b�Gols�in�the�statemen�t�of�the�induction�axioms.)�This�denition����/5aof��Ysubst5�allo���ws�Otter-���to�nd�the�correct�instances�of�induction�for�some�nested����/5ainductiv���e�>npro�Gofs,�suc�h�as�the�comm�utativit�y�of�m�ultiplication,�where�the�basis�case����/5aand�UUinduction�step�m���ust�themselv�es�b�Ge�pro�v�ed�b�y�induction.����>5b�src:254esfor.texNo���w��w�e�describ�Ge��getMaskingSubterm�,�whic�h�is�used�when�unifying��Ap�(�X�:�;���w�D�)����/5awith�M�t��where��t��do�Ges�con���tain��X���.�A��masking�K�subterm��of��t��is�a�subterm��r�dj�of��t��suc�h����/5athat��(i)��r�0�con���tains�all�the�o�Gccurrences�of��X��زor�v��q�ariables�forbidden�to��X��in��t�,�and����/5a(ii)�V]�r��z�is�not�forbidden�to��w�D�,�and�(iii)��r��do�Ges�not�con���tain�an�y�v��q�ariables�b�Gound�in����/5a�t�.��)W��*�e�call�suc���h�a�term��r��F�a�\masking�subterm",�b�Gecause�it�masks�the�forbidden����/5av��q�alues��of��X���.�An���y�masking�subterm�could�in�principle�b�Ge�used�to�form�a�unifying����/5asubstitution,���as�follo���ws:�W��*�e�substitute�the�new�v��q�ariable��z��d�for��r���in��t�,�obtaining��R�Dz,�and����/5atak���e�O�X����:=���z�p�:���R�Dz.�Let�����b�Ge�the�substitution�assigning�this�v��q�alue�to��X���and�assigning�����KT����f��src:312esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9����|�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���7���<38����Lȍ�;�3�r��r�to�UU�w�D�.�Then�w���e�v�erify�that����.�is�a�lam�b�Gda�unier�of��X���(�w�D�)�and��t��as�follo�ws:��
�������Ap�(�X�:�;���w�D�)������篧�=������vŵAp�(�X����͠;���w�D��[ٲ)������R�(1)��������篧=������vŵAp�(�z�p�:���R�Dz)�;�r�G�)������R�(2)��������篧=������vŵR�Dz[�z�7��:=���r�G�]������R�(3)��������篧=�����vŵt�����R��(4)������;�3�src:270esfor.texThe��presen���t�implemen�tation�alw�a�ys�c�ho�Goses�(if�p�ossible)�a�maximal�masking�sub-��
��;�3term��
whic���h�resp�Gects�an�y�t�yping�constrain�ts�the�user�has�supplied�in�the�input�le����;�3under���list(t���yp�Ges);�or�if�no�list(t�yp�Ges)�is�pro�vided,�a�maximal�masking�subterm�whic�h����;�3is��	a�second�argumen���t�of�an��Ap��term;�that�is,�a�masking�subterm�whic�h�o�Gccurs�as����;�3a��-second�argumen���t�of��Ap��and�con�tains�no�masking�subterm�o�Gccurring�as�a�second����;�3argumen���t��of��Ap�.�In�general�w�e�w�ould�get�dieren�t�p�Goten�tial�uniers�for�ev�ery�mask-����;�3ing���subterm.�There�will�sometimes�b�Ge�man���y�of�them.�In�the�future�the�algorithm����;�3�getMaskingSubterm�i��can�b�Ge�altered�or�ev���en�made�to�return�m�ultiple�v��q�alues�without����;�3aecting�X�the�soundness�of�the�algorithm,�as�pro���v�ed�X�in���^��6��|s�.�In�this�w���a�y�X�the�tradeo����;�3b�Get���w�een�UUeciency�and�completeness�can�b�e�further�explored.����J�4�src:279esfor.texFinally��*�,�#�w���e�giv�e�an�example�to�illustrate�the�case�where��subst��is�called.�T��*�o�unify����;�3�Ap�(�X�:�;���s�)��pwith��t�,�where��s��is�a�comp�Gound�term:�W��*�e�create�a�new�v��q�ariable��z��and����;�3use���subst��to�substitute��z�yb�for��s��in��t�.�W��*�e�remind�the�reader�of�the�con���v�en�tion��that����;�3�t�[�x�5��::=��z�p��]���(with�a�double�colon)�means�the�result�of�using��subst��to�substitute��z�2�for����;�3�x��b�in��t�.�If�the�result�successfully�eliminates�the�v��q�ariables�in��t��that�are�forbidden�to����;�3�X�BZ�(that�yxis,�if��t�[�s�R�::=��z�p��]�yxis�not�forbidden�to��X���),�then�unication�succeeds,�giving��X����;�3�the�
Uv��q�alue��z�p�:���t�[�s��::=��z��].�
U�Example:��in�attempting�to�unify��Ap�(�X�:�;���g�[ٲ(�X���))�with��g��(�Y�8�),����;�3w���e�Jsubstitute��z���for��g�[ٲ(�X���)�in��g��(�Y�8�),�so��t�[�x�
�::=��z�p��]�Jis��z���and�the�substitution�is��X���=�
�Y��,����;�3and�UUthe�substitution�returned�b���y��unify2��is��X����=���z�p�:���z��.���^��b�����J�4�src:296esfor.tex�Regarding�=�the�implemen���tation�details:�It�w�as�p�Gossible�to�mak�e�use�of�Otter's����;�3\La���y�er���1"�to�Gols,�so�that�w���e�had�relativ�ely�little�lo�w-lev�el�implemen�tation�to�do.����;�3Most���of�the�co�Gde�w���e�wrote�w�as�directly�related�to�the�algorithm.�W��*�e�w�ere�able�to����;�3allo���w�$�Otter�to�manage�memory��*�,�restoring�trails�after�unication�failures,�etc.�Otter����;�3uses��the�data�structures�describ�Ged�in���^��18��hv�to�p�erform�unication�without�needing�to����;�3allo�Gcate��and�deallo�cate�memory�for�substitutions;�w���e�w�ere�also�able�to�mak�e�go�Go�d����;�3use��of�these�data�structures.�The�result�w���as�that�w�e�w�ere�able�to�add�lam�b�Gda-����;�3calculus,�ŋb�Geta�reduction,�and�second�order�(or�\higher-order"�if�y���ou�lik�e)�unication����;�3to�ȵOtter�b���y�adding�few�er�than�2000�lines�of�C�Ȓco�Gde.�Ho�w�ev�er,�w�e�did�ha�v�e�to�mo�Gdify����;�3the�s�indexing�co�Gde�that�k���eeps�trac�k�of�p�Gossible�subsuming�terms,�to�tak�e�care�of����;�3diculties�UUcaused�b���y���-b�Gound�v��q�ariables�ha�ving�scop�Ge�less�than�the�en�tire�clause.��$�!���;�3��-:�b��@Ni�In��uthe�example,�w�Îe�ha�v�e�missed�the��other��solution,��X�
!�=�mO�z�V�:�j�g�I{�(�Y�㐹).�But�w�e�already�knew�that�w�e��
��;�3are��missing�some�of�the�uniers�pro�<rduced�b�Îy�t�yp�<red���-unication.�The�question�is,�do�w�e�get�the����;�3uniers���that�w�Îe�need�to�pro�v�e�theorems�of�in�terest,�and�do�w�e�get�them�fast�enough?�Y��J�es,�w�e�do,����;�3as��Xsho�Îwn�b�y�examples.�����Z΍���f���Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�8���Michael�~Be���eson���<38�����ȍ�/5a�src:310esfor.tex�Example�.���W��*�e�giv���e�an�example�in�whic�h�un�t�yp�Ged���-unication�succeeds,�while�t�yp�Ged��
��/5a��-unication�UUfails.�The�example�is�this:��G������Ap�(�X�:�;���y�[ٲ)��=��f���(�Ap�(�X�;���y�[ٲ))����/5a�src:313esfor.texSee���^��14��x�,�hp.�1035�for�a�discussion�of�wh���y�this�fails,�and�ho�w�the�failure�is�detected����/5ab���y�p	one�algorithm�for�t�yp�Ged���-unication�but�not�b�y�another.�Here�w�e�sho�w�ho�w�it����/5aw���orks��'in�un�t�yp�Ged���-unication.�First�w�e�iden�tify�a�masking�subterm�on�the�righ�t:����/5ait�-�is�not��Ap�(�X�:�;���y�[ٲ)�since�this�con���tains��y��,�while�a�masking�subterm�on�the�righ���t�m�ust����/5ab�Ge�{Pnot�b�e�forbidden�to��y�[ٲ.�F��*�or�the�same�reason��f���(�Ap�(�X�:�;���y��))�is�not�a�masking�term.����/5aThe�7(only�masking�term�is��X�
�itself.�The�unication�algorithm�therefore�deliv���ers�the����/5av��q�alues������o
�X����ĀӲ=������G�z�p�:���f���(�Ap�(�z�;�z��))��������=۵y����ĀӲ=�����G�X�����/5a�src:324esfor.tex�Chec���king�UUthat�this�is�a�solution�w�e�nd,�using�these�equations,���������Ap�(�X�:�;���y�[ٲ)������`�=������'��Ap�(�z�p�:���f���(�Ap�(�z�;�z��))�;�X���))���������`�=������'��f���(�Ap�(�X�:�;���X���))���������`�=������'��f���(�Ap�(�X�:�;���y�[ٲ))������/5a�src:330esfor.texOf���course,�this�is�the�standard�xed-p�Goin���t�construction�in���-calculus;�the�solution��
��/5acannot�:b�Ge�t���yp�ed�in�simple�t���yp�e�theory��*�,�and�hence�in�a�t���yp�ed�setting�there�is�no�so-����/5alution��to�this�unication�problem.�But�in�an�un���t�yp�Ged��setting,�un���t�yp�ed���-unication����/5acan�UUnd�xed�p�Goin���ts.����/5a�Implemen��9tation��Tof��(DF��

cmmib10��-calculus�in�Otter����/5a�src:336esfor.tex�Since�CNsecond�order�unication�in���v�olv�es�CNlam�b�Gda�terms,�it�is�rst�necessary�to�imple-����/5amen���t���the�lam�b�Gda-calculus.�It�is�the��untyp��}'e�d��βlam�b�Gda-calculus�that�is�implemen�ted.����/5aSee���^��6�����for��:the�theoretical�bac���kground�and�a�soundness�pro�Gof�of�the�algorithm�whose����/5aimplemen���tation��is�rep�Gorted�here.�Otter-���recognizes�the�reserv�ed�w�ords��lambda��and����/5a�ap��2�(or�synon���ymously��Ap�).�One�uses��lambda(x,Ap(f,x))��to�en�ter�the�term��x:f���(�x�).����/5aBeta-reduction��has�b�Geen�implemen���ted�in�the�framew�ork�Otter�uses�for�demo�Gdula-����/5ation.��HT��*�ec���hnicalities�necessary�to�a�v�oid�clash�of�b�Gound�v��q�ariables�ha�v�e�b�Geen�success-����/5afully��ddealt�with.�The�follo���wing�Otter�pro�Gof�sho�ws�a�b�Geta-reduction�com�bined�with����/5aan���ordinary�demo�Gdulation,�giv���en�the�demo�dulator��x�r���x���=��x�.���The�theorem�pro���v�ed���is��G�����(�x:x�8���x�)�c���=��c:����/5a�src:345esfor.tex�Of�AOcourse�the�pro�Gof�is�trivial:�it�is�only�mean���t�to�demonstrate�the�successful�imple-��
��/5amen���tation��of�����-reduction�w�orking�more�or�less�the�same�w�a�y�as�ordinary�demo�Gd-����/5aulation�Win�a�rst-order�theorem-pro���v�er.�WLine�3�of�the�pro�Gof�is�the�negation�of�the����/5agoal.��The�rst�t���w�o��lines�are�axioms.�The�pro�Gof�completes�with�the�deriv��q�ation�of�a����/5acon���tradiction.�����	lt����f���Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9����|�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���9���<38�����ȍ�;�3�src:355esfor.tex�1�?�[]�x=x.��
��;�32�?�[]�x*x=x.����;�33�?�[]�ap(ap(lambda(x,lambda(y,x)),c*c),y)!=c.����;�34�?�[3,demod,2,beta,beta]�c!=c.����;�35�?�[binary,4.1,1.1]�.���5��J�4�src:357esfor.tex�W��*�e��;giv���e�sev�eral�more�examples�that�demonstrate�the�correct�handling�of�the������;�3�calculus.���F��*�or�brevit���y�w�e�giv�e�only�the�negated�goal�from�the�input�le�and�a�brief����;�3commen���t.���These�examples�ha�v�e�short�pro�Gofs{a�single�unication�leads�to�a�unit����;�3con
ict���with�the�input��x���=��x�.���The�form���ulas�sho�wn�are�negated�b�Gecause�one�negates����;�3a�UUgoal�when�submitting�it�to�Otter-��.�The�sym���b�Gol��!=��means�\not�equals".���΍�;�3�src:364esfor.tex�ap(lambda(x,lambda(y,x)),c)�?�!=�lambda(z,c).����J�4�src:366esfor.tex�alpha-c��}'onversion���(r�enaming�b�ound�variables)����;�3�src:369esfor.tex�lambda(x,a)�?�!=�lambda(z,x).����J�4�src:371esfor.tex�The���rst��x��is�r��}'ename�d���and�then�unic��}'ation�suc�c�e�e�ds�with��x���:=��a�.����;�3�src:374esfor.tex�ap(c,ap(lambda(x,ap(c,ap(x,x))),�?�lambda(x,ap(c,ap(x,x)))))�!=����;�3ap(lambda(x,ap(c,ap(x,x))),�?�lambda(x,ap(c,ap(x,x)))).����J�4�src:376esfor.tex�This���veries�that��q�[�q��$�=��K�x:���f���(�xx�)��is�a�xe��}'d�p�oint�of��f���,�i.e.��f��(�q�[�q��)��K=��q�[�q��.�g�This����;�3example�Q.demonstrates�that�w���e�are�not�w�orking�in�a�t�yp�Ged�en�vironmen�t.�Otter-�����;�3�is���also�capable�of��nding��xed�p�Goin���ts,�not�just�v�erifying�them�as�in�this�simple����;�3example.����J�4�src:380esfor.texTw���en�t�y-one��Uy�ears�ago,�in���^��18��x�,�the�Argonne�group�published�a�description�of�the����;�3la���y�ered�m�arc�hitecture�whic�h�still�underlies�Otter.�They�remark�ed�(p.�76),�\The�data����;�3structures��yof�La���y�er��y1�supp�Gort�greater�generalit���y�(including,�for�example,�the���-����;�3calculus),��}but�for�the�time�b�Geing�La���y�er��}1�con���tains�no�manipulativ�e�pro�Gcedures�other����;�3than�UUthe�basic�ones."�The�\time�b�Geing"�lasted�t���w�en�t�y-one�UUy�ears.�� c5��;�3�Quan��9tication��Tin�a�clausal�theorem-pro�v�er����;�3�src:387esfor.tex�Although�"�it�is�normal�in�resolution-based�theorem�pro���v�ers�"�to�remo���v�e�"�quan�tiers�b�y����;�3Sk���olemization�rb�Gefore�submitting�a�problem�to�the�pro�v�er,�this�mak�es�it�dicult�to����;�3deal��with�denitions�that�in���v�olv�e��quan�tiers,�suc�h�as�con�tin�uit�y�of�a�function,�or����;�3the�$[\divides"�relation�on�in���tegers.�In�this�section�w�e�sho�w�ho�w�this�problem�can�b�Ge����;�3solv���ed��in�Otter-��.�W��*�e�sho�w�ho�w�to�treat�quan�tication�at�the�clause�lev�el,�based�on����;�3the��mac���hinery�of���-calculus�and�second-order�unication.�An�example�pro�Gof�will�b�e����;�3w���ork�ed�UUthrough�in�detail.����J�4�src:395esfor.texOne�Acan�regard��9��as�a�b�Go�olean-v��q�alued�Afunctional,�whose�argumen���ts�are�b�Go�olean����;�3functions�Z�(dened,�for�simplicit���y��*�,�on�the�in�tegers,�let's�sa�y).�Then��9�n:P�c��(�n�)�is�an����;�3abbreviation�T8for��9�(�n:P�c��(�n�)).�In���tro�Gducing�a�constan�t�sym�b�Gol��9��this�tak�es�the�ex-����;�3plicit��wform��Ap�(�9�;���n:P�c��(�n�)).�This�denition�of�quan���tication�allo�ws�one�to�w�ork����;�3with�‹quan���tied�statemen�ts�directly�in�Otter-��.�Since�Otter-���uses�only�c�haracters����;�3on���the�k���eyb�Goard,�the�constan�t�is�written��exists��in�Otter-���input�les.�One�of�the����;�3rules�UUfor��9��can�b�Ge�expressed�in�an�Otter-���le�(it�is�not�hard-co�ded):�����
zЍ���f��src:458esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�10���Michael�~Be���eson���<38�����ȍ�/5a�src:405esfor.tex�-Ap(Z,w)�?�|�exists(lambda(x,�Ap(Z,x)).��=��>5b�src:407esfor.tex�This�e}w���orks�in�Otter-���as�follo�ws:�if��Z���(�t�)�can�b�Ge�pro�v�ed�for�an�y�term��t�,�then��
��/5athe�+:literal���Ap�(�Z�(�;���w�D�)�will�b�Ge�resolv���ed�a�w�a�y��*�,�using�the�substitution��w�pw�:=�+��t�.�Then����/5a�9�(�x:Z���(�x�))��Sis�deduced,�whic���h�can�b�Ge�abbreviated�to��9�x:Z��(�x�).�No�mac���hinery�is����/5aadded��to�Otter-���to�accomplish�this,�other�than�what�has�already�b�Geen�added�for����/5a��-calculus.����>5b�src:412esfor.texThis��will�p�Germit�the�use�of�denitions�that�explicitly�in���v�olv�e��a�quan���tied�form�ula����/5ain�UUthe�denition.�F��*�or�example,�w���e�could�dene����/5a�src:417esfor.tex�divides(u,v)�?�=�exists(lambda(x,u*x�=�v)).����>5b�src:419esfor.tex�No���w,�N\giv�en�the�clause�2�����3�f!=�6,�Otter�can�deduce��divides(2,6)��as�follo���ws:����/5aFirst,�UUthe�negated�goal��-divides(2,6)��will�rewrite�to����>5b�src:422esfor.tex�-exists(lambda(x,2*x�?�=�6))�.����>5b�src:424esfor.texThis�7�will�unify�with��exists(lambda(x,Ap(Z,x))��if�2�Ϻ���x�@9�=�6�7�will�unify�with����/5a�Ap�(�Z�(�;���x�).��XSecond-order�unication�will�b�Ge�called�with��x��forbidden�to��Z���,�since�the����/5aunication�@whapp�Gens�within�the�scop�e�of�the�b�ound�v��q�ariable��x�.�W��*�e�get��Z�~4�:=���w�D�:�(2�$�����/5a�w���=�?
6).��MResolution�of�the�t���w�o��Mclauses�con���taining��exists��will�then�generate�a�new����/5aclause�UUcon���taining�the�single�literal���Ap�(�Z�(�;���w�D�)�with�this�v��q�alue�of��Z���.�Sp�Gecically��*�,���"�������Ap�(�w�D�:����(2�8���w���=��6)�;�w�D�)�:����/5a�src:431esfor.tex�That��Swill�b�Ge�����-reduced�to�2�\޸��w���6�=��6��Sso�the�clause�nally�generated�will�b�e�2�\޸��w���6�=��6.��
��/5aThat�>�resolv���es�with�2����3��=�6,�>�pro�Gducing�a�con�tradiction�that�completes�the�pro�Gof.����^��c�����>5b�src:441esfor.tex�If�T�one�w���an�ts�T�to�pro���v�e,�T�sa�y��*�,�the�transitivit�y�of�the��divides��relation,�then�one�needs����/5athe���other�la���w�for�the�existen�tial�quan�tier.�Space�do�Ges�not�p�ermit�the�inclusion�of����/5athis�UUexample,�but�it�is�p�Gosted�on�the�Otter-���w���ebsite���^��7��|s�.�����/5a�The��Talgebraic�part�of�Lagrange's�theorem����/5a�src:447esfor.tex�In�Fthis�section�w���e�use�Otter-���to�nd�a�pro�Gof�of�the�algebraic�part�of�Lagrange's����/5atheorem:�uethe�existence�of�the�map��z�p�:���z��׸�N@�a��from��H�Ec�to�the�coset��H��a�,�where��a����2��G�,����/5aand�UUthe�in���v�erse�UUof�this�map.����>5b�src:451esfor.texT��*�o�1prepare�this�for�Otter-��,�w���e�assume�that�the�range�of�the�v��q�ariables�is�the����/5agroup��̵G�,�so�w���e�do�not�need�a�unary�predicate��G�(�x�).�(See�the�section�on�\implicit����/5at���yping"�]qfor�justication.)�W��*�e�use�a�unary�predicate��H���(�x�)�for�the�subgroup��H��,�and����/5ainclude��the�axioms�that�assert�that�the�univ���erse�is�a�group�under����with�iden�tit�y��ƌ���/5a��-:�c��2�{�W��J�e��emphasize�that�this�example�is�not�mean�Ît�to�demonstrate�pro�w�ess�in�n�um�b�<rer�theory;�w�e��
��/5atold� Othe�program�that�2��5���3��=�6� Oand�concluded�that�2�divides�6,�whic�Îh�is�trivial�as�n�um�b�<rer����/5atheory��J�.��Our�p�<roin�Ît�is�rather�to�demonstrate�ho�w�the�program�expanded�a�denition�that�in�v�olv�ed�a����/5aquan�Îtier,���and�then�used�the�second-order�denition�of�quan�tiers�and�second-order�unication�to����/5aautomatically��#complete�the�pro�<rof.�On�the�other�hand,�ev�Îen�though�unmo�died�Otter�incorp�orates����/5aa�M�utilit�Îy�for�Sk�olemizing�rst-order�form�ulas,�so�that�in�some�sense�one�can�input�quan�tiers,�it����/5acannot��do�what�is�demonstrated�here:�use�quan�Îtied�form�ulas�within�the�clause�language�while�a����/5aresolution��Xpro�<rof�is�b�eing�constructed.������y����f��src:518esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���11���<38����Lȍ�;�3�e�R��and�in���v�erse�R��i�(�x�),�and�that��H�"��is�closed�under����and�in���v�erse.�R�W��*�e�also�include�a��
��;�3constan���t�UU�a��for�a�xed�elemen�t�of��G�,�and�the�denition�of�\there�exists":��0g��;�3�src:460esfor.tex�?��-Ap(Z,w)�|�exists(lambda(x,Ap(Z,x))).����J�4�src:462esfor.tex�No���w�UUconsider�ho�w�to�formalize�the�coset��H��a�.�W��*�e�ha�v�e���4�����UP�H��a�������~�=���������f�ha���:��h��2��H���g����������~�=���������f�w���:���9�h:�(�h��2��H�޸^�8�h����a���=��w�D�)�g����������~�=���������w�D�:�(�9�h:�(�h���2��H�޸^�8�h����a���=��w��))����������~=���������w�D�:�(�9�(��(�h;���H���(�h�)�8�^��h����a���=��w��)))������J�4�src:470esfor.texW��*�e�UUput�this�in���to�Otter-���using�a�function�sym�b�Gol��f�,�as�follo�ws:��:͍�J�4�src:473esfor.tex�f(w)�?�=�exists(lambda(h,�and(H(h),�h*a�=�w))).����;�3�src:476esfor.tex�W��*�e��|use�this�as�a�demo�Gdulator,�so�that�it�will�b�e�used�to�rewrite�an���y�literal��-f(t)��
��;�3�that��arises.�No���w,�for�simplicit�y��*�,�w�e�b�Gegin�b�y�pro�ving�that�there�is�a�function��F�DN�from����;�3�H�to���H��a�,�without�w���orrying�ab�Gout�the�one-to-one�and�on�to�part�y�et.�The�goal�is����;�3then����J�4�src:480esfor.tex��������9�F�c��8�x�(�x���2��H���!��Ap�(�F�G;���x�)��2��H��a�)������;�3�src:483esfor.texSince�UUw���e�are�using��f�h�for�the�c�haracteristic�function�of��H��a��this�b�Gecomes���������9�X���8�x�(�x���2��H���!��f���(�Ap�(�X�:�;���x�)))������;�3�src:487esfor.texIn���tro�Gducing�v�a�Sk�olem�function��g�[ٲ,�and�replacing��x��b�y��g�[ٲ(�X���),�the�negated�goal�b�Gecomes����;�3the�UUt���w�o�clauses�������;�H���(�g�[ٲ(�X���))�:��������Ŧĸ�f���(�Ap�(�X�:�;���g�[ٲ(�X���)))�:������;�3�src:492esfor.tex�The�aliteral���f���(�Ap�(�X�:�;���g�[ٲ(�X���)))�demo�Gdulates�and�resolv���es�with�the�existen�tial�axiom;����;�3the�UUunication�pro�Gduces�the�substitution��������U�Z�~4�:=����(�x;���and�(�H���(�x�)�;�x�8���a��=��Ap�(�X�:�;���g�[ٲ(�X���))))������;�3�src:497esfor.texand�UUthe�resolution�pro�Gduces�the�unit�clause����������Ap�(��(�x;���and�(�H���(�x�)�;�x�8���a���=��Ap�(�X�:�;���g�[ٲ(�X���))))�;�w�D�)�:������;�3�src:501esfor.tex�This�UUclause�ho���w�ev�er�UUis�not�stored�y���et,�b�Gecause�it�����-reduces�to�������A��and�(�H���(�w�D�)�;���w�}ø�8�a���=��Ap�(�X�:�;�g�[ٲ(�X���)))�:������;�3�src:505esfor.tex�W��*�e�vWno���w�require�a�sp�Gecial�rule�of�inference�that�connects�the�function�sym�b�Gol�`�and���'�to����;�3its�N�logical�meaning:�from���and�(�X�:�;���Y�8�)��j��Z���w���e�can�infer�the�clause���X�c�j�y��+;�Y��e�j��Z���,�where����;�3of�C+course��X�
�or��Y�|�could�b�Ge�negativ���e�or�p�ositiv���e�literals,��Z��G�could�b�e�a�list�of�literals,����;�3and���X�Uβand��Y��вdo�not�necessarily�come�rst�in�the�clause.�This�rule�of�inference,�along������s����f��src:552esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�12���Michael�~Be���eson���<38�����ȍ�/5a�with��a�similar�rule�for�the�function�sym���b�Gol�`�or���',�has�b�een�implemen���ted�in�Otter-��
��/5a��.��These�rules�are�sound�in�the�sense�that�they�are�pro���v��q�able�in���-logic�(���^��6��|s�).�Th�us����/5aOtter-��Ȳobtains�the�clause���H���(�w�D�)�j�w��e�����a��,�6�=��Ap�(�X�:�;���g�[ٲ(�X���)).��Next�the�literal���H��(�w�D�)����/5aresolv���es���with��H���(�g�[ٲ(�Z���)).�The�inferred�clause�is��g��(�Z���)��4���a���6�=��Ap�(�X�:�;���g��(�X���)).���The�single����/5aliteral��^in�this�clause�can�b�Ge�unied�with�the�equalit���y�axiom��x�L|�=��x�.��^This�results�in����/5aunifying�	µg�[ٲ(�Z���)��(���a��with��Ap�(�X�:�;���g�[ٲ(�X���)).�Since��g��(�X���)�is�not�atomic,�the�only�w���a�y�this����/5aunication�=�can�tak���e�place�is�if��g�[ٲ(�Z���)�����a�=ײcan�b�Ge�written�as�a�term�in��g��(�X���).�More����/5aprecisely��*�,�Apsubstituting�a�new�v��q�ariable��z���for��g�[ٲ(�X���)�in��g��(�Z���)����a�Ap�giv���es�us��z������a�,�unifying����/5a�X��Ҳwith���Z���,�so�the�top�lev���el�call�to�unify�returns�the�result��X����=���z�p�:z�޸��G�a�.�That�is����/5aexactly��cthe�desired�result�for�the�pro�Gof�of�Lagrange's�theorem:��z�p�:z�����,��a��is�the�desired����/5amap�UUfrom��H�%S�to�the�coset��H��a�.����>5b�src:519esfor.texThe���construction�of�the�map��z�p�:���z�{����a��required�nothing�but�the�denition�of����/5a\there��>exists"�and�the�existence�of�a�binary�op�Geration.�The�next�step�is�to�pro���v�e��>the����/5aexistence�UUof�an�in���v�erse�UUmap��Y����=���w�D�:���w�}ø�8�i�(�a�),�b���y�giving�Otter-���the�negated�goal�����/5a�src:522esfor.tex��A�d��f���(�Ap�(�X�:�;���g�[ٲ(�X���)))�UU�j��5�8�Ap�(�X�;�Ap�(�Y��9;�r�G�(�Y�8�)))��=��r��(�Y�8�)��A�d(5)������/5a�src:526esfor.texinstead���of�only�the�rst�half,�whic���h�w�as�the�goal�in�the�example�just�completed.�Here��
��/5a�r�G�(�Y�8�)��represen���ts�an�arbitrary�\constan�t"�forbidden�to��Y�8�,�using�the�usual�Sk�olem-����/5aization���tec���hnique.�After�nding��X��S�=�q�z�p�:���z��h��#ѵa��as�describ�Ged�ab�o���v�e,���the�program����/5adeduces��������Ap�(�z�p�:���z��w��8�a;�Ap�(�Y��9;�r�G�(�Y�8�)))���6�=��r��(�Y�8�)����/5a�src:530esfor.texwhic���h�UUb�Geta-reduces�to�����O��Ap�(�Y��9;���r�G�(�Y�8�))�8���a���6�=��r��(�Y�8�)�:����/5a�src:532esfor.tex�No���w�UUsome�group�theory�is�nally�needed.�The�program�has�to�deduce��������Ap�(�Y��9;���r�G�(�Y�8�))���6�=��r��(�Y�8�)�8���i�(�a�)�:����/5a�src:534esfor.tex�using�;�the�axioms�of�group�theory��*�.�Once�that�is�done,�this�clause�is�resolv���ed�against��
��/5a�x���=��x�,�Ğwhic���h�will�cause�the�unication�of��Ap�(�Y��9;���r�G�(�Y�8�))�with��r��(�Y�8�)�u���i�(�a�).�ĞSince��r��(�Y�8�)�is����/5aforbidden�D$to��Y�8�,�the�denition�of�unication�causes�a�new�v��q�ariable��w���to�b�Ge�substituted����/5afor�h(�r�G�(�Y�8�)�in��r��(�Y�8�)�El���i�(�a�)),�h(and�the�result�is��Y�[�=��w�w�D�:���w��O��El�i�(�a�)�as�desired.�In�order�not����/5ato��distract�atten���tion�from�the�main�issues�of�this�pap�Ger,�w�e�put�the�group-theoretic����/5alemma������ [�u�8���x���=��v��.�j�UU�u��6�=��v�����8�i�(�x�)����/5a�src:540esfor.texin���to�x*the�input�le;�but�this�is�not�necessary{one�can�commen�t�that�line�out.�Otter��
��/5ais�$�generally�go�Go�d�$�at�this�sort�of�thing,�and�unmo�Gdied�Otter�easily�nds�a�four-line����/5apro�Gof�UUof�this�lemma.����>5b�src:543esfor.texThis�example,�although�it�is�only�the�algebraic�part�of�Lagrange's�theorem,�still����/5asho���ws��!the�usefulness�of�second-order�unication�op�Gerating�as�part�of�a�resolution-����/5abased�BPpro���v�er.�The�rest�of�Lagrange's�theorem�in�v�olv�es�natural�n�um�b�Gers,�and�the����/5aconcepts�UUof�partition�and�coun���ting.�Otter-���is�also�useful�in�those�areas.�����
���f��src:587esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���13���<38�����ȍ�;�3�No��Tnilp�Q�oten��9ts�in�an�in�tegral�domain,�solv�ed�in�Otter����;�3�src:549esfor.tex�An����inte��}'gr�al�=�domain��is�a�ring�satisfying��xy�"�=��0��!��x��=�0�~�_��y��=��0.���A����nilp��}'otent��elemen���t��
��;�3is�
�an��x��suc���h�that�for�some�natural�n�um�b�Ger��n�,��x���^��n��	lM�=���0.�As�a�w�arming-up�exercise����;�3in�#�com���bining�mathematical�induction�with�algebra,�w�e�ask�ed�Otter-���to�pro�v�e�that����;�3there�Zare�no�nilp�Goten���ts�in�an�in�tegral�domain.�It�should�disco�v�er�the�instance�of����;�3induction��required�for�itself.�This�exp�Gerimen���t�w�as�successful,�and�there�are�sev�eral����;�3asp�Gects��oof�it�w���orth�discussing,�b�efore�w���e�mo�v�e�on�to�more�dicult�examples�of����;�3mathematical�UUinduction.����J�4�src:553esfor.texFirst,�,�the�clausal�form���ulation�of�induction.�Exp�Gerience�has�sho�wn�that�this�is����;�3neither��=familiar�nor�in���tuitiv�e��=to�man���y�p�Geople,�ev�en�exp�Gerts�in�automated�deduction,����;�3and�QWtherefore�w���e�sp�Gell�it�out.�Second,�the�issue�of�\sorts"�and�its�solution�b�y�\implicit����;�3t���yping".�	:Although�this�also�arises�in�connection�with�ordinary�Otter�(or�other�rst-����;�3order��pro���v�ers),�again�man�y�p�Geople�are�not�familiar�with�the�concept.�Third,�the�use����;�3of�+���-unication�to�instan���tiate�the�v��q�ariable�prop�Gert�y�in�the�induction�axiom,�th�us����;�3\nding�the�correct�instance�of�induction"�to�use.�This�is�the�imp�Gortan���t�p�oin���t�of����;�3the�UUexample{the�other�t���w�o�UUp�Goin�ts�are�just�prerequisites.����J�4�src:561esfor.texW��*�e��&tak���e�up�the�clausal�form�of�induction�no�w.�W��*�e�start�with�the�usual�form�u-����;�3lation�UUof�induction,�using�a�v��q�ariable��y��.�for�a�predicate�of�natural�n���um�b�Gers:���R����l�Ap�(�y�[�;����0)�8�^�8�x�(�Ap�(�y�;���x�)���!��Ap�(�y�;���s�(�x�)))��!��Ap�(�y�;���z�p��)����;�3�src:564esfor.texW��*�e��no���w�reduce�it�to�clausal�form.�The�univ�ersally�quan�tied��x��in�the�an�teceden�t��
��;�3has���to�get�Sk���olemized�as��g�[ٲ(�z�p�;���y��),���where��g����is�a�new�Sk�olem�function�sym�b�Gol.�As�an����;�3in���termediate�UUstep�w�e�obtain���R��x��Ap�(�y�[�;����0)�8�^��Ap�(�y�;���g��(�z�p�;�y��))���!��ap�(�y�;���s�(�g��(�z�p�;�y��)))���!��Ap�(�y�;���z�p��)�:����;�3�src:568esfor.tex�Changing�z�the�rst�implication��P�G�!����Q��to��Q�j��S��P���(where�z�as�usual�in�the�clause��
��;�3language�UUthe�v���ertical�bar�means�\or"�and�the�dash�means�\not"),�w�e�ha�v�e����v�R�Ap�(�y�[�;����0)�8�^��(��Ap�(�y�;���g��(�z�p�;�y��))�j�Ap�(�y�;�s�(�g��(�z�p�;�y��))))���!��Ap�(�y�;���z�p��)����;�3�src:571esfor.texand�UUdoing�that�again�w���e�get����z����Ap�(�y�[�;����0)�j�(�Ap�(�y�;�g��(�z�p�;�y��))�8�^��ap�(�y�[�;�s�(�g��(�z�p�;�y��))))�j�Ap�(�y�;�z�p��)����;�3�src:573esfor.texBecause�UUof�the�conjunction,�this�splits�in���to�t�w�o�clauses:��������|��Ap�(�y�[�;����0)�j�Ap�(�y�;�g��(�z�p�;�y��))�j�Ap�(�y�;�z�p��)�:������������Ap�(�y�[�;����0)�j�8���Ap�(�y�;���s�(�g��(�z�p�;�y��)))�j�Ap�(�y�;�z�p��)�:������R��J�4�src:579esfor.tex�Note�wthat�if�w���e�h�umans�c�ho�Gose�a�particular�form�ula��P�c��(�z�p��)�to�replace��Ap�(�y�[�;���z��),����;�3w���e��\can�express�induction�on�one�particular��P�*�in�ordinary�rst�order�logic.�P�eople����;�3sa���y�K�that�Otter�cannot�do�induction,�but�actually�it�can�do�induction,�if�y�ou�tell����;�3it��dwhat�instance�of�induction�to�use.�In�the�case�of�the�problem�of�\no�nilp�Goten���ts����;�3in�an�in���tegral�domain",�ob�viously�w�e�should�tak�e��P�c��(�x;���z�p��)�to�b�Ge��x���^��z����6�=�b0�:��If�w�e�do����������f��src:621esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�14���Michael�~Be���eson���<38�����ȍ�/5a�that,�{6and�giv���e�Otter�the�t�w�o�resulting�clauses�to�use�and�the�negated�goal��a���^��n��w��=�:0,��
��/5ait�U"is�not�dicult�to�set�Otter's�inference�rules�and�parameters�so�that�it�nds�a����/5apro�Gof.��HHo���w�ev�er,�one�ma�y�ob��8ject�that�with�this�form�ulation�w�e�ha�v�e�only�pro�v�ed�the����/5atheorem�2for�in���tegral�domains�whose�underlying�set�is�the�natural�n�um�b�Gers;�if�w�e����/5aw���an�t���something�more�general�w���e�ough�t�to�ha�v�e�used�unary�predicates�for�the�ring����/5aand�UUfor�the�natural�n���um�b�Gers.�UUW��*�e�will�see�in�the�next�section�that�this�is�not�so.��"38��/5a�Implicit��TT��9yping����/5a�src:589esfor.tex�In��Ythe�\no�nilp�Goten���ts�in�an�in�tegral�domain"�problem,�there�are�three�kinds,�or����/5a\sorts",��of�things�in���v�olv�ed:��ring�elemen���ts,�natural�n�um�b�Gers,�and�predicates�of�natu-����/5aral�7�n���um�b�Gers�(b�ecause�the�induction�axiom�is�stated�with�a�v��q�ariable�for�a�predicate,����/5aand�N�w���e�exp�Gect�Otter-���to�instan�tiate�that�v��q�ariable).�Should�w�e�use�unary�predi-����/5acates��to�dene�these�three�\sorts"?�Generally�w���e�wish�to�a�v�oid�using�suc�h�unary����/5apredicates�4�if�p�Gossible.�The�metho�d�of�\implicit�t���yping"�sho�ws�that�under�certain����/5acircumstances��w���e�can�disp�Gense�with�these�unary�predicates.�One�assigns�a�t�yp�Ge�to����/5aeac���h�spredicate,�function�sym�b�Gol,�and�constan�t�sym�b�Gol,�telling�what�the�sort�of�eac�h����/5aargumen���t��/is,�and�the�sort�of�the�v��q�alue�(in�case�of�a�function;�predicates�ha�v�e�Bo�Golean����/5av��q�alue).�{�Sp�Gecically�eac���h�argumen�t�p�Gosition�of�eac�h�function�or�predicate�sym�b�Gol�is����/5aassigned�$�a�sort�and�the�sym���b�Gol�is�also�assigned�a�\v��q�alue�t�yp�Ge"�or�\return�t�yp�Ge".����/5aF��*�or���example,�in�this�problem�the�ring�op�Gerations�+�and����ha���v�e���t�yp�e��׵R�����{6�R����!�l�R�Dz,����/5awhic���h�4�w�e�migh�t�express�as��ty�[�pe�(�R��;����+(�R�;�R��)).�4�If�w���e�use��N�K��for�the�sort�of�natural����/5an���um�b�Gers���then�w���e�need�to�use�a�dieren�t�sym�b�Gol�for�addition�on�natural�n�um�b�Gers,����/5asa���y�#H�ty�[�pe�(�N���;���pl�2`us�(�N�;�N��)),�#Hand�w���e�need�to�use�a�dieren�t�sym�b�Gol�for�0�in�the�ring����/5aand����z�p�er�Go��in��N��.�The�sym���b�ol��Ap��in�this�problem�satises��ty�[�pe�(�N���;���Ap�(�P�G;�N��)),���where����/5a�P�A�represen���ts��rthe�sort�of�predicates.�The�Sk�olem�sym�b�Gol��g�9K�in�the�induction�axiom����/5asatises�Gz�ty�[�pe�(�N���;���g��(�N�;���P�c��)).�GzW��*�e�call�a�form���ula�or�term�\correctly�t�yp�Ged"�if�it�is�built����/5aup��consisten���tly�with�these�t�yp�Ge�assignmen�ts.�Note�that�v��q�ariables�are�not�t�yp�Ged;�e.g.����/5a�x��+��y��:�is�-acorrectly�t���yp�Ged�no�matter�what�v��q�ariables��x��and��y��are.�But�when�a�v��q�ariable����/5ao�Gccurs��}in�a�form���ula,�it�inherits�a�t�yp�Ge�from�the�term�in�whic�h�it�o�Gccurs,�and�if�it����/5ao�Gccurs��=again�in�the�same�clause,�it�m���ust�ha�v�e�the�same�t�yp�Ge�at�the�other�o�cccurence����/5afor��the�clause�to�b�Ge�considered�correctly�t���yp�ed.�Once�all�the�function�sym���b�ols,�con-����/5astan���ts,��yand�predicate�sym�b�Gols�ha�v�e�b�Geen�assigned�t�yp�Ges,�one�can�c�hec�k�(man�ually����/5afor��no���w)�whether�the�clauses�supplied�in�an�input�le�are�correctly�t�yp�Ged.�Then�one����/5aobserv���es�Jtthat�if�the�rules�of�inference�preserv�e�the�t�yping,�and�if�the�axioms�are����/5acorrectly��t���yp�Ged,�and�the�pro�v�er�nds�a�pro�Gof,�then�ev�ery�step�of�the�pro�Gof�can�b�e����/5acorrectly���t���yp�Ged.�That�means�that�it�could�b�e�con���v�erted���in�to�a�pro�Gof�that�used�unary����/5apredicates���for�the�sorts.�Hence,�if�it�assists�the�pro�Gof-nding�pro�cess�to�omit�these����/5aunary�[predicates,�it�is�all�righ���t�to�do�so.�This�tec�hnique�w�as�in�tro�Gduced�long�ago����/5ain���^��28��x�,��	but�McCune�sa���ys�it�w�as�already�folklore�at�that�time.�It�implies�that�the�pro�Gof����/5aOtter��nds�using�an�input�le�corresp�Gonding�to�the�ab�o���v�e��form�ulation�actually�is����/5aa�<v��q�alid�pro�Gof�of�the�theorem,�rather�than�just�of�the�sp�ecial�case�where�the�ring����/5aelemen���ts�UUare�the�natural�n�um�b�Gers.������Y����f��src:663esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���15���<38�����ȍ�;�3�No��Tnilp�Q�oten��9ts�in�an�in�tegral�domain,�solv�ed�in�Otter-�����;�3�src:616esfor.tex�Using���Otter-���instead�of�Otter,�w���e�just�giv�e�the�pro�v�er�the�general�form�ulation�of��
��;�3induction,�UUwith�a�v��q�ariable�for�the�predicate.�Recall�those�t���w�o�UUclauses:���G������|��Ap�(�y�[�;����0)�j�Ap�(�y�;�g��(�z�p�;�y��))�j�Ap�(�y�;�z�p��)�:������������Ap�(�y�[�;����0)�j�8���Ap�(�y�;���s�(�g��(�z�p�;�y��)))�j�Ap�(�y�;�z�p��)�:�������;�3�src:622esfor.tex�Otter-����will�apply�binary�resolution�to�the�negated�goal��a���^��n��8��=��0�and�the�third�literal��
��;�3in���eac���h�of�the�t�w�o�induction�clauses.�Un�t�yp�Ged���-unication�will�get�the�inputs����;�3�Ap�(�y�[�;���z�p��)���and��a���^��n��
Fz�6�=��0�as�terms�to�b�Ge�unied.�The�result�will�b�e�to�instan���tiate��y����;�3�to����z�p�:���a���^��z��	b�6�=��O0.�The�term���Ap�(�y�[�;��0)�will�b�Gecome���Ap�(�z�p�:�a���^��z��	b�6�=��O0)�;��0),�whic���h�will����;�3b�Geta-reduce�ݖto��a���^��0��&��6�=��-0,�readily�recognized�as�the�basis�case�of�the�induction.�This����;�3case�_�can�b�Ge�solv���ed�(resolv�ed�a�w�a�y)�using�the�axioms��x���^��0��U9�=���1�and�1��6�=�0.�There�then����;�3remain�=t���w�o�clauses�with�one�literal�eac�h.�W��*�riting��c��to�abbreviate��g�[ٲ(�n;����(�z�p�:�a���^��z��b��6�=��0)),����;�3the�remaining�clauses�can�b�Ge�written��a���^��c��u�=��0�and��a���^��s�(�c�)����6�=�0.�This�is�eviden���tly�the����;�3induction��9step,�set�up�for�pro�Gof�b���y�con�tradiction.�The�Sk�olem�term��c��can�b�Ge�though�t����;�3of�UUas�an�arbitrary�\constan���t".�Indeed�Otter-���nds�a�pro�Gof.����J�4�src:637esfor.texBut���do�Ges�this�pro�of�actually�pro���v�e���the�theorem?�W��*�e�ask�whether�implicit�t���yping����;�3remains�/�a�v��q�alid�tec���hnique�in�Otter-��,�where�b�Geta-reduction�and�lam�b�Gda-unication����;�3are�0�used�in�the�inference�pro�Gcess.�A�0&��-term��x:���t��(whic���h�in�Otter-���is�written����;�3�lambda(x,t)�)���is�correctly�t���yp�Ged�if��t��is�correctly�t�yp�Ged.�In�that�case�if��x��o�ccurs����;�3in�W��t��it�inherits�a�t���yp�Ge�from�its�paren�ts�in��t��(and�since��t��is�correctly�t�yp�Ged�it�in-����;�3herits��the�same�t���yp�Ge�from�all�o�ccurrences).�If�that�t���yp�e�is��R�Ҳand�the�return�t���yp�e����;�3of�Ų�t��is��S�Y?�then��x:���t��has�the�return�t���yp�Ge��R��$�!��]�S��of�functions�from��R��y�to��S����.�W��*�e�can����;�3also�|�ask�whether�the�algorithm�for�un���t�yp�Ged�|�lam�b�da-unication�|�preserv�es�correct����;�3t���ypings.��:F��*�or�no�w,�suce�it�to�sa�y�that�in�the�case�of�the�\no�nilp�Goten�ts"�problem,����;�3lam���b�Gda-unication�i�is�used�only�to�instan�tiate��y�ŗ�to��z�p�:���a���^��z�����6�=��0.�(This�is�the�0�of�the����;�3ring,�x@not�the��zer��}'o��of��N��,�so�that��Ap�(�y�[�;���z�p��)�is�made�equal�to��a���^��z���۸6�=�J0.�In�the�induction����;�3clauses,����Ap��can�b�Ge�correctly�t���yp�ed�b���y��ty�[�pe�(�B��qool�2`ean;���Ap�(�P�c�r�ed;�N��)),���where��P�c�r�ed��is����;�3the��t���yp�Ge�of�predicates�on��N��,�i.e.,��N����!�xߵB��qool�2`�.�Th�us��y�ٲinherits�the�t�yp�Ge��P�c�r�ed��from����;�3its�W�o�Gccurrences�in�(eac���h�of��)�those�clauses.�The�term��z�p�:���a���^��z��f��6�=��-0�also�has�t�yp�Ge��P�c�r�ed�,����;�3so�UUat�least�in�this�pro�Gof,�implicit�t���yping�do�es�apply��*�.����J�4�src:651esfor.texThis��;argumen���t�illustrates�the�p�Goin�t�that�while�w�e�can�sometimes�guaran�tee�in����;�3adv��q�ance��wof�running�a�pro���v�er��w(Otter�or�Otter-��)�that�a�pro�Gof�obtained�from�a�par-����;�3ticular��input�le�will�certainly�b�Ge�correctly�t���ypable���^��d��n��,�it�is�also�p�ossible�to�run�the����;�3pro���v�er�]Nrst,�and�then�insp�Gect�the�resulting�pro�of,�v���erifying�that�it�can�b�e�correctly����;�3t���yp�Ged.�lIn�the�example�at�hand,�it�is�p�ossible�to�carry�out�an��a�G�priori��argumen���t,�but����;�3w���e���do�not�do�that�here�and�no�w.�W��*�e�simply�w�an�t�to�illustrate�ho�w�Otter-���can�nd����;�3the�bScorrect�instance�of�induction,�and�ho���w�implicit�t�yping�can�b�Ge�used.�As�of�June�������;�3��-:�d��@Ni�There�z*is�an�essa�Îy�ab�<rout�implicit�t�yping�on�the�Otter-���w�ebsite���-:�7���ѹcon�taining�a�theorem�ab�<rout�this,��
��;�3but��Xit�is�to�<ro�long�to�include�here.������э���f��src:703esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�16���Michael�~Be���eson���<38�����ȍ�/5a�2004,���Otter-���can�mak���e�use�of�an�optional�list�of�t�ypings�of�function�sym�b�Gols�and��
��/5apredicates�";supplied�in�the�input�le�to�ensure�that�it�pro�Gduces�only�uniers�that����/5aresp�Gect�UUthose�t���ypings.��AՍ�/5a�Can��9tor's��Ttheorem�and�Russell's�parado�x����/5a�src:666esfor.tex�One�]�of�the�most�celebrated�examples�of�the�use�of�higher-order�unication�in����/5atheorem-pro���ving�M�is�the�automatic�generation�of�the�\diagonal"�pro�Gof�of�Can�tor's����/5atheorem�Ȓ(see�e.g.���^��4��|s�).�Since�this�theorem�and�its�pro�Gof�seem�at�rst�glance�to�b�e�hea���v-����/5aily���dep�Genden���t,�on�t�yp�Ge�theory��*�,�w�e�w�an�t�to�sho�w�that�Otter-���also�can�nd�the�pro�Gof.����/5aW��*�e�use�the�metho�Gd�of�\implicit�t���yping"�discussed�ab�o���v�e�to�form���ulate�this�problem.����/5aIn���tuitiv�ely��*�,���w�e�ha�v�e�a�set�(or�t�yp�Ge)�����and�its�p�o���w�er�set��P�c��(��	z�),�and�w�e�supp�Gose�for����/5apro�Gof��5b���y�con�tradiction�that�w�e�ha�v�e�a�map��c��from���ۯ�on�to��P�c��(��	z�).�Then�the�statemen�t����/5ato�UUb�Ge�pro���v�ed�UUcon�tradictory�is���r~/�8�x���2��P�c��(��	z�)�9�j�Y��2����8�z�7��2����(�Ap�(�x;���z�p��)�=��Ap�(�Ap�(�c;�j����)�;�z�p��))�:����/5a�src:674esfor.tex�As�@nusual�w���e�in�tro�Gduce�a�Sk�olem�function��j�Y��=���J��9�(�x�).�Then�the�\negated�goal"�b�Gecomes�������Ap�(�x;���z�p��)��=��Ap�(�Ap�(�c;�J��9�(�x�))�;�z�p��)�:����/5a�src:676esfor.tex�W��*�e�UUalso�need�the�follo���wing�t�w�o�axioms:����������w���6�=���not�(�w�D�)�������"denition�UUof�negation������������u���6�=��v�[ٸj�v�"�=��u������"�symmetry�UUof�equalit���y������/5a�src:681esfor.texThe�UU(implicit)�t���ypings�in�this�problem�are�as�follo�ws:������mu_��^�J��9�(�P�c��(��	z�))���������J�K��maps�UU�P�c��(��	z�)�in���to�����������o�KP�c��(��	z�)�UU�c�(���)���������c�UU�maps���^ϲin���to��P�c��(��	z�)���������L�K�P�c�r�Gop�UUAp�(�P��(��	z�)�;�����)��������e�Ap�UU�is�prop�Gosition-v��q�alued�on��P�c��(��	z�)���������\�D�P�c��(��	z�)�UU�Ap�(���;�����)��������where�UU���q�is�the�t���yp�Ge�of�maps�from���^ϲto��P�c��(��	z�)���������U��P�c�r�Gop�UUnot�(�P�r�op�)�������the�UUnegation�of�a�prop�Gosition�is�a�prop�osition������/5a�src:689esfor.texThese�Yt���yp�Ges�are��implicit�,�i.e.�do�not�form�part�of�the�input�to�the�pro�v�er.�Note�that��
��/5a�Ap�rw�do�Ges�not�ha���v�e�rwa�unique�implicit�t���yp�e�in�this�problem,�unlik���e�in�the�problem�ab�out����/5anilp�Goten���ts�5Min�in�tegral�domains.�Nev�ertheless�the�second�argumen�t�of��Ap��alw�a�ys�has����/5at���yp�Ge���	z�.�W��*�e�do�not,�then,�kno�w��a�L�priori��that�an�Otter-���pro�Gof�of�con�tradiction�from����/5athe�I�goal�giv���en�ab�Go�v�e�will�b�Ge�correctly�t�ypable,�but�this�can�easily�b�Ge�v�eried�b�y����/5ainsp�Gection�.if�it�is�true�for�a�giv���en�pro�of.�Otter-���nds�suc���h�a�pro�of�instan���taneously:����/5aIt�_rresolv���es�the�equation��Ap�(�x;���z�p��)���=��Ap�(�Ap�(�c;�J��9�(�x�))�;�z�p��)�_rwith��u���6�=��v�[ٸj�v�3̲=��u�,�_rpro�Gducing����/5athe�UUnew�conclusion����j.�Ap�(�Ap�(�c;���J��9�(�x�))�;�y�[ٲ)��=��Ap�(�x;���y��)�:����/5a�src:696esfor.tex�This�C�is�then�resolv���ed�with��w��f�6�=����not�(�w�D�);�the�rst�step�assigns��w��|�the�v��q�alue��
��/5a�Ap�(�Ap�(�c;���J��9�(�x�))�;�y�[ٲ),�UUand�then�w���e�ha�v�e�the�unication�problem�����K��Ap�(�x;���y�[ٲ)��=��not�(�Ap�(�Ap�(�c;�J��9�(�x�))�;�y�[ٲ))�:�����﹍���f��src:734esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���17���<38�����ȍ�;�3�src:697esfor.tex�The�V2\masking�term"�on�the�righ���t,�i.e.�the�smallest�term�that�con�tains�all�o�Gc-��
��;�3currences�:^of��x�,�and�o�Gccurring�as�a�second�argumen���t�of��Ap�,�is��J��9�(�x�).�Therefore����;�3our�G3unication�algorithm�selects��J��9�(�x�)�and��y���to�b�Ge�replaced�b���y�the�new���-b�ound����;�3v��q�ariable,�~4and�tak���es��x�`��=��u:not�(�Ap�(�Ap�(�c;���u�))�;�u�))�~4and��y��a�=�`��J��9�(�x�),�or�explicitly��*�,����;�3�y�"�=���J��9�(�u:not�(�Ap�(�Ap�(�c;���u�))�;�u�)).�E�W��*�e�c���hec�k�E�this�solution:��Ap�(�x;���y�[ٲ)�then�b�Geta-reduces����;�3to��not�(�Ap�(�Ap�(�c;���y�[ٲ))�;�y��)),��but��y���=��ѵJ��9�(�x�),�so�w���e�ha�v�e��not�(�Ap�(�Ap�(�c;���J��9�(�x�))�;�y�[ٲ)),��whic�h����;�3is�z�the�righ���t-hand�side�of�the�unication�problem.�Y��*�es,�they�are�equal.�The�Otter-�����;�3�input���le�and�resulting�pro�Gof�are�a���v��q�ailable�online�at���^��7��|s�.�It�is�apparen�t�that�the�Otter-�����;�3�pro�Gof�UUis�correctly�t���ypable.����J�4�src:704esfor.texIt�̙is�quite�am���using�that�this�v�ery�same�pro�Gof�is�also�a�pro�of�of�Russell's�parado���x.����;�3T��*�o�+�see�this,�w���e�use�the�usual�represen�tation�of�sets�in���-calculus,�namely�w�e�regard����;�3�u�G&�2��v����as�;�an�abbreviation�for��Ap�(�v�[�;���u�),�where��v��is�a��P�c�r�Gop�-v��q�alued�mapping.�Then����;�3if�R�w���e�add�the�axioms��Ap�(�c;���x�)�m=��x�R��and��Ap�(�J���;�x�)�m=��x�R��to�the�input�le,�the�term����;�3�x�+��=��u:not�(�Ap�(�Ap�(�c;���u�))�;�u�))���is�just�another�notation�for��f�u�+��:��u��62��Ap�(�c;���u�)�g��=��f�u��:����;�3�u���62��u�g�.��
That�is�just�the�Russell�set��R�Dz,�automatically�dened�b���y�the�magic�of�higher-����;�3order�sMunication.�But�note�that�the�Russell�parado���x�cannot�ev�en�b�Ge�form�ulated�in����;�3t���yp�Ge���theory{that�w�as,�after�all,�the�p�Goin�t�of�Russell's�in�v�en�tion�of�t�yp�Ge�theory��*�.�Of����;�3course,���w���e�could�remo�v�e��c��and��J��.�en�tirely��*�,�rather�than�adding�extra�axioms�sa�ying����;�3they��2are�the�iden���tit�y��*�,��2but�lea���ving�them�in�sho�ws�the�relation�b�Get�w�een�Can�tor's����;�3theorem�UUand�Russell's�parado���x�more�clearly��*�.����J�4�src:713esfor.texW��*�e�4Hcan�mo�Gdify�this�input�le�in�t���w�o�4Hdieren�t�w�a�ys�to�escap�Ge�Russell's�parado�x;����;�3these�P�mo�Gdications�corresp�ond�directly�to�the�traditional�\solutions"�of�the�parado���x.����;�3First,�Sw���e�can�simply�regard�the�parado�x�as�sho�wing�that�there�is�no�xed�p�Goin�t�of����;�3�not�:���it�is�the�axiom��w��6�=��9�not�(�w�D�)�that�is�susp�Gect.�W��*�e�can�sa���y�that�this�holds�only����;�3for��prop�Gositions.�Alternately�w���e�can�sa�y�that�the�problem�is�that��Ap��is�not�total.����;�3W��*�e���need�to�allo���w�for�prop�Gositions�that�\nev�er�con�v�erge"�to�true�or�false.�W��*�e�can�do����;�3that���b���y�in�tro�Gducing�a�\logic�of�partial�terms",�replacing�the�equalit�y�axiom��x�4$�=��x����;�3�b���y�/8�x�2:�=��x�j�E����(�x�),�where��E��(�x�)�means�\�x��is�dened"�or�\�x��exists".�Then�w���e�get�no����;�3con���tradiction�h�unless�w�e�also�assume��E����(�R�Dz);�in�other�w�ords,�the�\parado�x"�sho�ws����;�3that��Nthe�expression�\dening"�the�Russell�set�is�actually�undened;�or�one�ma���y����;�3c���ho�Gose�UUto�express�this�b�y�sa�ying�the�Russell�set�do�Ges�not�exist.����J�4�src:722esfor.texThis��2latter�ne�distinction�is�re
ected�in�dieren���t�logics�of�partial�terms.�More����;�3than���one�suc���h�logic�has�b�Geen�studied�(see���^��5��|s�,�p.�97.),�and�no�w�w�e�are�able�to�deal�with����;�3them��&in�Otter-��.�F��*�eferman's�theories�of�classes�and�op�Gerations�(see���^��5��|s�,�Chapter�X),����;�3whic���h��Rha�v�e�b�Geen�put�forw�ard�as�a�comp�Getitor�to�t�yp�Ge�theory�for�the�formalization�of����;�3mathematics,��are�based�on�a�logic�of�partial�terms�(or�the�equiv��q�alen���t).�No�w,�higher-����;�3order���unication�can�b�Ge�used�with�these�theories,�not�only�with�t���yp�e�theory��*�.�See���^��6�����;�3�for�UUmore�on�this�sub��8ject.��"38��;�3�Comm��9utativit�y��Tof�addition�pro��9v�ed��Tfrom�P��9eano's�axioms����;�3�src:729esfor.tex�W��*�e���no���w�giv�e�an�example�to�illustrate�searc�h�and�un�t�yp�Ged���-unication�w�orking����;�3in��(concert.�The�example�is,�to�pro���v�e��(the�comm���utativit�y��(of�addition�from�P���eano's������B����f���Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�18���Michael�~Be���eson���<38�����ȍ�/5a�axioms.��Of�course,�w���e�don't�need�the�axioms�ab�Gout�m�ultiplication{all�w�e�need�is��
��/5athe��sdenition�of�addition�and�the�induction�axioms.�Sp�Gecically�the�axioms�and�the����/5anegated�UUgoal�are�sho���wn�in�the�rst�six�lines�of�the�pro�Gof:��u��/5a�src:741esfor.tex�1�?�[]�x+0=x.����/5a10�?�[]�x=x.����/5a13�?�[]�-ap(y,0)|ap(y,g(z,y))|ap(y,z).����/5a14�?�[]�-ap(y,0)|�-ap(y,s(g(z,y)))|ap(y,z).����/5a15�?�[]�x+s(y)=s(x+y).����/5a16�?�[]�a+n!=n+a.����/5a�src:742esfor.tex�A���t�UUthe�next�step,�Otter-���nds�the�correct�instance�for�the�main�induction:����/5a�src:745esfor.tex�?��a!=0+a|a+s(g(n,lambda(x,a+x=x+a)))!=s(g(n,lambda(x,a+x=x+a)))+a.����/5a�src:746esfor.tex�The��Wo�Gccurrence�of�this�lam���b�da�term�sho���ws�that�Otter-���is�attempting�to�pro�v�e����/5a�a���+��x���=��x���+��a�U�b���y�induction�on��x�.�Later�in�the�pro�Gof�Otter-���constructs�and�uses�the����/5aterms��s�lambda(y,y=0+y)�,�indicating�that�it�will�try�to�pro���v�e��sthe�basis�case�of�the����/5amain�UUinduction�b���y�induction�on�the�other�v��q�ariable,�and����/5a�src:751esfor.tex�?��lambda(y,s(g(n,lambda(z,a+z=z+a))+y)=s(g(n,lambda(u,a+u=u+a)))+y).����/5a�src:752esfor.tex�W��*�riting���c��to�abbreviate�the�inner�Sk���olem�term,�this�is��lambda(y,s(c+y)=s(c)+y)�,����/5asho���wing�Όthat�it�has�iden�tied�the�crucial�lemma:�it�will�try�to�pro�v�e��s(c+y)�?�=����/5as(c)+y���b���y�induction�on��y�.�When�I���pro�v�ed�this�theorem�b�y�hand,�I���c�hose�to�pro�v�e����/5a�c+s(y)�?�=�s(c)+y���b���y�induction�on��y�,�whic�h�is�just�one�step�a�w�a�y�from�Otter-��'s����/5ac���hoice,�E=b�y�the�denition�of�addition.�Here�are�the�remaining�t�w�en�t�y�steps�of�Otter-����/5a��'s�v�pro�Gof�of�the�theorem,�edited�for�readabilit���y�b�y�substituting��c�,��b�,�and��d��for�Sk�olem����/5aterms��in���v�olving�the�three�instances�of�induction�just�men�tioned.�The�unedited�pro�Gof����/5acan���b�Ge�read�(or�regenerated)�at���^��7��|s�.�The�searc���h�w�as�mo�Gdest�b�y�Otter's�standards:�8980����/5aclauses�Tw���ere�generated,�and�the�pro�Gof�to�ok�t���w�o�Tseconds�of�CPU�time�to�nd.�Ev���en����/5aso,�UUnding�it�unaided�direct�from�P���eano's�axioms�is�an�in�teresting�ac�hiev�emen�t.����/5a�src:784esfor.tex�17�?�[binary,16.1,14.3,demod,beta,1,beta]�a!=0+a|a+s(c)!=s(c)+a.����/5a18�?�[binary,16.1,13.3,demod,beta,1,beta]�a!=0+a|a+c=c+a.����/5a35�?�[binary,17.1,14.3,demod,beta,1,beta,unit_del,10]�a+s(c)!=s(c)+a|s(b)!=0+s(b).����/5a36�?�[binary,17.1,13.3,demod,beta,1,beta,unit_del,10]�a+s(c)!=s(c)+a|b=0+b.����/5a56�?�[binary,18.1,14.3,demod,beta,1,beta,unit_del,10]�a+c=c+a|s(b)!=0+s(b).����/5a57�?�[binary,18.1,13.3,demod,beta,1,beta,unit_del,10]�a+c=c+a|b=0+b.����/5a85�?�[para_from,57.2.2,15.1.2.1]�0+s(b)=s(b)|a+c=c+a.����/5a102�?�[para_from,36.2.2,15.1.2.1]�0+s(b)=s(b)|a+s(c)!=s(c)+a.����/5a716�?�[para_from,85.1.1,56.2.2,unit_del,10,factor_simp]�a+c=c+a.����/5a719�?�[para_from,716.1.1,15.1.2.1]�a+s(c)=s(c+a).����/5a735�?�[para_from,719.1.1,15.1.1]�s(c+a)=s(a+c).����/5a759�?�[para_into,735.1.2,15.1.2]�s(c+a)=a+s(c).����/5a1598�?�[para_from,102.1.1,35.2.2,unit_del,10,factor_simp]�a+s(c)!=s(c)+a.�����P����f��src:826esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���19���<38�����ȍ�;�3�1612�?�[para_into,1598.1.1,759.1.2]�s(c+a)!=s(c)+a.��
��;�31620�?�[binary,1612.1,14.3,demod,beta,1,1,beta,unit_del,10]�s(c+s(d))!=s(c)+s(d).����;�31621�?�[binary,1612.1,13.3,demod,beta,1,1,beta,unit_del,10]�s(c+d)=s(c)+d.����;�31634�?�[para_into,1621.1.1,15.1.2]�c+s(d)=s(c)+d.����;�31663�?�[para_from,1634.1.1,15.1.2.1]�c+s(s(d))=s(s(c)+d).����;�31710�?�[para_into,1620.1.2,15.1.1]�s(c+s(d))!=s(s(c)+d).����;�31764�?�[para_into,1663.1.1,15.1.1]�s(c+s(d))=s(s(c)+d).����;�31765�?�[binary,1764.1,1710.1]�$F.������;�3�Related��Tw��9ork����;�3�src:788esfor.tex�F��*�or�#Areferences�to�the�h���undreds�of�tec�hnical�pap�Gers�ab�out�higher-order�unication����;�3in�$_t���yp�Ged�formalisms,�see���^��1�;�14���Y�.�As�far�as�I�$*can�determine,�there�has�b�een�no�previ-����;�3ous��+implemen���tation�of�lam�b�Gda-calculus�and�second-order�unication�in�an�un�t�yp�Ged,����;�3resolution-based,���rst-order�theorem�pro���v�er.���Therefore�the�related�w���ork�consists����;�3mostly�UUof�implemen���tations�of�higher-order�logic.�These�include:��������U�2�����_�3�src:794esfor.tex�PVS,�UUdev���elop�Ged�at�SRI�under�the�direction�of�N.�Shank��q�ar���^��26��������U�2�����_�3�src:795esfor.tex�HOL-Ligh���t,�x;whic�h�w�as�written�b�y�John�Harrison���^��15�;�16���̲,�and�is�curren�tly�b�Geing����_�3used�UUb���y�him�at�In�tel's�P�ortland�facilit�y�������U�2�����_�3�src:797esfor.tex�NuPrl,�UUdev���elop�Ged�at�Cornell�under�the�direction�of�Constable���^��11��������U�2�����_�3�src:798esfor.tex�Isab�Gelle,�UUdev���elop�ed�b���y�P�aulson�and�Nipk�o�w���^��22��������U�2�����_�3�src:799esfor.tex�Co�Gq,�UUdev���elop�ed�at�INRIA,�and�also�in�use�in�Nijmegen���^��12��������U�2�����_�3�src:800esfor.tex��-Prolog���^��21��������U�2�����_�3�src:801esfor.tex�TPS���^��20�;�2�;�4�����J�4�src:804esfor.tex�PVS,�G�HOL-Ligh���t,�NuPrl,�Isab�Gelle,�Theorema,�and�Co�q�are�primarily�pro�of-����;�3c���hec�k�ers,��gnot�pro�Gof-nders,�although�all�of�them�ha���v�e��gsome�abilit���y�to�ll�in�the�small����;�3steps��{of�a�pro�Gof�automatically��*�.�Isab�elle�uses�higher-order�unication�(see���^��22��x�,�p.�77).����;�3Co�Gq�Uis�based�on�the�Calculus�of�Constructions���^��13��x�.�A�T�discussion�of�the�theoretical�basis����;�3of��KCo�Gq�and�a�history�of�its�dev���elopmen�t��Kcan�b�e�found�in�the�in���tro�duction�to���^��12��x�,�whic���h����;�3states�"�that�\the�salien���t�feature�whic�h�clearly�distinguishes�our�pro�Gof�assistan�t���:���:�:����is����;�3its���p�Gossibilit���y�[abilit�y]�to�extract�programs�from�the�constructiv�e�con�ten�t�of�pro�Gofs."����;�3Co�Gq��Zuses�at�least�some�higher-order�unication���^��e��:�,�but�has�no�signican���t�pro�of-searc���h����;�3capabilities.�W�Theorema�inherits�lam���b�Gda-calculus�from�Mathematica�(��F��;�unction[x,t]��is����;�3Mathematica�ɕnotation�for��x:���t�),�but�the�deduction�apparatus�of�Theorema�is�based����;�3on�h;rst-order�natural�deduction.�The�arc���hitecture�of�Theorema�allo�ws�for�m�ulti-����;�3ple��0(sp�Gecial-purp�ose)�pro���v�ers,�but�no�pro�v�er�using�higher-order�unication�has�b�Geen����;�3designed�Uor�implemen���ted.�NuPrl�do�Ges�not�use�higher-order�unication;�its�pro�of-��~.���;�3��-:�e��?�M�I�w
could�w4not�nd�this�stated�in�the�Co�<rq�tutorial�or�man�Îual,�but�searc�hing�the�Co�<rq�source�co�de��
��;�3one���nds�sev�Îeral�men�tions�of�it,�e.g.�the�commen�t�in�the�implemen�tation�of�the��apply��tactic:�\Last����;�3c�Îhance:���if�the�head�is�a�v��ariable,�apply�ma�y�try�second�order�unication".�On�the�other�hand�Co�<rq����;�3often���rep�<rorts�\Cannot�solv�Îe�a�second-order�unication�problem,"�but�one�cannot�b�e�certain�what����;�3that��Ximplies�ab�<rout�the�implemen�Îtation�details,�if�an�ything.����� U����f��src:871esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�20���Michael�~Be���eson���<38�����ȍ�/5a�c���hec�king�Umetho�Gd�is�based�on�term�reduction�of�a�pro�of�term�constructed�b���y�the��
��/5auser-directed�xapplication�of�tactics.�That�same�description�applies�to�HOL-Ligh���t.����/5aPVS�ɷis���similar,�but�with�emphasis�placed�on�the�inclusion�of�decision�pro�Gcedures,����/5aand� more�recen���tly��*�,�mo�Gdel-c�hec�king���^��26��x�.�PVS��has�mainly�b�Geen�applied�to�the�v�eri-����/5acation�`�of�programs,�e.g.�micro�Gco�de�`�for�a�commercial�c���hip.���-Prolog�extends�Prolog����/5ato�d�a�larger�class�of�form���ulae�using�higher-order�tec�hniques,�but�lik�e�Prolog,�it�is����/5abased�J�on�a�depth-rst�searc���h�algorithm�rather�than�an�arc�hitecture�that�main�tains����/5aa���database�of�generated�conclusions�and�uses�strategies�to�con���trol�the�reten�tion�of����/5aconclusions�cNand�the�selection�of�the�paren���ts�for�the�next�generation�of�conclusions.����/5aIt��Ndo�Ges�mak���e�use�of�higher-order�unication.�The�table�b�elo���w�summarizes�this�infor-����/5amation.�R&A���CL2���^��8��Ι�and�Theorema���^��10����are�included,�ev�en�though�they�do�not�implemen�t����/5ahigher-order�UUlogic.���X*���fi��/5a�src:832esfor.tex�����ωff���	�����ͤ�i�
ff�����System�����
ff����
ff���DAHigher��Torder�	�!��i�
ff����k�Accum��9ulates�
��i�
ff����~�Pro�Q�of�"����i�
ff���?U�Can��Tv��\rary�rules�	�!��i�
ff�������͟�i�
ff�;�ۄ
ff����
ff���I�unication?�X\��i�
ff�����Conclusions?�	�!��i�
ff����>�Searc��9h?�K��i�
ff���@yRand��Tstrategies?��.��i�
ff���Lωff�������ͤ�i�
ff�����PVS�!����
ff����
ff���R\mmatc���hing����i�
ff�����	n�%m��i�
ff�����some�!���i�
ff���c��y�*���i�
ff����ff�������ͤ�i�
ff��Ο��HOL-Ligh���t��͡�
ff����
ff���c�oy�%����i�
ff�����	n�%m��i�
ff�����MESON�����ff����T��*�A���C�
���i�
ff���cm,n�)���i�
ff����ff�������ͤ�i�
ff����Isab�Gelle����
ff����
ff���c�oy�%����i�
ff�����	n�%m��i�
ff���	�$n�)�a��i�
ff���c��y�*���i�
ff����ff�������ͤ�i�
ff��Ο��NuPrl�LС�
ff����
ff���c��n�%wm��i�
ff�����	n�%m��i�
ff���	�$n�)�a��i�
ff���cm,n�)���i�
ff����ff�������ͤ�i�
ff��Ο��Co�Gq�$
ff����
ff���c�oy�%����i�
ff�����	n�%m��i�
ff���	�$n�)�a��i�
ff���cm,n�)���i�
ff����ff�������ͤ�i�
ff����Theorema�	�]��
ff����
ff���c��n�%wm��i�
ff�����	n�%m��i�
ff�����some�!���i�
ff���c��y�*���i�
ff����ff�������ͤ�i�
ff������Prolog�����
ff����
ff���c�oy�%����i�
ff�����	n�%m��i�
ff����HH�UUform���ulas�only��͟�i�
ff���cm,n�)���i�
ff����ff�������ͤ�i�
ff����TPS�"E���
ff����
ff���c�oy�%����i�
ff������y�%����i�
ff���	�y�)���i�
ff���[W�some�!�i�
ff����ff�������ͤ�i�
ff����A���CL2�)C��
ff����
ff���c��n�%wm��i�
ff�����	n�%m��i�
ff���	�y�)���i�
ff���cm,n�)���i�
ff����ff�������ͤ�i�
ff����Otter��_��
ff����
ff���c��n�%wm��i�
ff������y�%����i�
ff���	�y�)���i�
ff���c��y�*���i�
ff����ff�������ͤ�i�
ff��Ο��Otter-��ų��
ff����
ff���[���some�b��i�
ff������y�%����i�
ff���	�y�)���i�
ff���c��y�*���i�
ff����ff�������An��>5b�src:850esfor.texOf��7the�systems�men���tioned,�the�one�most�relev��q�an�t�to�our�w�ork�is�TPS.�In���^��3��|s�,�the����/5acreators�UUof�TPS�sa���y��*�,���Ѝ�A5a�src:854esfor.tex�/o���		cmr9�TPS�[�com��9bines�[�ideas�from�t�w�o�elds�whic�h,�regrettably��:�,�ha�v�e�not�ac�hiev�ed�m�uc�h����A5across-fertilization.���On�the�one�hand,�there�is�the�traditional�ҫw��9ork�in�rst-order����A5atheorem��0pro��9ving�using�suc�h�metho�A�ds�as�resolution,�mo�del�elimination,�or�connec-����A5ation�@�graphs.�On�the�other�hand�w��9e�nd�a�v��|ran�t-garde�@�pro�A�of-c�hec�k�ers�and�theorem����A5apro��9v�ers�i
for�t��9yp�A�e�theories�of�a�v��|rariet�y�of�
a�v�ors,�mostly�cen�tered�around�in�teractiv�e����A5apro�A�of�Tconstruction�with�the�aid�of�tactics.����/5a�src:861esfor.tex�The���same�could�b�Ge�said�ab�out�Otter-��.�The�dierence�is�that�TPS��ximp�orts�inference����/5amec���hanisms�?from�rst-order�pro�v�ers�in�to�a�t�yp�Ged�system,�while�w�e�imp�Gort�unication����/5ametho�Gds��afrom�higher-order�logic�in���to�a�rst-order�system.�Is�there�an�y�p�Goin�t�in����/5ataking��3this�dieren���t�approac�h�to�the�problem?�After�all�the�higher-order�metho�Gds����/5aare�8�complete�for�rst-order�logic,�so�it�migh���t�b�Ge�(and�has�b�een!)�alleged�that�it�is�a�����0�����f��src:917esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���21���<38�����ȍ�;�3�w���aste��sof�energy�to�try�to�incorp�Gorate�higher-order�metho�ds�in�an�existing�rst-order��
��;�3pro���v�er�UUlik�e�Otter.���^��f����Here�is�another�quote�from���^��3��|s�:�����M�3�src:873esfor.tex�Naturally��:�,�wOTPS�w5can�b�A�e�used�to�pro��9v�e�wOtheorems�of�rst-order�logic,�but�w��9e�fo�cus����M�3mainly��on�examples�from�higher-order�logic.�(Apart�from�the�dev��9elopmen�t��of�path-����M�3fo�A�cused��duplication,�a�relativ��9ely�small�part�of�the�dev�elopmen�t�eort�for�TPS���has����M�3b�A�een��jdev��9oted�th�us�far�to�certain�basic�issues�of�searc�h�whic�h�are�imp�A�ortan�t�for����M�3rst-order�Tlogic.)�����;�3�src:879esfor.tex�Sp�Gecically��*�,���those�\issues�of�searc���h"�include�ha�ving�a�v��q�ariet�y�of�rules�of�inference����;�3useful��Mfor�dieren���t�problems,�and�ha�ving�a�v��q�ariet�y�of�strategies�a�v��q�ailable�for�con�trol-����;�3ling��Zthe�searc���h,�suc�h�as�pic�k-and-purge,�w�eigh�t�templates,�etc.,�as�w�ell�as�making�use����;�3of�#Hthe�indexing�and�memory�managemen���t�tec�hniques�pro�vided�in�the�la�y�ered�arc�hi-����;�3tecture��con�whic���h�Otter�is�based.�It�is,�ho�w�ev�er,�clear�that�the�rst-order�capabilities����;�3of�ޝTPS,�and�ev���en�more�of�the�other�systems�listed,�do�not�at�presen�t�compare�to����;�3those���of�Otter,�in�part�b�Gecause�they�lac���k�the�features�just�men�tioned.�W��*�e�do�not����;�3mean�
to�criticize�TPS��or�an���y�of�the�systems�ab�Go�v�e;�the�facilities�that�TPS��oers����;�3for�Bhigher-order�unication�are�probably�sup�Gerior�to�what�w���e�ha�v�e�added�to�Otter.����;�3Decades��Oof�w���ork�b�y�man�y�v�ery�capable�exp�Gerts�ha�v�e�gone�in�to�these�systems�and����;�3admirable��
results�(commensurate�with�the�eorts)�ha���v�e��
b�Geen�obtained.�W��*�e�are�only����;�3trying�UUto�mak���e�clear�where�Otter-���ts�in.�In�the�conclusion�of����^��4���Ȳ,�the�authors�sa�y����M�3�src:891esfor.tex�There�`is�m��9uc�h�`to�b�A�e�done�in�the�dev��9elopmen�t�`of�metho�ds�for�higher-order�theorem����M�3pro��9ving���S�05��"		cmmi9�:���:�:��P��.��SSome�ma���jor�areas�where�w�ork�is�needed�are:�the�basic�mec�hanisms����M�3of�?searc��9hing�for�matings;�the�eciency�of�higher-order�unication;�the�treatmen�t����M�3of�Tequalit��9y;�the�in�tro�A�duction�of�rewrite�rules��:���:�:��
ʦ�.����;�3�src:895esfor.tex�Three��Cof�these�four�are�addressed�in�the�presen���t�w�ork�b�y�using�the�existing�solution����;�3to�UUthese�problems�in�Otter.����J�4�src:897esfor.texRegarding�3�the�sp�Gecic�example�of�Lagrange's�theorem:�A�3hpro�of�of�Lagrange's����;�3theorem���has�b�Geen�c���hec�k�ed���b�y�the�use�of�Nqthm���^��29��x�.�Curiously��*�,�this�pro�Gof�is�not�the����;�3usual��upro�Gof,�but�a�pro�of�b���y�induction�on�the�order�of�the�subgroup.�Lagrange's����;�3theorem�UUhas�also�b�Geen�formalized�(using�set�theory)�in�the�Mizar�library���^��27��x�.��8��;�3�Ac��9kno�wledgmen�ts����;�3�src:904esfor.tex�I���am���grateful�to�Bill�McCune�for�prompt�and�lucid�answ���ers�to�questions�ab�Gout����;�3Otter,��and�to�Larry�W��*�os�and�F�reek�Wiedijk�for�discussions�and�suggestions.�This����;�3researc���h�UUw�as�supp�Gorted�b�y�NSF�gran�t�n�um�b�Ger�CCR-0204362.����;�3�References������@`1�1.���M���src:910esfor.texAndrews,�TP��:�.,�Classical�t��9yp�A�e�theory�,�Chapter�15�of���-=�25��x��.��ȍ��;�3��-:�f��?
۹I�_9ha�Îv�e�_]b�<reen�told�that�the�in�Îterest�of�the�creators�of�TPS�w�Îas�more�in�closing�the�gap�b�<ret�w�een��
��;�3automatic�R4and�in�Îteractiv�e�R4theorem�pro�Îving,�than�in�closing�the�gap�b�<ret�w�een�rst-order�and�higher-����;�3order��Xtheorem�pro�Îving.�����Eō���f��src:996esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9��/5a�22���Michael�~Be���eson���<38�����ȍ���3�_�2.���A#�src:913esfor.texP��9eter��-B.�Andrews,�Sunil�Issar,�Dan�Nesmith,�and�F��:�rank�Pfenning,�The�TPS��Theo-����A#rem���Pro��9ving�System,�in:�Stic�k�el,�Mark�(ed.),��5�j��		cmti9�10th��International�Confer��enc�e��on�A�Îu-����A#tomate��d�De�duction�,��0641{642,�Lecture�Notes�in�Articial�In��9telligence��6t�:		cmbx9�449�,�Springer-����A#V��:�erlag,�T(1990).������3�_3.���A#�src:919esfor.texP��9eter�w�B.�Andrews,�Matthew�Bishop,�Sunil�Issar,�Dan�Nesmith,�F��:�rank�Pfenning,�Hong-����A#w��9ei��Xi,�TPS:�A���Theorem�Pro�ving�System�for�Classical�T�yp�A�e�Theory��:�,�Carnegie�Mellon����A#Univ��9ersit�y�\�Departmen�t�of�Mathematics�Researc�h�Rep�A�ort�94-166A,�F��:�ebruary�,�1995.����A#Av��|railable�Iat�h��9ttp://gtps.math.cm�u.edu/tps94-rep�A�ort-94-166a.p�df,�Iwhile���-=�4�����is�not�a��9v�ail-����A#able�Telectronically��:�.)������3�_4.���A#�src:923esfor.texP��9eter�w�B.�Andrews,�Matthew�Bishop,�Sunil�Issar,�Dan�Nesmith,�F��:�rank�Pfenning,�Hong-����A#w��9ei�J�Xi,�TPS:�A�J�Theorem�Pro�ving�System�for�Classical�T�yp�A�e�Theory��:�,��Journal�4of�A�Îu-����A#tomate��d�N<R�e�asoning�T�16�,�1996,�321-353.������3�_5.���A#�src:926esfor.texBeeson,�9kM.,��F��J�oundations�ogof�Constructive�Mathematics�,�9kSpringer-V��:�erlag,�Berlin/�Hei-����A#delb�A�erg/�TNew�Y��:�ork�(1985).������3�_6.���A#�src:929esfor.texBeeson,�EM.,�Lam��9b�A�da�Logic,�accepted�for�publication�in�the�pro�ceedings�of�IJCAR����A#2004.�TAlso�a��9v��|railable�for�do�wnload�near�the�b�A�ottom�of����A#�src:933esfor.texwww.cs.sjsu.edu/facult��9y/b�A�eeson/P�ap�ers/pubs.h�tml,�ioalong�with�a�supplemen��9t�con�tain-����A#ing�Tt��9w�o�pro�A�ofs�that�are�not�included�in�the�v�ersion�for�publication.������3�_7.���A#�src:937esfor.texBeeson,�TM.,�the�Otter-���w��9ebsite,�temp�A�orarily�to�b�e�found�at����A#�src:940esfor.texh��9ttp://mh215a.cs.sjsu.edu.������3�_8.���A#�src:942esfor.texBo��9y�er,��
R.�S.,�and�Mo�A�ore,�J.�S.,��A��6Computational��`L��o�gic�Handb�o�ok�,��
Academic�Press,����A#Boston�T(1988).������3�_9.���A#�src:946esfor.texRob�A�ert��Bo��9y�er,�Ewing�Lusk,�William�McCune,�Ross�Ov�erb�A�eek,�Mark�Stic�k�el,�and����A#La��9wrence�"@W��:�os,�Set�theory�in�rst-order�logic:�Clauses�for�G��`odel's�axioms.��Journal����A#of�N<A�Îutomate��d�R�e�asoning�T�2��287{327,�1986.������/5a10.���A#�src:949esfor.texBuc��9h�b�A�erger,��B.,��et.�)^al.��A��Surv��9ey�of�the��The��or�ema���Pro���ject,�RISC�T��:�ec��9hnical�Rep�A�ort����A#97-15�T(1997),�a��9v��|railable�online�at����A#�src:953esfor.texftp://ftp.risc.uni-linz.ac.at/pub/tec��9hrep�A�orts/1997/97-15.ps.gz.������/5a11.���A#�src:957esfor.texConstable,���R.�L.��et.��al.�,��Implementing�Mathematics�with�the�Nuprl�Pr��o�of�Development����A#System�,�TPren��9tice-Hall,�Englew�o�A�o�d�TClis,�New�Jersey�(1986).������/5a12.���A#�src:960esfor.texCo�A�q��Wdev��9elopmen�t�team,�The�Co�A�q�Pro�of�Assistan��9t�Reference�Man�ual:�V��:�ersion�7.2,����A#Rapp�A�ort�TT��:�ec��9hnique�R�T-0255�de�l'INRIA�(2002).����P$�src:962esfor.texwww.inria.fr/rrrt/rt-0255.h��9tml������/5a13.���A#�src:965esfor.texCo�A�quand,�ΩT.�and�Huet,�G.,�The�Calculus�of�Constructions,��R�Information�
Land�Compu-����A#tation�T�76�,�1988,�95-120.������/5a14.���A#�src:969esfor.texDo��9w�ek,�TG.,�Higher-order�unication�and�matc��9hing,�Chapter�16�of���-=�25��x��.������/5a15.���A#�src:972esfor.texHarrison,�>1J.,�and�Th������Xery��:�,�L.:�Extending�the�HOL�=�theorem�pro��9v�er�>1with�a�computer����A#algebra���system�to�reason�ab�A�out�the�reals,�in��Higher��eOr��der�L�o�gic�The�or�em�Pr�oving�and����A#its���Applic��ations:�6th�International�Workshop,�HUG���'93�,��pp.�174{184,�Lecture�Notes����A#in�TComputer�Science��780�,�Springer-V��:�erlag�(1993).������/5a16.���A#�src:978esfor.texHarrison,�s�J.,��The��or�em���Pr�oving�with�the�R�e�al�Numb�ers�,�s�Springer-V��:�erlag,�Berlin/�Hei-����A#delb�A�erg/�TNew�Y��:�ork�(1998).������/5a17.���A#�src:981esfor.texG.�'pHuet,�A�'kunication�algorithm�for�t��9yp�A�ed���-calculus,��The��or�etic�al�^�Computer�Scienc��e����A#�1�T�(1975)�27{52.������/5a18.���A#�src:985esfor.texLusk,��vE.,�McCune,�W.,�Ov��9erb�A�eek,�R.,�Logic�mac�hine�arc�hitecture:�k�ernel�functions,����A#in:��bLo��9v�eland,�D.�W.�(ed.)��6th���Confer��enc�e�on�A�Îutomate�d�De�duction��b�70{79,�Springer-����A#V��:�erlag,�TBerlin/�Heidelb�A�erg/�New�Y�ork�(1982).������/5a19.���A#�src:990esfor.texMcCune,�X�W.,�Otter�3.0�Reference�Man��9ual�and�Guide,�Argonne�National�Lab�A�oratory����A#T��:�ec��9h.�TRep�A�ort�ANL-94/6,�1994.������/5a20.���A#�src:993esfor.texMiller,��-D.,�Cohen,�E.�L.,�and�Andrews,�P��:�.,�A��'lo�A�ok�at�TPS,�in:�Lo��9v�eland,��-D.�(ed.),��6th�����U�����f��src:1032esfor.tex��Decem���b�Ger�UU7,�2004�
19:40�WSPC/INSTR�UCTION�UUFILE�UWesfor���=����Iu9�����ȄL͎��������L�������5����L������`���ȄL͎����Ǎ��fd�L͎�������38�L������`�fd�L͎����ۂe��38�L��������fd��L\�����ȍ���A38����L\�����ȍ��9���hx�Otter-lamb���da,�~a�the�or�em-pr�over�with�untyp�e�d�lamb�da-unic�ation���23���<38�����ȍ�M���Confer��enc�e�!son�A�Îutomate��d�De�duction�,��50{69,�Lecture�Notes�in�Computer�Science�138,����M��Springer-V��:�erlag,�T(1982).������;�321.���M���src:998esfor.texG.���Nadath��9ur�and�D.�Miller,�An�Ov�erview�of���-Prolog,�in:�Bo�w�en�and�Ko�w�alski�(eds.),����M���Pr��o�c�e�e�dings��of�the�Fifth�International�Symp��osium�on�L�o�gic�Pr�o�gr�amming,�Se�attle,�A�Îu-����M��gust�N<1988�.������;�322.���M���src:1003esfor.texNipk��9o�w,�flT.,�P��9aulson,�L.�C.,�and�W��:�enzel,�M.��Isab��el�x�le/HOL:��A���Pr�o�of�Assistant�for����M��Higher-Or��der��;L�o�gic�,�ʃLecture�Notes�in�Computer�Science��2283�,�Springer-V��:�erlag,����M��Berlin/�THeidelb�A�erg/�New�Y��:�ork�(2003).������;�323.���M���src:1007esfor.texPietrzyk��9o�wski,��=T.,�and�Jensen,�D.,�A��complete�mec��9hanization�of�second�order�logic,����M���J.�N<Asso��c.�Comp.�Mach.�T�20��(2)�pp.�333-364,�1971.�+������;�324.���M���src:1010esfor.texPietrzyk��9o�wski,��yT.,�and�Jensen,�D.,�A��rcomplete�mec��9hanization�of��!�R��-order�t�yp�A�e�theory��:�,����M���ASso��c.�N<Comp.�Math.�Nat.�Conf.�T�1972,�V��:�ol.�1,�82{92.������;�325.���M���src:1013esfor.texRobinson,���Alan,�and�V��:�oronk��9o�v,���A.�(eds.)��Handb��o�ok�9�of�A�Îutomate��d�R�e�asoning,�V��J�olume����M��II�,��Elsevier�Science�B.�V.�Amsterdam,�2001.�Co-published�in�the�U.�S.�and�Canada����M��b��9y�TMIT�Press,�Cam�bridge,�MA.������;�326.���M���src:1016esfor.texS.�{�Owre,�S.�Ra���jan,�J.�M.�Rush��9b�y��:�,�{�N.�Shank��|rar,�and�M.�Sriv�as,�PVS:�Com��9bining�Sp�A�eci-����M��cation,���Pro�A�of�Chec��9king,�and�Mo�del�Chec��9king,�in�Alur,�R.,�and�Henzinger,�T.�A.�(eds.)����M���Computer-A�Îide��d�DqV��J�eric�ation,�CA��8V�Dn'96�,�
�411{414,�Lecture�Notes�in�Computer�Science����M���1102�,�TSpringer-V��:�erlag,�New�Brunswic��9k,�N.�J.�(1996).������;�327.���M���src:1021esfor.texT��:�rybulec,���W.�A.�Subgroup�and�Cosets�of�Subgroups,��Journal��Rof�F��J�ormalize��d�Mathe-����M��matics�T�12�,�1990.����M���src:1024esfor.texh��9ttp://mizar.u�wb.edu.pl/JFM/V��:�ol2/group����ff�g��Ty2.miz.h�tml.������;�328.���M���src:1027esfor.texWic��9k,�1�C.,�and�McCune,�W.,�Automated�reasoning�ab�A�out�elemen�tary�p�A�oin�t-set�top�A�ol-����M��ogy��:�,�T�J.�N<A�Îutomate��d�R�e�asoning�T�5(2)��239{255,�1989.������;�329.���M���src:1029esfor.texY��:�uan�c�Y�u,�Computer�pro�A�ofs�in�group�theory�,��p�J.��EA�Îutomate��d�R�e�asoning�c��6�(3)�pp.�251{����M��286,�T1990.�����j����;�����O-	�6t�:		cmbx9�5�j��		cmti9�05��"		cmmi9�/o���		cmr9�(DF��

cmmib10�%��<x

cmtt10�$�':

cmti10�#�f�cmti8��2cmmi8��Aa�cmr6��"V

cmbx10��K�cmsy8�|{Ycmr8�
!",�

cmsy10�
�b>

cmmi10�	0e�rcmmi7�K�`y

cmr10�ٓ�Rcmr7�v�������

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists