:- module(syntax,[]).  %% convered djd
:- style_check(-singleton). % added djd
%% :- module('syntax', []).

:- discontiguous 'syntax.groundType.p1.0'/1. %% added djd
:- discontiguous '~syntax.groundType.p1.0'/1. %% added djd
:- discontiguous 'syntax.commitFreeFormula.p1.0'/1. %% added djd
:- discontiguous '~syntax.commitFreeFormula.p1.0'/1. %% added djd
:- discontiguous 'syntax.atom.p1.0'/1. %% added djd
:- discontiguous '~syntax.atom.p1.0'/1. %% added djd
:- discontiguous 'syntax.appendTypeBindings.p3'/3. %% added djd
:- discontiguous '~syntax.appendTypeBindings.p3'/3. %% added djd
:- discontiguous 'syntax.appendTermBindings.p3'/3. %% added djd
:- discontiguous '~syntax.appendTermBindings.p3'/3. %% added djd
:- discontiguous 'syntax.applySubstToTerm.p8'/8. %% added djd
:- discontiguous '~syntax.applySubstToTerm.p8'/8. %% added djd
:- discontiguous 'syntax.applySubstToFormula.p9'/9. %% added djd
:- discontiguous '~syntax.applySubstToFormula.p9'/9. %% added djd
:- discontiguous 'syntax.applySubstToFormula.p3.0'/3. %% added djd
:- discontiguous '~syntax.applySubstToFormula.p3.0'/3. %% added djd
:- discontiguous 'syntax.applySubstToArgs.p8'/8. %% added djd
:- discontiguous '~syntax.applySubstToArgs.p8'/8. %% added djd
:- discontiguous 'syntax.applySubstToVarTypes.p3'/3. %% added djd
:- discontiguous '~syntax.applySubstToVarTypes.p3'/3. %% added djd
:- discontiguous 'syntax.checkVariantTerms1.p4'/4. %% added djd
:- discontiguous '~syntax.checkVariantTerms1.p4'/4. %% added djd
:- discontiguous 'syntax.checkVariantFormulas1.p4'/4. %% added djd
:- discontiguous '~syntax.checkVariantFormulas1.p4'/4. %% added djd
:- discontiguous 'syntax.checkFunctionTerm1.p10'/10. %% added djd
:- discontiguous '~syntax.checkFunctionTerm1.p10'/10. %% added djd
:- discontiguous 'syntax.checkFunctionTerm.p10'/10. %% added djd
:- discontiguous '~syntax.checkFunctionTerm.p10'/10. %% added djd
:- discontiguous 'syntax.checkVariantFormulas.p4'/4. %% added djd
:- discontiguous '~syntax.checkVariantFormulas.p4'/4. %% added djd
:- discontiguous 'syntax.checkVariantTerms.p4'/4. %% added djd
:- discontiguous '~syntax.checkVariantTerms.p4'/4. %% added djd
:- discontiguous 'syntax.combineVarTypings1.p6'/6. %% added djd
:- discontiguous '~syntax.combineVarTypings1.p6'/6. %% added djd
:- discontiguous 'syntax.conjunctionOfAtoms.p1.0'/1. %% added djd
:- discontiguous '~syntax.conjunctionOfAtoms.p1.0'/1. %% added djd
:- discontiguous 'syntax.conditionalFreeFormula.p1'/1. %% added djd
:- discontiguous '~syntax.conditionalFreeFormula.p1'/1. %% added djd
:- discontiguous 'syntax.constantTerm.p2'/2. %% added djd
:- discontiguous '~syntax.constantTerm.p2'/2. %% added djd
:- discontiguous 'syntax.definiteBody.p1.0'/1. %% added djd
:- discontiguous '~syntax.definiteBody.p1.0'/1. %% added djd
:- discontiguous 'syntax.definiteStatement.p1.0'/1. %% added djd
:- discontiguous '~syntax.definiteStatement.p1.0'/1. %% added djd
:- discontiguous 'syntax.deleteBindings.p3'/3. %% added djd
:- discontiguous '~syntax.deleteBindings.p3'/3. %% added djd
:- discontiguous 'syntax.deleteAllVars.p3'/3. %% added djd
:- discontiguous '~syntax.deleteAllVars.p3'/3. %% added djd
:- discontiguous 'syntax.derive.p7.0'/7. %% added djd
:- discontiguous '~syntax.derive.p7.0'/7. %% added djd
:- discontiguous 'syntax.deleteVarTypeBindings.p3'/3. %% added djd
:- discontiguous '~syntax.deleteVarTypeBindings.p3'/3. %% added djd
:- discontiguous 'syntax.findTypeBindings.p3'/3. %% added djd
:- discontiguous '~syntax.findTypeBindings.p3'/3. %% added djd
:- discontiguous 'syntax.findTermBindings.p3'/3. %% added djd
:- discontiguous '~syntax.findTermBindings.p3'/3. %% added djd
:- discontiguous 'syntax.groundAtom.p1.0'/1. %% added djd
:- discontiguous '~syntax.groundAtom.p1.0'/1. %% added djd
:- discontiguous 'syntax.groundTerm.p1.0'/1. %% added djd
:- discontiguous '~syntax.groundTerm.p1.0'/1. %% added djd
:- discontiguous 'syntax.groundTerm1.p1'/1. %% added djd
:- discontiguous '~syntax.groundTerm1.p1'/1. %% added djd
:- discontiguous 'syntax.parameter.p1.0'/1. %% added djd
:- discontiguous '~syntax.parameter.p1.0'/1. %% added djd
:- discontiguous 'syntax.normalBody.p1.0'/1. %% added djd
:- discontiguous '~syntax.normalBody.p1.0'/1. %% added djd
:- discontiguous 'syntax.groundType1.p1'/1. %% added djd
:- discontiguous '~syntax.groundType1.p1'/1. %% added djd
:- discontiguous 'syntax.maxParIndex.p3'/3. %% added djd
:- discontiguous '~syntax.maxParIndex.p3'/3. %% added djd
:- discontiguous 'syntax.maxParIndex1.p3'/3. %% added djd
:- discontiguous '~syntax.maxParIndex1.p3'/3. %% added djd
:- discontiguous 'syntax.nonParameter.p1.0'/1. %% added djd
:- discontiguous '~syntax.nonParameter.p1.0'/1. %% added djd
:- discontiguous 'syntax.nonVariable.p1.0'/1. %% added djd
:- discontiguous '~syntax.nonVariable.p1.0'/1. %% added djd
:- discontiguous 'syntax.normalStatement.p1.0'/1. %% added djd
:- discontiguous '~syntax.normalStatement.p1.0'/1. %% added djd
:- discontiguous 'syntax.opaqueTerm.p1.0'/1. %% added djd
:- discontiguous '~syntax.opaqueTerm.p1.0'/1. %% added djd
:- discontiguous 'syntax.notMember.p2'/2. %% added djd
:- discontiguous '~syntax.notMember.p2'/2. %% added djd
:- discontiguous 'syntax.opaqueAtom.p1.0'/1. %% added djd
:- discontiguous '~syntax.opaqueAtom.p1.0'/1. %% added djd
:- discontiguous 'syntax.opaqueType.p1.0'/1. %% added djd
:- discontiguous '~syntax.opaqueType.p1.0'/1. %% added djd
:- discontiguous 'syntax.renameAllTerm2.p4'/4. %% added djd
:- discontiguous '~syntax.renameAllTerm2.p4'/4. %% added djd
:- discontiguous 'syntax.paramsInType.p3'/3. %% added djd
:- discontiguous '~syntax.paramsInType.p3'/3. %% added djd
:- discontiguous 'syntax.parameterName.p3'/3. %% added djd
:- discontiguous '~syntax.parameterName.p3'/3. %% added djd
:- discontiguous 'syntax.paramsInType1.p3'/3. %% added djd
:- discontiguous '~syntax.paramsInType1.p3'/3. %% added djd
:- discontiguous 'syntax.renameAllFormula2.p4'/4. %% added djd
:- discontiguous '~syntax.renameAllFormula2.p4'/4. %% added djd
:- discontiguous 'syntax.renameAllFormula3.p6'/6. %% added djd
:- discontiguous '~syntax.renameAllFormula3.p6'/6. %% added djd
:- discontiguous 'syntax.renameAllType3.p6'/6. %% added djd
:- discontiguous '~syntax.renameAllType3.p6'/6. %% added djd
:- discontiguous 'syntax.renameAllTerm4.p6'/6. %% added djd
:- discontiguous '~syntax.renameAllTerm4.p6'/6. %% added djd
:- discontiguous 'syntax.renameAllTerm3.p6'/6. %% added djd
:- discontiguous '~syntax.renameAllTerm3.p6'/6. %% added djd
:- discontiguous 'syntax.renameAllType2.p4'/4. %% added djd
:- discontiguous '~syntax.renameAllType2.p4'/4. %% added djd
:- discontiguous 'syntax.renameAllType4.p6'/6. %% added djd
:- discontiguous '~syntax.renameAllType4.p6'/6. %% added djd
:- discontiguous 'syntax.resolve1.p9'/9. %% added djd
:- discontiguous '~syntax.resolve1.p9'/9. %% added djd
:- discontiguous 'syntax.resolveAll1.p10'/10. %% added djd
:- discontiguous '~syntax.resolveAll1.p10'/10. %% added djd
:- discontiguous 'syntax.standardiseApartQuants.p6'/6. %% added djd
:- discontiguous '~syntax.standardiseApartQuants.p6'/6. %% added djd
:- discontiguous 'syntax.standardiseCommits.p5'/5. %% added djd
:- discontiguous '~syntax.standardiseCommits.p5'/5. %% added djd
:- discontiguous 'syntax.statement.p1.0'/1. %% added djd
:- discontiguous '~syntax.statement.p1.0'/1. %% added djd
:- discontiguous 'syntax.typeNotOccur1.p2'/2. %% added djd
:- discontiguous '~syntax.typeNotOccur1.p2'/2. %% added djd
:- discontiguous 'syntax.typeNotOccur.p2'/2. %% added djd
:- discontiguous '~syntax.typeNotOccur.p2'/2. %% added djd
:- discontiguous 'syntax.typeOccurCheck.p3'/3. %% added djd
:- discontiguous '~syntax.typeOccurCheck.p3'/3. %% added djd
:- discontiguous 'syntax.unifyTerms.p13'/13. %% added djd
:- discontiguous '~syntax.unifyTerms.p13'/13. %% added djd
:- discontiguous 'syntax.unifyArgs.p11'/11. %% added djd
:- discontiguous '~syntax.unifyArgs.p11'/11. %% added djd
:- discontiguous 'syntax.unifyTypeArgs.p5'/5. %% added djd
:- discontiguous '~syntax.unifyTypeArgs.p5'/5. %% added djd
:- discontiguous 'syntax.unifyTypes1.p5'/5. %% added djd
:- discontiguous '~syntax.unifyTypes1.p5'/5. %% added djd
:- discontiguous 'syntax.unifyTypes0.p4'/4. %% added djd
:- discontiguous '~syntax.unifyTypes0.p4'/4. %% added djd
:- discontiguous 'syntax.variable.p1.0'/1. %% added djd
:- discontiguous '~syntax.variable.p1.0'/1. %% added djd
:- discontiguous 'syntax.unifyValue.p5'/5. %% added djd
:- discontiguous '~syntax.unifyValue.p5'/5. %% added djd



:- op(500, yfx, and).
:- op(400, yfx, or).

'syntax.groundType.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.groundType.p1.0'(A)).
'~syntax.groundType.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.groundType.p1.0'(A)).
'syntax.groundType.p1.0'('metaDefs.bType.f1'(_)).
'~syntax.groundType.p1.0'('metaDefs.bType.f1'(_)).
'syntax.groundType.p1.0'('metaDefs.type.f2'(_,A)) :-
        'syntax.groundType1.p1'(A).
'~syntax.groundType.p1.0'('metaDefs.type.f2'(_,A)) :-
        '~syntax.groundType1.p1'(A).
'syntax.groundType.p1.0'('metaDefs.xBType.f1'(_)).
'~syntax.groundType.p1.0'('metaDefs.xBType.f1'(_)).
'syntax.groundType.p1.0'('metaDefs.xType.f2'(_,A)) :-
        'syntax.groundType1.p1'(A).
'~syntax.groundType.p1.0'('metaDefs.xType.f2'(_,A)) :-
        '~syntax.groundType1.p1'(A).
'syntax.commitFreeFormula.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.commitFreeFormula.p1.0'(A)).
'~syntax.commitFreeFormula.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.commitFreeFormula.p1.0'(A)).
'syntax.commitFreeFormula.p1.0'('metaDefs.empty.c0').
'~syntax.commitFreeFormula.p1.0'('metaDefs.empty.c0').
'syntax.commitFreeFormula.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.commitFreeFormula.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.commitFreeFormula.p1.0'('metaDefs.atom.f2'(_,_)).
'~syntax.commitFreeFormula.p1.0'('metaDefs.atom.f2'(_,_)).
'syntax.commitFreeFormula.p1.0'('metaDefs.&''.f2'(A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.&''.f2'(A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.\\/''.f2'(A,B)) :-  % added \ djd
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.\\/''.f2'(A,B)) :-   % added \ djd
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.->''.f2'(A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.->''.f2'(A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.<->''.f2'(A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.<->''.f2'(A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.~''.f1'(A)) :-
        'syntax.commitFreeFormula.p1'(A).
'~syntax.commitFreeFormula.p1.0'('metaDefs.~''.f1'(A)) :-
        '~syntax.commitFreeFormula.p1'(A).
'syntax.commitFreeFormula.p1.0'('metaDefs.some.f2'(_,A)) :-
        'syntax.commitFreeFormula.p1'(A).
'~syntax.commitFreeFormula.p1.0'('metaDefs.some.f2'(_,A)) :-
        '~syntax.commitFreeFormula.p1'(A).
'syntax.commitFreeFormula.p1.0'('metaDefs.all.f2'(_,A)) :-
        'syntax.commitFreeFormula.p1'(A).
'~syntax.commitFreeFormula.p1.0'('metaDefs.all.f2'(_,A)) :-
        '~syntax.commitFreeFormula.p1'(A).
'syntax.commitFreeFormula.p1.0'('metaDefs.iT.f2'(A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.iT.f2'(A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.iST.f3'(_,A,B)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B).
'~syntax.commitFreeFormula.p1.0'('metaDefs.iST.f3'(_,A,B)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B).
'syntax.commitFreeFormula.p1.0'('metaDefs.iTE.f3'(A,B,C)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B),
        'syntax.commitFreeFormula.p1'(C).
'~syntax.commitFreeFormula.p1.0'('metaDefs.iTE.f3'(A,B,C)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B),
        '~syntax.commitFreeFormula.p1'(C).
'syntax.commitFreeFormula.p1.0'('metaDefs.iSTE.f4'(_,A,B,C)) :-
        'syntax.commitFreeFormula.p1'(A),
        'syntax.commitFreeFormula.p1'(B),
        'syntax.commitFreeFormula.p1'(C).
'~syntax.commitFreeFormula.p1.0'('metaDefs.iSTE.f4'(_,A,B,C)) :-
        '~syntax.commitFreeFormula.p1'(A),
        '~syntax.commitFreeFormula.p1'(B),
        '~syntax.commitFreeFormula.p1'(C).
'syntax.bindingToTermSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.bindingToTermSubst.p3.0'(A,B,C)).
'~syntax.bindingToTermSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.bindingToTermSubst.p3.0'(A,B,C)).
'syntax.bindingToTermSubst.p3.0'(A, B, C) :-
        'syntax.variable.p1'(A),
        user:goedel_freeze(ground([B,A]), (A=B,true->'syntax':'syntax.emptyTermSubst.p1'(C);'sharedSyntax':'sharedSyntax.termNotOccur.p2'(B,A),'syntax':'syntax.emptyTermSubst.p1'(D),'substs':'substs.bindVariable.p4'(A,B,D,C))).
'~syntax.bindingToTermSubst.p3.0'(A, B, C) :-
        '~syntax.variable.p1'(A),
        user:goedel_freeze(ground([B,A]), (A=B,true->'syntax':'~syntax.emptyTermSubst.p1'(C);'sharedSyntax':'~sharedSyntax.termNotOccur.p2'(B,A),'syntax':'~syntax.emptyTermSubst.p1'(D),'substs':'~substs.bindVariable.p4'(A,B,D,C))).
'syntax.atom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.atom.p1.0'(A)).
'~syntax.atom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.atom.p1.0'(A)).
'syntax.atom.p1.0'('metaDefs.atom.f2'(_,_)).
'~syntax.atom.p1.0'('metaDefs.atom.f2'(_,_)).
'syntax.atom.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.atom.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.appendTypeBindings.p3'([], A, A).
'~syntax.appendTypeBindings.p3'([], A, A).
'syntax.appendTypeBindings.p3'(['metaDefs.!.f2'(B,C)|A], D, E) :-
        'substs':'substs.bindParameter.p4'(B, C, D, F),
        'syntax.appendTypeBindings.p3'(A, F, E).
'~syntax.appendTypeBindings.p3'(['metaDefs.!.f2'(B,C)|A], D, E) :-
        'substs':'~substs.bindParameter.p4'(B, C, D, F),
        '~syntax.appendTypeBindings.p3'(A, F, E).
'syntax.andWithEmpty.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.andWithEmpty.p3.0'(A,B,C)).
'~syntax.andWithEmpty.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.andWithEmpty.p3.0'(A,B,C)).
'syntax.andWithEmpty.p3.0'(A, B, C) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.emptyFormula.p1'(A),true->C=B;user:goedel_freeze(ground([B]),('syntax':'~syntax.emptyFormula.p1'(B),true->C=A;C='metaDefs.&''.f2'(A,B))))).
'~syntax.andWithEmpty.p3.0'(A, B, C) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.emptyFormula.p1'(A),true->C=B;user:goedel_freeze(ground([B]),('syntax':'~syntax.emptyFormula.p1'(B),true->C=A;C='metaDefs.&''.f2'(A,B))))).
'syntax.and.p3'(A, B, 'metaDefs.&''.f2'(A,B)).
'~syntax.and.p3'(A, B, 'metaDefs.&''.f2'(A,B)).
'syntax.all.p3'(A, B, 'metaDefs.all.f2'(A,B)).
'~syntax.all.p3'(A, B, 'metaDefs.all.f2'(A,B)).
'syntax.appendTermBindings.p3'([], A, A).
'~syntax.appendTermBindings.p3'([], A, A).
'syntax.appendTermBindings.p3'(['metaDefs.!.f2'(B,C)|A], D, E) :-
        'substs':'substs.bindVariable.p4'(B, C, D, F),
        'syntax.appendTermBindings.p3'(A, F, E).
'~syntax.appendTermBindings.p3'(['metaDefs.!.f2'(B,C)|A], D, E) :-
        'substs':'~substs.bindVariable.p4'(B, C, D, F),
        '~syntax.appendTermBindings.p3'(A, F, E).
'syntax.applySubstToTerm.p8'('metaDefs.var.f1'(A), B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),I),D),true),(C=B,G=F,H=I),user:goedel_freeze(ground([A,F]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),J),F),true),(C=B,G=F,H=J),user:goedel_freeze(ground([A,E]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),K),E),true),(C=B,G=F,H=K),(('integers':plus(B,1,L),C=L),G=['metaDefs.!.f2'('metaDefs.var.f1'(A),H)|F],H='metaDefs.var.f1'(B)))))))).
'~syntax.applySubstToTerm.p8'('metaDefs.var.f1'(A), B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),I),D),true),(C=B,G=F,H=I),user:goedel_freeze(ground([A,F]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),J),F),true),(C=B,G=F,H=J),user:goedel_freeze(ground([A,E]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),K),E),true),(C=B,G=F,H=K),(('integers':plus(B,1,L),C=L),G=['metaDefs.!.f2'('metaDefs.var.f1'(A),H)|F],H='metaDefs.var.f1'(B)))))))).
'syntax.applySubstToTerm.p8'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I) :-
        user:goedel_freeze(ground([B,E,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),J),E),true),(D=C,H=G,I=J),user:goedel_freeze(ground([B,G,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),K),G),true),(D=C,H=G,I=K),user:goedel_freeze(ground([B,F,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),L),F),true),(D=C,H=G,I=L),(('integers':plus(C,1,M),D=M),H=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),I)|G],I='metaDefs.var.f1'(C)))))))).
'~syntax.applySubstToTerm.p8'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I) :-
        user:goedel_freeze(ground([B,E,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),J),E),true),(D=C,H=G,I=J),user:goedel_freeze(ground([B,G,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),K),G),true),(D=C,H=G,I=K),user:goedel_freeze(ground([B,F,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),L),F),true),(D=C,H=G,I=L),(('integers':plus(C,1,M),D=M),H=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),I)|G],I='metaDefs.var.f1'(C)))))))).
'syntax.applySubstToTerm.p8'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, 'metaDefs.term.f2'(A,I)) :-
        'syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'~syntax.applySubstToTerm.p8'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, 'metaDefs.term.f2'(A,I)) :-
        '~syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'syntax.applySubstToTerm.p8'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, 'metaDefs.xTerm.f3'(A,J,C)) :-
        'syntax.applySubstToArgs.p8'(B, D, E, F, G, H, I, J).
'~syntax.applySubstToTerm.p8'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, 'metaDefs.xTerm.f3'(A,J,C)) :-
        '~syntax.applySubstToArgs.p8'(B, D, E, F, G, H, I, J).
'syntax.applySubstToTerm.p8'('metaDefs.cTerm.f1'(A), B, B, _, _, C, C, 'metaDefs.cTerm.f1'(A)).
'~syntax.applySubstToTerm.p8'('metaDefs.cTerm.f1'(A), B, B, _, _, C, C, 'metaDefs.cTerm.f1'(A)).
'syntax.applySubstToTerm.p8'('metaDefs.xCTerm.f2'(A,B), C, C, _, _, D, D, 'metaDefs.xCTerm.f2'(A,B)).
'~syntax.applySubstToTerm.p8'('metaDefs.xCTerm.f2'(A,B), C, C, _, _, D, D, 'metaDefs.xCTerm.f2'(A,B)).
'syntax.applySubstToTerm.p8'('metaDefs.int.f1'(A), B, B, _, _, C, C, 'metaDefs.int.f1'(A)).
'~syntax.applySubstToTerm.p8'('metaDefs.int.f1'(A), B, B, _, _, C, C, 'metaDefs.int.f1'(A)).
'syntax.applySubstToTerm.p8'('metaDefs.str.f1'(A), B, B, _, _, C, C, 'metaDefs.str.f1'(A)).
'~syntax.applySubstToTerm.p8'('metaDefs.str.f1'(A), B, B, _, _, C, C, 'metaDefs.str.f1'(A)).
'syntax.applySubstToTerm.p8'('metaDefs.prm.f1'(A), B, B, _, _, C, C, 'metaDefs.prm.f1'(A)).
'~syntax.applySubstToTerm.p8'('metaDefs.prm.f1'(A), B, B, _, _, C, C, 'metaDefs.prm.f1'(A)).
'syntax.applySubstToTerm.p8'('metaDefs.suchThat.f2'(A,B), C, D, E, F, G, H, 'metaDefs.suchThat.f2'(I,J)) :-
        'sharedSyntax':'sharedSyntax.sTermFreeVars.p2'(A, K),
        'syntax.standardiseApartQuants.p6'(K, _, E, L, C, M),
        'syntax.applySubstToTerm.p8'(A, M, N, L, F, G, O, I),
        'syntax.applySubstToFormula.p9'(B, N, D, L, F, O, H, [], J).
'~syntax.applySubstToTerm.p8'('metaDefs.suchThat.f2'(A,B), C, D, E, F, G, H, 'metaDefs.suchThat.f2'(I,J)) :-
        'sharedSyntax':'~sharedSyntax.sTermFreeVars.p2'(A, K),
        '~syntax.standardiseApartQuants.p6'(K, _, E, L, C, M),
        '~syntax.applySubstToTerm.p8'(A, M, N, L, F, G, O, I),
        '~syntax.applySubstToFormula.p9'(B, N, D, L, F, O, H, [], J).
'syntax.applySubstToTerm.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.applySubstToTerm.p3.0'(A,B,C)).
'~syntax.applySubstToTerm.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.applySubstToTerm.p3.0'(A,B,C)).
'syntax.applySubstToTerm.p3.0'(A, B, C) :-
        'substs':'substs.substApplyToTerm.p3'(A, B, C).
'~syntax.applySubstToTerm.p3.0'(A, B, C) :-
        'substs':'~substs.substApplyToTerm.p3'(A, B, C).
'syntax.applySubstToFormula.p9'('metaDefs.&''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.&''.f2'(J,K)) :-
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.&''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.&''.f2'(J,K)) :-
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, _, 'metaDefs.atom.f2'(A,I)) :-
        'syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'~syntax.applySubstToFormula.p9'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, _, 'metaDefs.atom.f2'(A,I)) :-
        '~syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'syntax.applySubstToFormula.p9'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, _, 'metaDefs.xAtom.f2'(A,I)) :-
        'syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'~syntax.applySubstToFormula.p9'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, _, 'metaDefs.xAtom.f2'(A,I)) :-
        '~syntax.applySubstToArgs.p8'(B, C, D, E, F, G, H, I).
'syntax.applySubstToFormula.p9'('metaDefs.some.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.some.f2'(J,K)) :-
        'syntax.standardiseApartQuants.p6'(A, J, E, L, C, M),
        'syntax.applySubstToFormula.p9'(B, M, D, L, F, G, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.some.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.some.f2'(J,K)) :-
        '~syntax.standardiseApartQuants.p6'(A, J, E, L, C, M),
        '~syntax.applySubstToFormula.p9'(B, M, D, L, F, G, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, I, J, K, 'metaDefs.iSTE.f4'(L,M,N,O)) :-
        'syntax.standardiseApartQuants.p6'(A, L, G, P, E, Q),
        'syntax.applySubstToFormula.p9'(B, Q, R, P, H, I, S, K, M),
        'syntax.applySubstToFormula.p9'(C, R, T, P, H, S, U, K, N),
        'syntax.applySubstToFormula.p9'(D, T, F, G, H, U, J, K, O).
'~syntax.applySubstToFormula.p9'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, I, J, K, 'metaDefs.iSTE.f4'(L,M,N,O)) :-
        '~syntax.standardiseApartQuants.p6'(A, L, G, P, E, Q),
        '~syntax.applySubstToFormula.p9'(B, Q, R, P, H, I, S, K, M),
        '~syntax.applySubstToFormula.p9'(C, R, T, P, H, S, U, K, N),
        '~syntax.applySubstToFormula.p9'(D, T, F, G, H, U, J, K, O).
'syntax.applySubstToFormula.p9'('metaDefs.commit.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.commit.f2'(J,K)) :-
        'lists':'lists.memberCheck.p2'('syntax.labelPair.f2'(A,J), I),
        'syntax.applySubstToFormula.p9'(B, C, D, E, F, G, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.commit.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.commit.f2'(J,K)) :-
        'lists':'~lists.memberCheck.p2'('syntax.labelPair.f2'(A,J), I),
        '~syntax.applySubstToFormula.p9'(B, C, D, E, F, G, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.empty.c0', A, A, _, _, B, B, _, 'metaDefs.empty.c0').
'~syntax.applySubstToFormula.p9'('metaDefs.empty.c0', A, A, _, _, B, B, _, 'metaDefs.empty.c0').
'syntax.applySubstToFormula.p9'('metaDefs.pAtom.f1'(A), B, B, _, _, C, C, _, 'metaDefs.pAtom.f1'(A)).
'~syntax.applySubstToFormula.p9'('metaDefs.pAtom.f1'(A), B, B, _, _, C, C, _, 'metaDefs.pAtom.f1'(A)).
'syntax.applySubstToFormula.p9'('metaDefs.xPAtom.f1'(A), B, B, _, _, C, C, _, 'metaDefs.xPAtom.f1'(A)).
'~syntax.applySubstToFormula.p9'('metaDefs.xPAtom.f1'(A), B, B, _, _, C, C, _, 'metaDefs.xPAtom.f1'(A)).
'syntax.applySubstToFormula.p9'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.\\/''.f2'(J,K)) :-  % added 2 \ djd
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.\\/''.f2'(J,K)) :-   % added 2 \ djd
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, H, I, J, 'metaDefs.iTE.f3'(K,L,M)) :-
        'syntax.applySubstToFormula.p9'(A, D, N, F, G, H, O, J, K),
        'syntax.applySubstToFormula.p9'(B, N, P, F, G, O, Q, J, L),
        'syntax.applySubstToFormula.p9'(C, P, E, F, G, Q, I, J, M).
'~syntax.applySubstToFormula.p9'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, H, I, J, 'metaDefs.iTE.f3'(K,L,M)) :-
        '~syntax.applySubstToFormula.p9'(A, D, N, F, G, H, O, J, K),
        '~syntax.applySubstToFormula.p9'(B, N, P, F, G, O, Q, J, L),
        '~syntax.applySubstToFormula.p9'(C, P, E, F, G, Q, I, J, M).
'syntax.applySubstToFormula.p9'('metaDefs.iST.f3'(A,B,C), D, E, F, G, H, I, J, 'metaDefs.iST.f3'(K,L,M)) :-
        'syntax.standardiseApartQuants.p6'(A, K, F, N, D, O),
        'syntax.applySubstToFormula.p9'(B, O, P, N, G, H, Q, J, L),
        'syntax.applySubstToFormula.p9'(C, P, E, N, G, Q, I, J, M).
'~syntax.applySubstToFormula.p9'('metaDefs.iST.f3'(A,B,C), D, E, F, G, H, I, J, 'metaDefs.iST.f3'(K,L,M)) :-
        '~syntax.standardiseApartQuants.p6'(A, K, F, N, D, O),
        '~syntax.applySubstToFormula.p9'(B, O, P, N, G, H, Q, J, L),
        '~syntax.applySubstToFormula.p9'(C, P, E, N, G, Q, I, J, M).
'syntax.applySubstToFormula.p9'('metaDefs.iT.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.iT.f2'(J,K)) :-
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.iT.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.iT.f2'(J,K)) :-
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.~''.f1'(A), B, C, D, E, F, G, H, 'metaDefs.~''.f1'(I)) :-
        'syntax.applySubstToFormula.p9'(A, B, C, D, E, F, G, H, I).
'~syntax.applySubstToFormula.p9'('metaDefs.~''.f1'(A), B, C, D, E, F, G, H, 'metaDefs.~''.f1'(I)) :-
        '~syntax.applySubstToFormula.p9'(A, B, C, D, E, F, G, H, I).
'syntax.applySubstToFormula.p9'('metaDefs.->''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.->''.f2'(J,K)) :-
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.->''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.->''.f2'(J,K)) :-
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.<-''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.<-''.f2'(J,K)) :-
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.<-''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.<-''.f2'(J,K)) :-
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.<->''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.<->''.f2'(J,K)) :-
        'syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        'syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.<->''.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.<->''.f2'(J,K)) :-
        '~syntax.applySubstToFormula.p9'(A, C, L, E, F, G, M, I, J),
        '~syntax.applySubstToFormula.p9'(B, L, D, E, F, M, H, I, K).
'syntax.applySubstToFormula.p9'('metaDefs.all.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.all.f2'(J,K)) :-
        'syntax.standardiseApartQuants.p6'(A, J, E, L, C, M),
        'syntax.applySubstToFormula.p9'(B, M, D, L, F, G, H, I, K).
'~syntax.applySubstToFormula.p9'('metaDefs.all.f2'(A,B), C, D, E, F, G, H, I, 'metaDefs.all.f2'(J,K)) :-
        '~syntax.standardiseApartQuants.p6'(A, J, E, L, C, M),
        '~syntax.applySubstToFormula.p9'(B, M, D, L, F, G, H, I, K).
'syntax.applySubstToFormula.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.applySubstToFormula.p3.0'(A,B,C)).
'~syntax.applySubstToFormula.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.applySubstToFormula.p3.0'(A,B,C)).
'syntax.applySubstToFormula.p3.0'('metaDefs.empty.c0', _, 'metaDefs.empty.c0').
'~syntax.applySubstToFormula.p3.0'('metaDefs.empty.c0', _, 'metaDefs.empty.c0').
'syntax.applySubstToFormula.p3.0'('metaDefs.pAtom.f1'(A), _, 'metaDefs.pAtom.f1'(A)).
'~syntax.applySubstToFormula.p3.0'('metaDefs.pAtom.f1'(A), _, 'metaDefs.pAtom.f1'(A)).
'syntax.applySubstToFormula.p3.0'('metaDefs.xPAtom.f1'(A), _, 'metaDefs.xPAtom.f1'(A)).
'~syntax.applySubstToFormula.p3.0'('metaDefs.xPAtom.f1'(A), _, 'metaDefs.xPAtom.f1'(A)).
'syntax.applySubstToFormula.p3.0'('metaDefs.atom.f2'(A,B), C, 'metaDefs.atom.f2'(A,D)) :-
        'substs':'substs.applyTermSubst.p3'(B, C, D).
'~syntax.applySubstToFormula.p3.0'('metaDefs.atom.f2'(A,B), C, 'metaDefs.atom.f2'(A,D)) :-
        'substs':'~substs.applyTermSubst.p3'(B, C, D).
'syntax.applySubstToFormula.p3.0'('metaDefs.xAtom.f2'(A,B), C, 'metaDefs.xAtom.f2'(A,D)) :-
        'substs':'substs.applyTermSubst.p3'(B, C, D).
'~syntax.applySubstToFormula.p3.0'('metaDefs.xAtom.f2'(A,B), C, 'metaDefs.xAtom.f2'(A,D)) :-
        'substs':'~substs.applyTermSubst.p3'(B, C, D).
'syntax.applySubstToFormula.p3.0'('metaDefs.&''.f2'(A,B), C, 'metaDefs.&''.f2'(D,E)) :-
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.&''.f2'(A,B), C, 'metaDefs.&''.f2'(D,E)) :-
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.\\/''.f2'(A,B), C, 'metaDefs.\\/''.f2'(D,E)) :-  % added 2 \ djd
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.\\/''.f2'(A,B), C, 'metaDefs.\\/''.f2'(D,E)) :-  % added 2 \ djd
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.~''.f1'(A), B, 'metaDefs.~''.f1'(C)) :-
        'syntax.applySubstToFormula.p3'(A, B, C).
'~syntax.applySubstToFormula.p3.0'('metaDefs.~''.f1'(A), B, 'metaDefs.~''.f1'(C)) :-
        '~syntax.applySubstToFormula.p3'(A, B, C).
'syntax.applySubstToFormula.p3.0'('metaDefs.<-''.f2'(A,B), C, 'metaDefs.<-''.f2'(D,E)) :-
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.<-''.f2'(A,B), C, 'metaDefs.<-''.f2'(D,E)) :-
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.->''.f2'(A,B), C, 'metaDefs.->''.f2'(D,E)) :-
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.->''.f2'(A,B), C, 'metaDefs.->''.f2'(D,E)) :-
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.<->''.f2'(A,B), C, 'metaDefs.<->''.f2'(D,E)) :-
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.<->''.f2'(A,B), C, 'metaDefs.<->''.f2'(D,E)) :-
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.all.f2'(A,B), C, 'metaDefs.all.f2'(A,D)) :-
        'syntax.deleteBindings.p3'(A, C, E),
        'syntax.applySubstToFormula.p3'(B, E, D).
'~syntax.applySubstToFormula.p3.0'('metaDefs.all.f2'(A,B), C, 'metaDefs.all.f2'(A,D)) :-
        '~syntax.deleteBindings.p3'(A, C, E),
        '~syntax.applySubstToFormula.p3'(B, E, D).
'syntax.applySubstToFormula.p3.0'('metaDefs.some.f2'(A,B), C, 'metaDefs.some.f2'(A,D)) :-
        'syntax.deleteBindings.p3'(A, C, E),
        'syntax.applySubstToFormula.p3'(B, E, D).
'~syntax.applySubstToFormula.p3.0'('metaDefs.some.f2'(A,B), C, 'metaDefs.some.f2'(A,D)) :-
        '~syntax.deleteBindings.p3'(A, C, E),
        '~syntax.applySubstToFormula.p3'(B, E, D).
'syntax.applySubstToFormula.p3.0'('metaDefs.iT.f2'(A,B), C, 'metaDefs.iT.f2'(D,E)) :-
        'syntax.applySubstToFormula.p3'(A, C, D),
        'syntax.applySubstToFormula.p3'(B, C, E).
'~syntax.applySubstToFormula.p3.0'('metaDefs.iT.f2'(A,B), C, 'metaDefs.iT.f2'(D,E)) :-
        '~syntax.applySubstToFormula.p3'(A, C, D),
        '~syntax.applySubstToFormula.p3'(B, C, E).
'syntax.applySubstToFormula.p3.0'('metaDefs.iTE.f3'(A,B,C), D, 'metaDefs.iTE.f3'(E,F,G)) :-
        'syntax.applySubstToFormula.p3'(A, D, E),
        'syntax.applySubstToFormula.p3'(B, D, F),
        'syntax.applySubstToFormula.p3'(C, D, G).
'~syntax.applySubstToFormula.p3.0'('metaDefs.iTE.f3'(A,B,C), D, 'metaDefs.iTE.f3'(E,F,G)) :-
        '~syntax.applySubstToFormula.p3'(A, D, E),
        '~syntax.applySubstToFormula.p3'(B, D, F),
        '~syntax.applySubstToFormula.p3'(C, D, G).
'syntax.applySubstToFormula.p3.0'('metaDefs.iST.f3'(A,B,C), D, 'metaDefs.iST.f3'(A,E,F)) :-
        'syntax.deleteBindings.p3'(A, D, G),
        'syntax.applySubstToFormula.p3'(B, G, E),
        'syntax.applySubstToFormula.p3'(C, G, F).
'~syntax.applySubstToFormula.p3.0'('metaDefs.iST.f3'(A,B,C), D, 'metaDefs.iST.f3'(A,E,F)) :-
        '~syntax.deleteBindings.p3'(A, D, G),
        '~syntax.applySubstToFormula.p3'(B, G, E),
        '~syntax.applySubstToFormula.p3'(C, G, F).
'syntax.applySubstToFormula.p3.0'('metaDefs.iSTE.f4'(A,B,C,D), E, 'metaDefs.iSTE.f4'(A,F,G,H)) :-
        'syntax.deleteBindings.p3'(A, E, I),
        'syntax.applySubstToFormula.p3'(B, I, F),
        'syntax.applySubstToFormula.p3'(C, I, G),
        'syntax.applySubstToFormula.p3'(D, I, H).
'~syntax.applySubstToFormula.p3.0'('metaDefs.iSTE.f4'(A,B,C,D), E, 'metaDefs.iSTE.f4'(A,F,G,H)) :-
        '~syntax.deleteBindings.p3'(A, E, I),
        '~syntax.applySubstToFormula.p3'(B, I, F),
        '~syntax.applySubstToFormula.p3'(C, I, G),
        '~syntax.applySubstToFormula.p3'(D, I, H).
'syntax.applySubstToFormula.p3.0'('metaDefs.commit.f2'(A,B), C, 'metaDefs.commit.f2'(A,D)) :-
        'syntax.applySubstToFormula.p3'(B, C, D).
'~syntax.applySubstToFormula.p3.0'('metaDefs.commit.f2'(A,B), C, 'metaDefs.commit.f2'(A,D)) :-
        '~syntax.applySubstToFormula.p3'(B, C, D).
'syntax.applySubstToArgs.p8'([], A, A, _, _, B, B, []).
'~syntax.applySubstToArgs.p8'([], A, A, _, _, B, B, []).
'syntax.applySubstToArgs.p8'([A|B], C, D, E, F, G, H, [I|J]) :-
        'syntax.applySubstToTerm.p8'(A, C, K, E, F, G, L, I),
        'syntax.applySubstToArgs.p8'(B, K, D, E, F, L, H, J).
'~syntax.applySubstToArgs.p8'([A|B], C, D, E, F, G, H, [I|J]) :-
        '~syntax.applySubstToTerm.p8'(A, C, K, E, F, G, L, I),
        '~syntax.applySubstToArgs.p8'(B, K, D, E, F, L, H, J).
'syntax.applySubstToType.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.applySubstToType.p3.0'(A,B,C)).
'~syntax.applySubstToType.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.applySubstToType.p3.0'(A,B,C)).
'syntax.applySubstToType.p3.0'(A, B, C) :-
        'substs':'substs.substApplyToType.p3'(A, B, C).
'~syntax.applySubstToType.p3.0'(A, B, C) :-
        'substs':'~substs.substApplyToType.p3'(A, B, C).
'syntax.applySubstToVarTypes.p3'([], _, []).
'~syntax.applySubstToVarTypes.p3'([], _, []).
'syntax.applySubstToVarTypes.p3'(['metaDefs.@.f2'(B,C)|A], D, ['metaDefs.@.f2'(B,F)|E]) :-
        'syntax.applySubstToType.p3'(C, D, F),
        'syntax.applySubstToVarTypes.p3'(A, D, E).
'~syntax.applySubstToVarTypes.p3'(['metaDefs.@.f2'(B,C)|A], D, ['metaDefs.@.f2'(B,F)|E]) :-
        '~syntax.applySubstToType.p3'(C, D, F),
        '~syntax.applySubstToVarTypes.p3'(A, D, E).
'syntax.bindingInTypeSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.bindingInTypeSubst.p3.0'(A,B,C)).
'~syntax.bindingInTypeSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.bindingInTypeSubst.p3.0'(A,B,C)).
'syntax.bindingInTypeSubst.p3.0'(A, B, C) :-
        'substs':'substs.sBindingInTypeSubst.p3'(A, B, C).
'~syntax.bindingInTypeSubst.p3.0'(A, B, C) :-
        'substs':'~substs.sBindingInTypeSubst.p3'(A, B, C).
'syntax.bindingInTermSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.bindingInTermSubst.p3.0'(A,B,C)).
'~syntax.bindingInTermSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.bindingInTermSubst.p3.0'(A,B,C)).
'syntax.bindingInTermSubst.p3.0'(A, B, C) :-
        'substs':'substs.sBindingInTermSubst.p3'(A, B, C).
'~syntax.bindingInTermSubst.p3.0'(A, B, C) :-
        'substs':'~substs.sBindingInTermSubst.p3'(A, B, C).
'syntax.baseType.p2'('metaDefs.bType.f1'(A), A).
'~syntax.baseType.p2'('metaDefs.bType.f1'(A), A).
'syntax.bindingInVarTyping.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.bindingInVarTyping.p3.0'(A,B,C)).
'~syntax.bindingInVarTyping.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.bindingInVarTyping.p3.0'(A,B,C)).
'syntax.bindingInVarTyping.p3.0'('metaDefs.varTyping.f1'(A), B, C) :-
        'extraSyntax':'extraSyntax.eBindingInVarTyping.p3'(A, B, C).
'~syntax.bindingInVarTyping.p3.0'('metaDefs.varTyping.f1'(A), B, C) :-
        'extraSyntax':'~extraSyntax.eBindingInVarTyping.p3'(A, B, C).
'syntax.checkVariantTerms1.p4'('metaDefs.var.f1'(A), B, C, 'metaDefs.var.f2'(D,E)) :-
        'sharedSyntax':'sharedSyntax.sNotNewBinding.p4'(B, C, 'metaDefs.var.f1'(A), 'metaDefs.var.f2'(D,E)).
'~syntax.checkVariantTerms1.p4'('metaDefs.var.f1'(A), B, C, 'metaDefs.var.f2'(D,E)) :-
        'sharedSyntax':'~sharedSyntax.sNotNewBinding.p4'(B, C, 'metaDefs.var.f1'(A), 'metaDefs.var.f2'(D,E)).
'syntax.checkVariantTerms1.p4'('metaDefs.var.f1'(A), B, C, 'metaDefs.var.f1'(D)) :-
        'sharedSyntax':'sharedSyntax.sNotNewBinding.p4'(B, C, 'metaDefs.var.f1'(A), 'metaDefs.var.f1'(D)).
'~syntax.checkVariantTerms1.p4'('metaDefs.var.f1'(A), B, C, 'metaDefs.var.f1'(D)) :-
        'sharedSyntax':'~sharedSyntax.sNotNewBinding.p4'(B, C, 'metaDefs.var.f1'(A), 'metaDefs.var.f1'(D)).
'syntax.checkVariantTerms1.p4'('metaDefs.var.f2'(A,B), C, D, 'metaDefs.var.f1'(E)) :-
        'sharedSyntax':'sharedSyntax.sNotNewBinding.p4'(C, D, 'metaDefs.var.f2'(A,B), 'metaDefs.var.f1'(E)).
'~syntax.checkVariantTerms1.p4'('metaDefs.var.f2'(A,B), C, D, 'metaDefs.var.f1'(E)) :-
        'sharedSyntax':'~sharedSyntax.sNotNewBinding.p4'(C, D, 'metaDefs.var.f2'(A,B), 'metaDefs.var.f1'(E)).
'syntax.checkVariantTerms1.p4'('metaDefs.var.f2'(A,B), C, D, 'metaDefs.var.f2'(E,F)) :-
        'sharedSyntax':'sharedSyntax.sNotNewBinding.p4'(C, D, 'metaDefs.var.f2'(A,B), 'metaDefs.var.f2'(E,F)).
'~syntax.checkVariantTerms1.p4'('metaDefs.var.f2'(A,B), C, D, 'metaDefs.var.f2'(E,F)) :-
        'sharedSyntax':'~sharedSyntax.sNotNewBinding.p4'(C, D, 'metaDefs.var.f2'(A,B), 'metaDefs.var.f2'(E,F)).
'syntax.checkVariantTerms1.p4'('metaDefs.cTerm.f1'(A), B, B, 'metaDefs.cTerm.f1'(A)).
'~syntax.checkVariantTerms1.p4'('metaDefs.cTerm.f1'(A), B, B, 'metaDefs.cTerm.f1'(A)).
'syntax.checkVariantTerms1.p4'('metaDefs.term.f2'(A,B), C, D, 'metaDefs.term.f2'(A,E)) :-
        'syntax.checkVariantTerms.p4'(B, C, D, E).
'~syntax.checkVariantTerms1.p4'('metaDefs.term.f2'(A,B), C, D, 'metaDefs.term.f2'(A,E)) :-
        '~syntax.checkVariantTerms.p4'(B, C, D, E).
'syntax.checkVariantTerms1.p4'('metaDefs.xCTerm.f2'(A,B), C, C, 'metaDefs.xCTerm.f2'(A,B)).
'~syntax.checkVariantTerms1.p4'('metaDefs.xCTerm.f2'(A,B), C, C, 'metaDefs.xCTerm.f2'(A,B)).
'syntax.checkVariantTerms1.p4'('metaDefs.int.f1'(A), B, B, 'metaDefs.int.f1'(A)).
'~syntax.checkVariantTerms1.p4'('metaDefs.int.f1'(A), B, B, 'metaDefs.int.f1'(A)).
'syntax.checkVariantTerms1.p4'('metaDefs.str.f1'(A), B, B, 'metaDefs.str.f1'(A)).
'~syntax.checkVariantTerms1.p4'('metaDefs.str.f1'(A), B, B, 'metaDefs.str.f1'(A)).
'syntax.checkVariantTerms1.p4'('metaDefs.prm.f1'(A), B, B, 'metaDefs.prm.f1'(A)).
'~syntax.checkVariantTerms1.p4'('metaDefs.prm.f1'(A), B, B, 'metaDefs.prm.f1'(A)).
'syntax.checkVariantTerms1.p4'('metaDefs.xTerm.f3'(A,B,C), D, E, 'metaDefs.xTerm.f3'(A,F,C)) :-
        'syntax.checkVariantTerms.p4'(B, D, E, F).
'~syntax.checkVariantTerms1.p4'('metaDefs.xTerm.f3'(A,B,C), D, E, 'metaDefs.xTerm.f3'(A,F,C)) :-
        '~syntax.checkVariantTerms.p4'(B, D, E, F).
'syntax.checkVariantTerms1.p4'('metaDefs.suchThat.f2'(A,B), C, D, 'metaDefs.suchThat.f2'(E,F)) :-
        'syntax.checkVariantTerms1.p4'(A, C, G, E),
        'syntax.checkVariantFormulas1.p4'(B, F, G, D).
'~syntax.checkVariantTerms1.p4'('metaDefs.suchThat.f2'(A,B), C, D, 'metaDefs.suchThat.f2'(E,F)) :-
        '~syntax.checkVariantTerms1.p4'(A, C, G, E),
        '~syntax.checkVariantFormulas1.p4'(B, F, G, D).
'syntax.bindingToTypeSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.bindingToTypeSubst.p3.0'(A,B,C)).
'~syntax.bindingToTypeSubst.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.bindingToTypeSubst.p3.0'(A,B,C)).
'syntax.bindingToTypeSubst.p3.0'(A, B, C) :-
        'syntax.parameter.p1'(A),
        user:goedel_freeze(ground([B,A]), (A=B,true->'syntax':'syntax.emptyTypeSubst.p1'(C);'syntax':'syntax.typeNotOccur.p2'(B,A),'syntax':'syntax.emptyTypeSubst.p1'(D),'substs':'substs.bindParameter.p4'(A,B,D,C))).
'~syntax.bindingToTypeSubst.p3.0'(A, B, C) :-
        '~syntax.parameter.p1'(A),
        user:goedel_freeze(ground([B,A]), (A=B,true->'syntax':'~syntax.emptyTypeSubst.p1'(C);'syntax':'~syntax.typeNotOccur.p2'(B,A),'syntax':'~syntax.emptyTypeSubst.p1'(D),'substs':'~substs.bindParameter.p4'(A,B,D,C))).
'syntax.bindingToVarTyping.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.bindingToVarTyping.p3.0'(A,B,C)).
'~syntax.bindingToVarTyping.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.bindingToVarTyping.p3.0'(A,B,C)).
'syntax.bindingToVarTyping.p3.0'(A, B, 'metaDefs.varTyping.f1'(['metaDefs.@.f2'(A,B)])) :-
        'syntax.variable.p1'(A).
'~syntax.bindingToVarTyping.p3.0'(A, B, 'metaDefs.varTyping.f1'(['metaDefs.@.f2'(A,B)])) :-
        '~syntax.variable.p1'(A).
'syntax.checkVariantFormulas1.p4'('metaDefs.empty.c0', 'metaDefs.empty.c0', A, A).
'~syntax.checkVariantFormulas1.p4'('metaDefs.empty.c0', 'metaDefs.empty.c0', A, A).
'syntax.checkVariantFormulas1.p4'('metaDefs.pAtom.f1'(A), 'metaDefs.pAtom.f1'(A), B, B).
'~syntax.checkVariantFormulas1.p4'('metaDefs.pAtom.f1'(A), 'metaDefs.pAtom.f1'(A), B, B).
'syntax.checkVariantFormulas1.p4'('metaDefs.atom.f2'(A,B), 'metaDefs.atom.f2'(A,C), D, E) :-
        'syntax.checkVariantTerms.p4'(B, D, E, C).
'~syntax.checkVariantFormulas1.p4'('metaDefs.atom.f2'(A,B), 'metaDefs.atom.f2'(A,C), D, E) :-
        '~syntax.checkVariantTerms.p4'(B, D, E, C).
'syntax.checkVariantFormulas1.p4'('metaDefs.xPAtom.f1'(A), 'metaDefs.xPAtom.f1'(A), B, B).
'~syntax.checkVariantFormulas1.p4'('metaDefs.xPAtom.f1'(A), 'metaDefs.xPAtom.f1'(A), B, B).
'syntax.checkVariantFormulas1.p4'('metaDefs.xAtom.f2'(A,B), 'metaDefs.xAtom.f2'(A,C), D, E) :-
        'syntax.checkVariantTerms.p4'(B, D, E, C).
'~syntax.checkVariantFormulas1.p4'('metaDefs.xAtom.f2'(A,B), 'metaDefs.xAtom.f2'(A,C), D, E) :-
        '~syntax.checkVariantTerms.p4'(B, D, E, C).
'syntax.checkVariantFormulas1.p4'('metaDefs.&''.f2'(A,B), 'metaDefs.&''.f2'(C,D), E, F) :-
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.&''.f2'(A,B), 'metaDefs.&''.f2'(C,D), E, F) :-
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.\\/''.f2'(A,B), 'metaDefs.\\/''.f2'(C,D), E, F) :-  % added 2 \ djd
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.\\/''.f2'(A,B), 'metaDefs.\\/''.f2'(C,D), E, F) :-  % added 2 \ djd
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.~''.f1'(A), 'metaDefs.~''.f1'(B), C, D) :-
        'syntax.checkVariantFormulas1.p4'(A, B, C, D).
'~syntax.checkVariantFormulas1.p4'('metaDefs.~''.f1'(A), 'metaDefs.~''.f1'(B), C, D) :-
        '~syntax.checkVariantFormulas1.p4'(A, B, C, D).
'syntax.checkVariantFormulas1.p4'('metaDefs.<-''.f2'(A,B), 'metaDefs.<-''.f2'(C,D), E, F) :-
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.<-''.f2'(A,B), 'metaDefs.<-''.f2'(C,D), E, F) :-
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.->''.f2'(A,B), 'metaDefs.->''.f2'(C,D), E, F) :-
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.->''.f2'(A,B), 'metaDefs.->''.f2'(C,D), E, F) :-
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.<->''.f2'(A,B), 'metaDefs.<->''.f2'(C,D), E, F) :-
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.<->''.f2'(A,B), 'metaDefs.<->''.f2'(C,D), E, F) :-
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.all.f2'(A,B), 'metaDefs.all.f2'(C,D), E, F) :-
        'syntax.checkVariantTerms.p4'(A, E, G, C),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.all.f2'(A,B), 'metaDefs.all.f2'(C,D), E, F) :-
        '~syntax.checkVariantTerms.p4'(A, E, G, C),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.some.f2'(A,B), 'metaDefs.some.f2'(C,D), E, F) :-
        'syntax.checkVariantTerms.p4'(A, E, G, C),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.some.f2'(A,B), 'metaDefs.some.f2'(C,D), E, F) :-
        '~syntax.checkVariantTerms.p4'(A, E, G, C),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.iT.f2'(A,B), 'metaDefs.iT.f2'(C,D), E, F) :-
        'syntax.checkVariantFormulas1.p4'(A, C, E, G),
        'syntax.checkVariantFormulas1.p4'(B, D, G, F).
'~syntax.checkVariantFormulas1.p4'('metaDefs.iT.f2'(A,B), 'metaDefs.iT.f2'(C,D), E, F) :-
        '~syntax.checkVariantFormulas1.p4'(A, C, E, G),
        '~syntax.checkVariantFormulas1.p4'(B, D, G, F).
'syntax.checkVariantFormulas1.p4'('metaDefs.iTE.f3'(A,B,C), 'metaDefs.iTE.f3'(D,E,F), G, H) :-
        'syntax.checkVariantFormulas1.p4'(A, D, G, I),
        'syntax.checkVariantFormulas1.p4'(B, E, I, J),
        'syntax.checkVariantFormulas1.p4'(C, F, J, H).
'~syntax.checkVariantFormulas1.p4'('metaDefs.iTE.f3'(A,B,C), 'metaDefs.iTE.f3'(D,E,F), G, H) :-
        '~syntax.checkVariantFormulas1.p4'(A, D, G, I),
        '~syntax.checkVariantFormulas1.p4'(B, E, I, J),
        '~syntax.checkVariantFormulas1.p4'(C, F, J, H).
'syntax.checkVariantFormulas1.p4'('metaDefs.iST.f3'(A,B,C), 'metaDefs.iST.f3'(D,E,F), G, H) :-
        'syntax.checkVariantTerms.p4'(A, G, I, D),
        'syntax.checkVariantFormulas1.p4'(B, E, I, J),
        'syntax.checkVariantFormulas1.p4'(C, F, J, H).
'~syntax.checkVariantFormulas1.p4'('metaDefs.iST.f3'(A,B,C), 'metaDefs.iST.f3'(D,E,F), G, H) :-
        '~syntax.checkVariantTerms.p4'(A, G, I, D),
        '~syntax.checkVariantFormulas1.p4'(B, E, I, J),
        '~syntax.checkVariantFormulas1.p4'(C, F, J, H).
'syntax.checkVariantFormulas1.p4'('metaDefs.iSTE.f4'(A,B,C,D), 'metaDefs.iSTE.f4'(E,F,G,H), I, J) :-
        'syntax.checkVariantTerms.p4'(A, I, K, E),
        'syntax.checkVariantFormulas1.p4'(B, F, K, L),
        'syntax.checkVariantFormulas1.p4'(C, G, L, M),
        'syntax.checkVariantFormulas1.p4'(D, H, M, J).
'~syntax.checkVariantFormulas1.p4'('metaDefs.iSTE.f4'(A,B,C,D), 'metaDefs.iSTE.f4'(E,F,G,H), I, J) :-
        '~syntax.checkVariantTerms.p4'(A, I, K, E),
        '~syntax.checkVariantFormulas1.p4'(B, F, K, L),
        '~syntax.checkVariantFormulas1.p4'(C, G, L, M),
        '~syntax.checkVariantFormulas1.p4'(D, H, M, J).
'syntax.checkVariantFormulas1.p4'('metaDefs.commit.f2'(A,B), 'metaDefs.commit.f2'(A,C), D, E) :-
        'syntax.checkVariantFormulas1.p4'(B, C, D, E).
'~syntax.checkVariantFormulas1.p4'('metaDefs.commit.f2'(A,B), 'metaDefs.commit.f2'(A,C), D, E) :-
        '~syntax.checkVariantFormulas1.p4'(B, C, D, E).
'syntax.checkFunctionTerm1.p10'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I, J, K) :-
        user:goedel_freeze(ground([B,G,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),L),G),true),('syntax':'syntax.unifyValue.p5'(D,L,C,J,K),F=E,I=H),user:goedel_freeze(ground([B,H,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),M),H),true),('syntax':'syntax.unifyValue.p5'(D,M,C,J,K),F=E,I=H),('substs':'substs.unifyVariable.p4'(D,C,E,F),I=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),C)|H],K=J))))).
'~syntax.checkFunctionTerm1.p10'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I, J, K) :-
        user:goedel_freeze(ground([B,G,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),L),G),true),('syntax':'~syntax.unifyValue.p5'(D,L,C,J,K),F=E,I=H),user:goedel_freeze(ground([B,H,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),M),H),true),('syntax':'~syntax.unifyValue.p5'(D,M,C,J,K),F=E,I=H),('substs':'~substs.unifyVariable.p4'(D,C,E,F),I=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),C)|H],K=J))))).
'syntax.checkFunctionTerm1.p10'('metaDefs.var.f1'(A), B, C, D, E, F, G, H, I, J) :-
        user:goedel_freeze(ground([A,F]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),K),F),true),('syntax':'syntax.unifyValue.p5'(C,K,B,I,J),E=D,H=G),user:goedel_freeze(ground([A,G]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),L),G),true),('syntax':'syntax.unifyValue.p5'(C,L,B,I,J),E=D,H=G),('substs':'substs.unifyVariable.p4'(C,B,D,E),H=['metaDefs.!.f2'('metaDefs.var.f1'(A),B)|G],J=I))))).
'~syntax.checkFunctionTerm1.p10'('metaDefs.var.f1'(A), B, C, D, E, F, G, H, I, J) :-
        user:goedel_freeze(ground([A,F]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),K),F),true),('syntax':'~syntax.unifyValue.p5'(C,K,B,I,J),E=D,H=G),user:goedel_freeze(ground([A,G]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),L),G),true),('syntax':'~syntax.unifyValue.p5'(C,L,B,I,J),E=D,H=G),('substs':'~substs.unifyVariable.p4'(C,B,D,E),H=['metaDefs.!.f2'('metaDefs.var.f1'(A),B)|G],J=I))))).
'syntax.checkFunctionTerm1.p10'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J, K) :-
        'substs':'substs.unifyFunction.p6'(D, C, 'metaDefs.term.f2'(A,L), M, J, N),
        'syntax.checkFunctionTerm.p10'(B, L, M, E, F, G, H, I, N, K).
'~syntax.checkFunctionTerm1.p10'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J, K) :-
        'substs':'~substs.unifyFunction.p6'(D, C, 'metaDefs.term.f2'(A,L), M, J, N),
        '~syntax.checkFunctionTerm.p10'(B, L, M, E, F, G, H, I, N, K).
'syntax.checkFunctionTerm1.p10'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, J, K, L) :-
        'substs':'substs.unifyFunction.p6'(E, D, 'metaDefs.xTerm.f3'(A,M,C), N, K, O),
        'syntax.checkFunctionTerm.p10'(B, M, N, F, G, H, I, J, O, L).
'~syntax.checkFunctionTerm1.p10'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, J, K, L) :-
        'substs':'~substs.unifyFunction.p6'(E, D, 'metaDefs.xTerm.f3'(A,M,C), N, K, O),
        '~syntax.checkFunctionTerm.p10'(B, M, N, F, G, H, I, J, O, L).
'syntax.checkFunctionTerm1.p10'('metaDefs.cTerm.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'substs.unifyConstant.p5'(C, B, 'metaDefs.cTerm.f1'(A), F, G).
'~syntax.checkFunctionTerm1.p10'('metaDefs.cTerm.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'~substs.unifyConstant.p5'(C, B, 'metaDefs.cTerm.f1'(A), F, G).
'syntax.checkFunctionTerm1.p10'('metaDefs.xCTerm.f2'(A,B), C, D, E, E, _, F, F, G, H) :-
        'substs':'substs.unifyConstant.p5'(D, C, 'metaDefs.xCTerm.f2'(A,B), G, H).
'~syntax.checkFunctionTerm1.p10'('metaDefs.xCTerm.f2'(A,B), C, D, E, E, _, F, F, G, H) :-
        'substs':'~substs.unifyConstant.p5'(D, C, 'metaDefs.xCTerm.f2'(A,B), G, H).
'syntax.checkFunctionTerm1.p10'('metaDefs.int.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'substs.unifyConstant.p5'(C, B, 'metaDefs.int.f1'(A), F, G).
'~syntax.checkFunctionTerm1.p10'('metaDefs.int.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'~substs.unifyConstant.p5'(C, B, 'metaDefs.int.f1'(A), F, G).
'syntax.checkFunctionTerm1.p10'('metaDefs.str.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'substs.unifyConstant.p5'(C, B, 'metaDefs.str.f1'(A), F, G).
'~syntax.checkFunctionTerm1.p10'('metaDefs.str.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'~substs.unifyConstant.p5'(C, B, 'metaDefs.str.f1'(A), F, G).
'syntax.checkFunctionTerm1.p10'('metaDefs.prm.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'substs.unifyConstant.p5'(C, B, 'metaDefs.prm.f1'(A), F, G).
'~syntax.checkFunctionTerm1.p10'('metaDefs.prm.f1'(A), B, C, D, D, _, E, E, F, G) :-
        'substs':'~substs.unifyConstant.p5'(C, B, 'metaDefs.prm.f1'(A), F, G).
'syntax.checkFunctionTerm1.p10'('metaDefs.suchThat.f2'(A,B), C, D, E, E, _, F, F, G, H) :-
        'substs':'substs.unifyConstant.p5'(D, C, 'metaDefs.suchThat.f2'(A,B), G, H).
'~syntax.checkFunctionTerm1.p10'('metaDefs.suchThat.f2'(A,B), C, D, E, E, _, F, F, G, H) :-
        'substs':'~substs.unifyConstant.p5'(D, C, 'metaDefs.suchThat.f2'(A,B), G, H).
'syntax.checkFunctionTerm.p10'([], [], _, A, A, _, B, B, C, C).
'~syntax.checkFunctionTerm.p10'([], [], _, A, A, _, B, B, C, C).
'syntax.checkFunctionTerm.p10'([A|B], [C|D], E, F, G, H, I, J, K, L) :-
        'syntax.checkFunctionTerm1.p10'(A, C, E, F, M, H, I, N, K, O),
        'syntax.checkFunctionTerm.p10'(B, D, E, M, G, H, N, J, O, L).
'~syntax.checkFunctionTerm.p10'([A|B], [C|D], E, F, G, H, I, J, K, L) :-
        '~syntax.checkFunctionTerm1.p10'(A, C, E, F, M, H, I, N, K, O),
        '~syntax.checkFunctionTerm.p10'(B, D, E, M, G, H, N, J, O, L).
'syntax.checkVariantFormulas.p4'([], A, A, []).
'~syntax.checkVariantFormulas.p4'([], A, A, []).
'syntax.checkVariantFormulas.p4'([A|B], C, D, [E|F]) :-
        'syntax.checkVariantFormulas1.p4'(A, E, C, G),
        'syntax.checkVariantFormulas.p4'(B, G, D, F).
'~syntax.checkVariantFormulas.p4'([A|B], C, D, [E|F]) :-
        '~syntax.checkVariantFormulas1.p4'(A, E, C, G),
        '~syntax.checkVariantFormulas.p4'(B, G, D, F).
'syntax.checkVariantTerms.p4'([], A, A, []).
'~syntax.checkVariantTerms.p4'([], A, A, []).
'syntax.checkVariantTerms.p4'([A|B], C, D, [E|F]) :-
        'syntax.checkVariantTerms1.p4'(A, C, G, E),
        'syntax.checkVariantTerms.p4'(B, G, D, F).
'~syntax.checkVariantTerms.p4'([A|B], C, D, [E|F]) :-
        '~syntax.checkVariantTerms1.p4'(A, C, G, E),
        '~syntax.checkVariantTerms.p4'(B, G, D, F).
'syntax.combineVarTypings.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.combineVarTypings.p3.0'(A,B,C)).
'~syntax.combineVarTypings.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.combineVarTypings.p3.0'(A,B,C)).
'syntax.combineVarTypings.p3.0'('metaDefs.varTyping.f1'(A), 'metaDefs.varTyping.f1'(B), 'metaDefs.varTyping.f1'(C)) :-
        'substs':'substs.emptyHeap.p1'(D),
        'syntax.combineVarTypings1.p6'(A, [], 'substs.typeSubst.f2'(D,[]), E, B, F),
        'syntax.applySubstToVarTypes.p3'(F, E, C).
'~syntax.combineVarTypings.p3.0'('metaDefs.varTyping.f1'(A), 'metaDefs.varTyping.f1'(B), 'metaDefs.varTyping.f1'(C)) :-
        'substs':'~substs.emptyHeap.p1'(D),
        '~syntax.combineVarTypings1.p6'(A, [], 'substs.typeSubst.f2'(D,[]), E, B, F),
        '~syntax.applySubstToVarTypes.p3'(F, E, C).
'syntax.closedFormula.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.closedFormula.p1.0'(A)).
'~syntax.closedFormula.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.closedFormula.p1.0'(A)).
'syntax.closedFormula.p1.0'(A) :-
        'sharedSyntax':'sharedSyntax.sFormulaFreeVars.p2'(A, []).
'~syntax.closedFormula.p1.0'(A) :-
        'sharedSyntax':'~sharedSyntax.sFormulaFreeVars.p2'(A, []).
'syntax.commit.p3'(A, B, 'metaDefs.commit.f2'(A,B)).
'~syntax.commit.p3'(A, B, 'metaDefs.commit.f2'(A,B)).
'syntax.combineVarTypings1.p6'([], A, B, B, C, D) :-
        'syntax.deleteVarTypeBindings.p3'(A, C, D).
'~syntax.combineVarTypings1.p6'([], A, B, B, C, D) :-
        '~syntax.deleteVarTypeBindings.p3'(A, C, D).
'syntax.combineVarTypings1.p6'(['metaDefs.@.f2'(B,C)|A], D, E, F, G, ['metaDefs.@.f2'(B,I)|H]) :-
        'syntax.applySubstToType.p3'(C, E, J),
        user:goedel_freeze(ground([G,B]), if(('lists':'~lists.memberCheck.p2'('metaDefs.@.f2'(B,K),G),true),('syntax':'syntax.applySubstToType.p3'(K,E,L),'substs':'substs.emptyHeap.p1'(M),'syntax':'syntax.unifyTypes.p4'(J,L,'substs.typeSubst.f2'(M,[]),N),'syntax':'syntax.applySubstToType.p3'(J,N,I),'syntax':'syntax.composeTypeSubsts.p3'(N,E,O)),(I=J,O=E))),
        'syntax.combineVarTypings1.p6'(A, [B|D], O, F, G, H).
'~syntax.combineVarTypings1.p6'(['metaDefs.@.f2'(B,C)|A], D, E, F, G, ['metaDefs.@.f2'(B,I)|H]) :-
        '~syntax.applySubstToType.p3'(C, E, J),
        user:goedel_freeze(ground([G,B]), if(('lists':'~lists.memberCheck.p2'('metaDefs.@.f2'(B,K),G),true),('syntax':'~syntax.applySubstToType.p3'(K,E,L),'substs':'~substs.emptyHeap.p1'(M),'syntax':'~syntax.unifyTypes.p4'(J,L,'substs.typeSubst.f2'(M,[]),N),'syntax':'~syntax.applySubstToType.p3'(J,N,I),'syntax':'~syntax.composeTypeSubsts.p3'(N,E,O)),(I=J,O=E))),
        '~syntax.combineVarTypings1.p6'(A, [B|D], O, F, G, H).
'syntax.delBindingInTypeSubst.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.delBindingInTypeSubst.p4.0'(A,B,C,D)).
'~syntax.delBindingInTypeSubst.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.delBindingInTypeSubst.p4.0'(A,B,C,D)).
'syntax.delBindingInTypeSubst.p4.0'(A, B, C, D) :-
        'substs':'substs.composeTypeSubsts1.p3'(A, A, E),
        'substs':'substs.sDelBindingInTypeSubst.p4'(E, B, C, D).
'~syntax.delBindingInTypeSubst.p4.0'(A, B, C, D) :-
        'substs':'~substs.composeTypeSubsts1.p3'(A, A, E),
        'substs':'~substs.sDelBindingInTypeSubst.p4'(E, B, C, D).
'syntax.constructorType.p3'('metaDefs.type.f2'(A,B), A, B).
'~syntax.constructorType.p3'('metaDefs.type.f2'(A,B), A, B).
'syntax.conjunctionOfAtoms.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.conjunctionOfAtoms.p1.0'(A)).
'~syntax.conjunctionOfAtoms.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.conjunctionOfAtoms.p1.0'(A)).
'syntax.conjunctionOfAtoms.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.conjunctionOfAtoms.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.conjunctionOfAtoms.p1.0'('metaDefs.atom.f2'(_,_)).
'~syntax.conjunctionOfAtoms.p1.0'('metaDefs.atom.f2'(_,_)).
'syntax.conjunctionOfAtoms.p1.0'('metaDefs.&''.f2'(A,B)) :-
        'syntax.conjunctionOfAtoms.p1'(A),
        'syntax.conjunctionOfAtoms.p1'(B).
'~syntax.conjunctionOfAtoms.p1.0'('metaDefs.&''.f2'(A,B)) :-
        '~syntax.conjunctionOfAtoms.p1'(A),
        '~syntax.conjunctionOfAtoms.p1'(B).
'syntax.composeTypeSubsts.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.composeTypeSubsts.p3.0'(A,B,C)).
'~syntax.composeTypeSubsts.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.composeTypeSubsts.p3.0'(A,B,C)).
'syntax.composeTypeSubsts.p3.0'(A, B, C) :-
        'substs':'substs.substsComposeType.p3'(A, B, C).
'~syntax.composeTypeSubsts.p3.0'(A, B, C) :-
        'substs':'~substs.substsComposeType.p3'(A, B, C).
'syntax.composeTermSubsts.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.composeTermSubsts.p3.0'(A,B,C)).
'~syntax.composeTermSubsts.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.composeTermSubsts.p3.0'(A,B,C)).
'syntax.composeTermSubsts.p3.0'(A, B, C) :-
        'substs':'substs.substsComposeTerm.p3'(A, B, C).
'~syntax.composeTermSubsts.p3.0'(A, B, C) :-
        'substs':'~substs.substsComposeTerm.p3'(A, B, C).
'syntax.conditionalFreeFormula.p1'('metaDefs.empty.c0').
'~syntax.conditionalFreeFormula.p1'('metaDefs.empty.c0').
'syntax.conditionalFreeFormula.p1'('metaDefs.pAtom.f1'(_)).
'~syntax.conditionalFreeFormula.p1'('metaDefs.pAtom.f1'(_)).
'syntax.conditionalFreeFormula.p1'('metaDefs.atom.f2'(_,_)).
'~syntax.conditionalFreeFormula.p1'('metaDefs.atom.f2'(_,_)).
'syntax.conditionalFreeFormula.p1'('metaDefs.&''.f2'(A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.conditionalFreeFormula.p1'('metaDefs.&''.f2'(A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.conditionalFreeFormula.p1'('metaDefs.\\/''.f2'(A,B)) :-  % added \ djd
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.conditionalFreeFormula.p1'('metaDefs.\\/''.f2'(A,B)) :-  % added \ djd
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.conditionalFreeFormula.p1'('metaDefs.->''.f2'(A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.conditionalFreeFormula.p1'('metaDefs.->''.f2'(A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.conditionalFreeFormula.p1'('metaDefs.<-''.f2'(A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.conditionalFreeFormula.p1'('metaDefs.<-''.f2'(A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.conditionalFreeFormula.p1'('metaDefs.<->''.f2'(A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.conditionalFreeFormula.p1'('metaDefs.<->''.f2'(A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.conditionalFreeFormula.p1'('metaDefs.~''.f1'(A)) :-
        'syntax.conditionalFreeFormula.p1'(A).
'~syntax.conditionalFreeFormula.p1'('metaDefs.~''.f1'(A)) :-
        '~syntax.conditionalFreeFormula.p1'(A).
'syntax.conditionalFreeFormula.p1'('metaDefs.some.f2'(_,A)) :-
        'syntax.conditionalFreeFormula.p1'(A).
'~syntax.conditionalFreeFormula.p1'('metaDefs.some.f2'(_,A)) :-
        '~syntax.conditionalFreeFormula.p1'(A).
'syntax.conditionalFreeFormula.p1'('metaDefs.all.f2'(_,A)) :-
        'syntax.conditionalFreeFormula.p1'(A).
'~syntax.conditionalFreeFormula.p1'('metaDefs.all.f2'(_,A)) :-
        '~syntax.conditionalFreeFormula.p1'(A).
'syntax.conditionalFreeFormula.p1'('metaDefs.commit.f2'(_,A)) :-
        'syntax.conditionalFreeFormula.p1'(A).
'~syntax.conditionalFreeFormula.p1'('metaDefs.commit.f2'(_,A)) :-
        '~syntax.conditionalFreeFormula.p1'(A).
'syntax.conjunctionOfLiterals.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.conjunctionOfLiterals.p1.0'(A)).
'~syntax.conjunctionOfLiterals.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.conjunctionOfLiterals.p1.0'(A)).
'syntax.conjunctionOfLiterals.p1.0'(A) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.literal.p1'(A),true->true;A='metaDefs.&''.f2'(B,C),'syntax':'syntax.conjunctionOfLiterals.p1'(B),'syntax':'syntax.conjunctionOfLiterals.p1'(C))).
'~syntax.conjunctionOfLiterals.p1.0'(A) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.literal.p1'(A),true->true;A='metaDefs.&''.f2'(B,C),'syntax':'~syntax.conjunctionOfLiterals.p1'(B),'syntax':'~syntax.conjunctionOfLiterals.p1'(C))).
'syntax.constantTerm.p2'('metaDefs.cTerm.f1'(A), A).
'~syntax.constantTerm.p2'('metaDefs.cTerm.f1'(A), A).
'syntax.constantTerm.p2'('metaDefs.int.f1'(A), 'metaDefs.name.f4'('"Integers',B,'metaDefs.constant.c0',0)) :-
        'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(A, C, []),
        'strings':'strings.stringInts.p2'(B, C).
'~syntax.constantTerm.p2'('metaDefs.int.f1'(A), 'metaDefs.name.f4'('"Integers',B,'metaDefs.constant.c0',0)) :-
        'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(A, C, []),
        'strings':'~strings.stringInts.p2'(B, C).
'syntax.definiteGoal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.definiteGoal.p1.0'(A)).
'~syntax.definiteGoal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.definiteGoal.p1.0'(A)).
'syntax.definiteGoal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteGoal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteBody.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.definiteBody.p1.0'(A)).
'~syntax.definiteBody.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.definiteBody.p1.0'(A)).
'syntax.definiteBody.p1.0'('metaDefs.empty.c0').
'~syntax.definiteBody.p1.0'('metaDefs.empty.c0').
'syntax.definiteBody.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.definiteBody.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.definiteBody.p1.0'('metaDefs.atom.f2'(_,_)).
'~syntax.definiteBody.p1.0'('metaDefs.atom.f2'(_,_)).
'syntax.definiteBody.p1.0'('metaDefs.xPAtom.f1'(_)).
'~syntax.definiteBody.p1.0'('metaDefs.xPAtom.f1'(_)).
'syntax.definiteBody.p1.0'('metaDefs.xAtom.f2'(_,_)).
'~syntax.definiteBody.p1.0'('metaDefs.xAtom.f2'(_,_)).
'syntax.definiteBody.p1.0'('metaDefs.&''.f2'(A,B)) :-
        'syntax.definiteBody.p1'(A),
        'syntax.definiteBody.p1'(B).
'~syntax.definiteBody.p1.0'('metaDefs.&''.f2'(A,B)) :-
        '~syntax.definiteBody.p1'(A),
        '~syntax.definiteBody.p1'(B).
'syntax.definiteBody.p1.0'('metaDefs.commit.f2'(_,A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteBody.p1.0'('metaDefs.commit.f2'(_,A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteStatement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.definiteStatement.p1.0'(A)).
'~syntax.definiteStatement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.definiteStatement.p1.0'(A)).
'syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),A)) :-
        'syntax.definiteBody.p1'(A).
'~syntax.definiteStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),A)) :-
        '~syntax.definiteBody.p1'(A).
'syntax.definiteResultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.definiteResultant.p1.0'(A)).
'~syntax.definiteResultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.definiteResultant.p1.0'(A)).
'syntax.definiteResultant.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        'syntax.definiteBody.p1'(A),
        'syntax.definiteBody.p1'(B).
'~syntax.definiteResultant.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        '~syntax.definiteBody.p1'(A),
        '~syntax.definiteBody.p1'(B).
'syntax.delBindingInTermSubst.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.delBindingInTermSubst.p4.0'(A,B,C,D)).
'~syntax.delBindingInTermSubst.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.delBindingInTermSubst.p4.0'(A,B,C,D)).
'syntax.delBindingInTermSubst.p4.0'(A, B, C, D) :-
        'substs':'substs.composeTermSubsts1.p3'(A, A, E),
        'substs':'substs.sDelBindingInTermSubst.p4'(E, B, C, D).
'~syntax.delBindingInTermSubst.p4.0'(A, B, C, D) :-
        'substs':'~substs.composeTermSubsts1.p3'(A, A, E),
        'substs':'~substs.sDelBindingInTermSubst.p4'(E, B, C, D).
'syntax.formulaMaxVarIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.formulaMaxVarIndex.p2.0'(A,B)).
'~syntax.formulaMaxVarIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.formulaMaxVarIndex.p2.0'(A,B)).
'syntax.formulaMaxVarIndex.p2.0'(A, B) :-
        'sharedSyntax':'sharedSyntax.sFormulaMaxVarIndex.p2'(A, B).
'~syntax.formulaMaxVarIndex.p2.0'(A, B) :-
        'sharedSyntax':'~sharedSyntax.sFormulaMaxVarIndex.p2'(A, B).
'syntax.emptyFormula.p1'('metaDefs.empty.c0').
'~syntax.emptyFormula.p1'('metaDefs.empty.c0').
'syntax.deleteBindings.p3'([], A, A).
'~syntax.deleteBindings.p3'([], A, A).
'syntax.deleteBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.delBindingInTermSubst.p4'(C,A,_,E),true),'syntax':'syntax.deleteBindings.p3'(B,E,D),'syntax':'syntax.deleteBindings.p3'(B,C,D))).
'~syntax.deleteBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.delBindingInTermSubst.p4'(C,A,_,E),true),'syntax':'~syntax.deleteBindings.p3'(B,E,D),'syntax':'~syntax.deleteBindings.p3'(B,C,D))).
'syntax.delBindingInVarTyping.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.delBindingInVarTyping.p4.0'(A,B,C,D)).
'~syntax.delBindingInVarTyping.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.delBindingInVarTyping.p4.0'(A,B,C,D)).
'syntax.delBindingInVarTyping.p4.0'('metaDefs.varTyping.f1'(A), B, C, 'metaDefs.varTyping.f1'(D)) :-
        'extraSyntax':'extraSyntax.eDelBindingInVarTyping.p4'(A, B, C, D).
'~syntax.delBindingInVarTyping.p4.0'('metaDefs.varTyping.f1'(A), B, C, 'metaDefs.varTyping.f1'(D)) :-
        'extraSyntax':'~extraSyntax.eDelBindingInVarTyping.p4'(A, B, C, D).
'syntax.deleteAllVars.p3'([], _, []).
'~syntax.deleteAllVars.p3'([], _, []).
'syntax.deleteAllVars.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), ('lists':'~lists.memberCheck.p2'(A,C),true->'syntax':'syntax.deleteAllVars.p3'(B,C,D);D=[A|E],'syntax':'syntax.deleteAllVars.p3'(B,C,E))).
'~syntax.deleteAllVars.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), ('lists':'~lists.memberCheck.p2'(A,C),true->'syntax':'~syntax.deleteAllVars.p3'(B,C,D);D=[A|E],'syntax':'~syntax.deleteAllVars.p3'(B,C,E))).
'syntax.derive.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A,B,C,D,E]), 'syntax':'syntax.derive.p7.0'(A,B,C,D,E,F,G)).
'~syntax.derive.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A,B,C,D,E]), 'syntax':'~syntax.derive.p7.0'(A,B,C,D,E,F,G)).
'syntax.derive.p7.0'(A, B, 'metaDefs.pAtom.f1'(C), D, 'metaDefs.<-''.f2'('metaDefs.pAtom.f1'(C),E), F, 'metaDefs.<-''.f2'(A,G)) :- !,
        'syntax.normalBody.p1'(E),
        'syntax.andWithEmpty.p3'(B, E, H),
        'syntax.andWithEmpty.p3'(H, D, G),
        'syntax.emptyTermSubst.p1'(F).
'~syntax.derive.p7.0'(A, B, 'metaDefs.pAtom.f1'(C), D, 'metaDefs.<-''.f2'('metaDefs.pAtom.f1'(C),E), F, 'metaDefs.<-''.f2'(A,G)) :-
        true,
        '~syntax.normalBody.p1'(E),
        '~syntax.andWithEmpty.p3'(B, E, H),
        '~syntax.andWithEmpty.p3'(H, D, G),
        '~syntax.emptyTermSubst.p1'(F).
'syntax.derive.p7.0'(A, B, 'metaDefs.atom.f2'(C,D), E, 'metaDefs.<-''.f2'('metaDefs.atom.f2'(C,F),G), H, 'metaDefs.<-''.f2'(I,J)) :- !,
        'syntax.normalBody.p1'(G),
        'syntax.emptyTermSubst.p1'(K),
        'sharedSyntax':'sharedSyntax.unifyingTermSubst.p4'(D, F, K, H),
        'syntax.applySubstToFormula.p3'(A, H, I),
        'syntax.applySubstToFormula.p3'(B, H, L),
        'syntax.applySubstToFormula.p3'(E, H, M),
        'syntax.applySubstToFormula.p3'(G, H, N),
        'syntax.andWithEmpty.p3'(L, N, O),
        'syntax.andWithEmpty.p3'(O, M, J).
'~syntax.derive.p7.0'(A, B, 'metaDefs.atom.f2'(C,D), E, 'metaDefs.<-''.f2'('metaDefs.atom.f2'(C,F),G), H, 'metaDefs.<-''.f2'(I,J)) :-
        true,
        '~syntax.normalBody.p1'(G),
        '~syntax.emptyTermSubst.p1'(K),
        'sharedSyntax':'~sharedSyntax.unifyingTermSubst.p4'(D, F, K, H),
        '~syntax.applySubstToFormula.p3'(A, H, I),
        '~syntax.applySubstToFormula.p3'(B, H, L),
        '~syntax.applySubstToFormula.p3'(E, H, M),
        '~syntax.applySubstToFormula.p3'(G, H, N),
        '~syntax.andWithEmpty.p3'(L, N, O),
        '~syntax.andWithEmpty.p3'(O, M, J).
'syntax.derive.p7.0'(A, B, 'metaDefs.xPAtom.f1'(C), D, 'metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(C),E), F, 'metaDefs.<-''.f2'(A,G)) :- !,
        'syntax.normalBody.p1'(E),
        'syntax.andWithEmpty.p3'(B, E, H),
        'syntax.andWithEmpty.p3'(H, D, G),
        'syntax.emptyTermSubst.p1'(F).
'~syntax.derive.p7.0'(A, B, 'metaDefs.xPAtom.f1'(C), D, 'metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(C),E), F, 'metaDefs.<-''.f2'(A,G)) :-
        true,
        '~syntax.normalBody.p1'(E),
        '~syntax.andWithEmpty.p3'(B, E, H),
        '~syntax.andWithEmpty.p3'(H, D, G),
        '~syntax.emptyTermSubst.p1'(F).
'syntax.derive.p7.0'(A, B, 'metaDefs.xAtom.f2'(C,D), E, 'metaDefs.<-''.f2'('metaDefs.xAtom.f2'(C,F),G), H, 'metaDefs.<-''.f2'(I,J)) :- !,
        'syntax.normalBody.p1'(G),
        'syntax.emptyTermSubst.p1'(K),
        'sharedSyntax':'sharedSyntax.unifyingTermSubst.p4'(D, F, K, H),
        'syntax.applySubstToFormula.p3'(A, H, I),
        'syntax.applySubstToFormula.p3'(B, H, L),
        'syntax.applySubstToFormula.p3'(E, H, M),
        'syntax.applySubstToFormula.p3'(G, H, N),
        'syntax.andWithEmpty.p3'(L, N, O),
        'syntax.andWithEmpty.p3'(O, M, J).
'~syntax.derive.p7.0'(A, B, 'metaDefs.xAtom.f2'(C,D), E, 'metaDefs.<-''.f2'('metaDefs.xAtom.f2'(C,F),G), H, 'metaDefs.<-''.f2'(I,J)) :-
        true,
        '~syntax.normalBody.p1'(G),
        '~syntax.emptyTermSubst.p1'(K),
        'sharedSyntax':'~sharedSyntax.unifyingTermSubst.p4'(D, F, K, H),
        '~syntax.applySubstToFormula.p3'(A, H, I),
        '~syntax.applySubstToFormula.p3'(B, H, L),
        '~syntax.applySubstToFormula.p3'(E, H, M),
        '~syntax.applySubstToFormula.p3'(G, H, N),
        '~syntax.andWithEmpty.p3'(L, N, O),
        '~syntax.andWithEmpty.p3'(O, M, J).
'syntax.deleteVarTypeBindings.p3'([], A, A).
'~syntax.deleteVarTypeBindings.p3'([], A, A).
'syntax.deleteVarTypeBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('lists':'~lists.deleteFirst.p3'('metaDefs.@.f2'(A,_),C,E),true),'syntax':'syntax.deleteVarTypeBindings.p3'(B,E,D),'syntax':'syntax.deleteVarTypeBindings.p3'(B,C,D))).
'~syntax.deleteVarTypeBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('lists':'~lists.deleteFirst.p3'('metaDefs.@.f2'(A,_),C,E),true),'syntax':'~syntax.deleteVarTypeBindings.p3'(B,E,D),'syntax':'~syntax.deleteVarTypeBindings.p3'(B,C,D))).
'syntax.equivalent.p3'(A, B, 'metaDefs.<->''.f2'(A,B)).
'~syntax.equivalent.p3'(A, B, 'metaDefs.<->''.f2'(A,B)).
'syntax.emptyTypeSubst.p1'('substs.typeSubst.f2'(A,[])) :-
        'substs':'substs.emptyHeap.p1'(A).
'~syntax.emptyTypeSubst.p1'('substs.typeSubst.f2'(A,[])) :-
        'substs':'~substs.emptyHeap.p1'(A).
'syntax.emptyTermSubst.p1'(A) :-
        'sharedSyntax':'sharedSyntax.sEmptyTermSubst.p1'(A).
'~syntax.emptyTermSubst.p1'(A) :-
        'sharedSyntax':'~sharedSyntax.sEmptyTermSubst.p1'(A).
'syntax.emptyVarTyping.p1'('metaDefs.varTyping.f1'([])).
'~syntax.emptyVarTyping.p1'('metaDefs.varTyping.f1'([])).
'syntax.findTypeBindings.p3'([], _, []).
'~syntax.findTypeBindings.p3'([], _, []).
'syntax.findTypeBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.bindingInTypeSubst.p3'(C,A,E),true),D=['metaDefs.!.f2'(A,E)|F],D=F)),
        'syntax.findTypeBindings.p3'(B, C, F).
'~syntax.findTypeBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.bindingInTypeSubst.p3'(C,A,E),true),D=['metaDefs.!.f2'(A,E)|F],D=F)),
        '~syntax.findTypeBindings.p3'(B, C, F).
'syntax.findTermBindings.p3'([], _, []).
'~syntax.findTermBindings.p3'([], _, []).
'syntax.findTermBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.bindingInTermSubst.p3'(C,A,E),true),D=['metaDefs.!.f2'(A,E)|F],D=F)),
        'syntax.findTermBindings.p3'(B, C, F).
'~syntax.findTermBindings.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([C,A]), if(('syntax':'~syntax.bindingInTermSubst.p3'(C,A,E),true),D=['metaDefs.!.f2'(A,E)|F],D=F)),
        '~syntax.findTermBindings.p3'(B, C, F).
'syntax.groundAtom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.groundAtom.p1.0'(A)).
'~syntax.groundAtom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.groundAtom.p1.0'(A)).
'syntax.groundAtom.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.groundAtom.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.groundAtom.p1.0'('metaDefs.atom.f2'(_,A)) :-
        'syntax.groundTerm1.p1'(A).
'~syntax.groundAtom.p1.0'('metaDefs.atom.f2'(_,A)) :-
        '~syntax.groundTerm1.p1'(A).
'syntax.groundAtom.p1.0'('metaDefs.xPAtom.f1'(_)).
'~syntax.groundAtom.p1.0'('metaDefs.xPAtom.f1'(_)).
'syntax.groundAtom.p1.0'('metaDefs.xAtom.f2'(_,A)) :-
        'syntax.groundTerm1.p1'(A).
'~syntax.groundAtom.p1.0'('metaDefs.xAtom.f2'(_,A)) :-
        '~syntax.groundTerm1.p1'(A).
'syntax.functionTerm.p3'('metaDefs.term.f2'(A,B), A, B).
'~syntax.functionTerm.p3'('metaDefs.term.f2'(A,B), A, B).
'syntax.formulaVariables.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.formulaVariables.p2.0'(A,B)).
'~syntax.formulaVariables.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.formulaVariables.p2.0'(A,B)).
'syntax.formulaVariables.p2.0'(A, B) :-
        'sharedSyntax':'sharedSyntax.sFormulaFreeVars.p2'(A, B).
'~syntax.formulaVariables.p2.0'(A, B) :-
        'sharedSyntax':'~sharedSyntax.sFormulaFreeVars.p2'(A, B).
'syntax.goal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.goal.p1.0'(A)).
'~syntax.goal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.goal.p1.0'(A)).
'syntax.goal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',_)).
'~syntax.goal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',_)).
'syntax.getParameter.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), (user:not_equal([],[A,B],A,B),true->'syntax':'syntax.typeNotOccur.p2'(A,B),'substs':'substs.bindParameter.p4'(B,A,C,D);D=C)).
'~syntax.getParameter.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), (user:not_equal([],[A,B],A,B),true->'syntax':'~syntax.typeNotOccur.p2'(A,B),'substs':'~substs.bindParameter.p4'(B,A,C,D);D=C)).
'syntax.groundTerm.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.groundTerm.p1.0'(A)).
'~syntax.groundTerm.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.groundTerm.p1.0'(A)).
'syntax.groundTerm.p1.0'('metaDefs.cTerm.f1'(_)).
'~syntax.groundTerm.p1.0'('metaDefs.cTerm.f1'(_)).
'syntax.groundTerm.p1.0'('metaDefs.term.f2'(_,A)) :-
        'syntax.groundTerm1.p1'(A).
'~syntax.groundTerm.p1.0'('metaDefs.term.f2'(_,A)) :-
        '~syntax.groundTerm1.p1'(A).
'syntax.groundTerm.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'~syntax.groundTerm.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'syntax.groundTerm.p1.0'('metaDefs.int.f1'(_)).
'~syntax.groundTerm.p1.0'('metaDefs.int.f1'(_)).
'syntax.groundTerm.p1.0'('metaDefs.str.f1'(_)).
'~syntax.groundTerm.p1.0'('metaDefs.str.f1'(_)).
'syntax.groundTerm.p1.0'('metaDefs.prm.f1'(_)).
'~syntax.groundTerm.p1.0'('metaDefs.prm.f1'(_)).
'syntax.groundTerm.p1.0'('metaDefs.xTerm.f3'(_,A,_)) :-
        'syntax.groundTerm1.p1'(A).
'~syntax.groundTerm.p1.0'('metaDefs.xTerm.f3'(_,A,_)) :-
        '~syntax.groundTerm1.p1'(A).
'syntax.groundTerm1.p1'([]).
'~syntax.groundTerm1.p1'([]).
'syntax.groundTerm1.p1'([A|B]) :-
        'syntax.groundTerm.p1'(A),
        'syntax.groundTerm1.p1'(B).
'~syntax.groundTerm1.p1'([A|B]) :-
        '~syntax.groundTerm.p1'(A),
        '~syntax.groundTerm1.p1'(B).
'syntax.resultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.resultant.p1.0'(A)).
'~syntax.resultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.resultant.p1.0'(A)).
'syntax.resultant.p1.0'('metaDefs.<-''.f2'(_,_)).
'~syntax.resultant.p1.0'('metaDefs.<-''.f2'(_,_)).
'syntax.parameter.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.parameter.p1.0'(A)).
'~syntax.parameter.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.parameter.p1.0'(A)).
'syntax.parameter.p1.0'('metaDefs.par.f1'(_)).
'~syntax.parameter.p1.0'('metaDefs.par.f1'(_)).
'syntax.parameter.p1.0'('metaDefs.par.f2'(_,_)).
'~syntax.parameter.p1.0'('metaDefs.par.f2'(_,_)).
'syntax.normalBody.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.normalBody.p1.0'(A)).
'~syntax.normalBody.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.normalBody.p1.0'(A)).
'syntax.normalBody.p1.0'('metaDefs.empty.c0').
'~syntax.normalBody.p1.0'('metaDefs.empty.c0').
'syntax.normalBody.p1.0'('metaDefs.pAtom.f1'(_)).
'~syntax.normalBody.p1.0'('metaDefs.pAtom.f1'(_)).
'syntax.normalBody.p1.0'('metaDefs.atom.f2'(_,_)).
'~syntax.normalBody.p1.0'('metaDefs.atom.f2'(_,_)).
'syntax.normalBody.p1.0'('metaDefs.xPAtom.f1'(_)).
'~syntax.normalBody.p1.0'('metaDefs.xPAtom.f1'(_)).
'syntax.normalBody.p1.0'('metaDefs.xAtom.f2'(_,_)).
'~syntax.normalBody.p1.0'('metaDefs.xAtom.f2'(_,_)).
'syntax.normalBody.p1.0'('metaDefs.&''.f2'(A,B)) :-
        'syntax.normalBody.p1'(A),
        'syntax.normalBody.p1'(B).
'~syntax.normalBody.p1.0'('metaDefs.&''.f2'(A,B)) :-
        '~syntax.normalBody.p1'(A),
        '~syntax.normalBody.p1'(B).
'syntax.normalBody.p1.0'('metaDefs.~''.f1'(A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalBody.p1.0'('metaDefs.~''.f1'(A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.normalBody.p1.0'('metaDefs.iT.f2'(A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.normalBody.p1.0'('metaDefs.iT.f2'(A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.normalBody.p1.0'('metaDefs.iTE.f3'(A,B,_)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.normalBody.p1.0'('metaDefs.iTE.f3'(A,B,_)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.normalBody.p1.0'('metaDefs.iST.f3'(_,A,B)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.normalBody.p1.0'('metaDefs.iST.f3'(_,A,B)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.normalBody.p1.0'('metaDefs.iSTE.f4'(_,A,B,_)) :-
        'syntax.conditionalFreeFormula.p1'(A),
        'syntax.conditionalFreeFormula.p1'(B).
'~syntax.normalBody.p1.0'('metaDefs.iSTE.f4'(_,A,B,_)) :-
        '~syntax.conditionalFreeFormula.p1'(A),
        '~syntax.conditionalFreeFormula.p1'(B).
'syntax.normalBody.p1.0'('metaDefs.commit.f2'(_,A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalBody.p1.0'('metaDefs.commit.f2'(_,A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.isImpliedBy.p3'(A, B, 'metaDefs.<-''.f2'(A,B)).
'~syntax.isImpliedBy.p3'(A, B, 'metaDefs.<-''.f2'(A,B)).
'syntax.ifThen.p3'(A, B, 'metaDefs.iT.f2'(A,B)).
'~syntax.ifThen.p3'(A, B, 'metaDefs.iT.f2'(A,B)).
'syntax.ifSomeThen.p4'(A, B, C, 'metaDefs.iST.f3'(A,B,C)).
'~syntax.ifSomeThen.p4'(A, B, C, 'metaDefs.iST.f3'(A,B,C)).
'syntax.groundType1.p1'([]).
'~syntax.groundType1.p1'([]).
'syntax.groundType1.p1'([A|B]) :-
        'syntax.groundType.p1'(A),
        'syntax.groundType1.p1'(B).
'~syntax.groundType1.p1'([A|B]) :-
        '~syntax.groundType.p1'(A),
        '~syntax.groundType1.p1'(B).
'syntax.ifSomeThenElse.p5'(A, B, C, D, 'metaDefs.iSTE.f4'(A,B,C,D)).
'~syntax.ifSomeThenElse.p5'(A, B, C, D, 'metaDefs.iSTE.f4'(A,B,C,D)).
'syntax.implies.p3'(A, B, 'metaDefs.->''.f2'(A,B)).
'~syntax.implies.p3'(A, B, 'metaDefs.->''.f2'(A,B)).
'syntax.ifThenElse.p4'(A, B, C, 'metaDefs.iTE.f3'(A,B,C)).
'~syntax.ifThenElse.p4'(A, B, C, 'metaDefs.iTE.f3'(A,B,C)).
'syntax.intensionalSet.p3'(A, B, 'metaDefs.suchThat.f2'(A,B)).
'~syntax.intensionalSet.p3'(A, B, 'metaDefs.suchThat.f2'(A,B)).
'syntax.newCommit.p5'(A, B, C, D, E) :-
        user:goedel_freeze(ground([A,D]), ('lists':'~lists.memberCheck.p2'('syntax.labelPair.f2'(A,_),D),true->C=B,E=D;user:goedel_freeze(ground([B]),('integers':'~integers.>=.p2'(B,0),true->E=['syntax.labelPair.f2'(A,B)|D],'integers':plus(B,1,F),C=F;E=['syntax.labelPair.f2'(A,A)|D],C=B)))).
'~syntax.newCommit.p5'(A, B, C, D, E) :-
        user:goedel_freeze(ground([A,D]), ('lists':'~lists.memberCheck.p2'('syntax.labelPair.f2'(A,_),D),true->C=B,E=D;user:goedel_freeze(ground([B]),('integers':'~integers.>=.p2'(B,0),true->E=['syntax.labelPair.f2'(A,B)|D],'integers':plus(B,1,F),C=F;E=['syntax.labelPair.f2'(A,A)|D],C=B)))).
'syntax.maxParIndex.p3'([], A, A).
'~syntax.maxParIndex.p3'([], A, A).
'syntax.maxParIndex.p3'([A|B], C, D) :-
        'syntax.maxParIndex1.p3'(A, C, E),
        'syntax.maxParIndex.p3'(B, E, D).
'~syntax.maxParIndex.p3'([A|B], C, D) :-
        '~syntax.maxParIndex1.p3'(A, C, E),
        '~syntax.maxParIndex.p3'(B, E, D).
'syntax.literal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.literal.p1.0'(A)).
'~syntax.literal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.literal.p1.0'(A)).
'syntax.literal.p1.0'(A) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.atom.p1'(A),true->true;A='metaDefs.~''.f1'(B),'syntax':'syntax.atom.p1'(B))).
'~syntax.literal.p1.0'(A) :-
        user:goedel_freeze(ground([A]), ('syntax':'~syntax.atom.p1'(A),true->true;A='metaDefs.~''.f1'(B),'syntax':'~syntax.atom.p1'(B))).
'syntax.maxParIndex1.p3'('metaDefs.par.f1'(A), B, C) :-
        user:goedel_freeze(ground([B,A]), ('integers':'~integers.>.p2'(A,B),true->C=A;C=B)).
'~syntax.maxParIndex1.p3'('metaDefs.par.f1'(A), B, C) :-
        user:goedel_freeze(ground([B,A]), ('integers':'~integers.>.p2'(A,B),true->C=A;C=B)).
'syntax.maxParIndex1.p3'('metaDefs.par.f2'(_,A), B, C) :-
        user:goedel_freeze(ground([B,A]), ('integers':'~integers.>.p2'(A,B),true->C=A;C=B)).
'~syntax.maxParIndex1.p3'('metaDefs.par.f2'(_,A), B, C) :-
        user:goedel_freeze(ground([B,A]), ('integers':'~integers.>.p2'(A,B),true->C=A;C=B)).
'syntax.maxParIndex1.p3'('metaDefs.bType.f1'(_), A, A).
'~syntax.maxParIndex1.p3'('metaDefs.bType.f1'(_), A, A).
'syntax.maxParIndex1.p3'('metaDefs.xBType.f1'(_), A, A).
'~syntax.maxParIndex1.p3'('metaDefs.xBType.f1'(_), A, A).
'syntax.maxParIndex1.p3'('metaDefs.type.f2'(_,A), B, C) :-
        'syntax.maxParIndex.p3'(A, B, C).
'~syntax.maxParIndex1.p3'('metaDefs.type.f2'(_,A), B, C) :-
        '~syntax.maxParIndex.p3'(A, B, C).
'syntax.maxParIndex1.p3'('metaDefs.xType.f2'(_,A), B, C) :-
        'syntax.maxParIndex.p3'(A, B, C).
'~syntax.maxParIndex1.p3'('metaDefs.xType.f2'(_,A), B, C) :-
        '~syntax.maxParIndex.p3'(A, B, C).
'syntax.nonParameter.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.nonParameter.p1.0'(A)).
'~syntax.nonParameter.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.nonParameter.p1.0'(A)).
'syntax.nonParameter.p1.0'('metaDefs.bType.f1'(_)).
'~syntax.nonParameter.p1.0'('metaDefs.bType.f1'(_)).
'syntax.nonParameter.p1.0'('metaDefs.type.f2'(_,_)).
'~syntax.nonParameter.p1.0'('metaDefs.type.f2'(_,_)).
'syntax.nonParameter.p1.0'('metaDefs.xBType.f1'(_)).
'~syntax.nonParameter.p1.0'('metaDefs.xBType.f1'(_)).
'syntax.nonParameter.p1.0'('metaDefs.xType.f2'(_,_)).
'~syntax.nonParameter.p1.0'('metaDefs.xType.f2'(_,_)).
'syntax.nonVariable.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.nonVariable.p1.0'(A)).
'~syntax.nonVariable.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.nonVariable.p1.0'(A)).
'syntax.nonVariable.p1.0'('metaDefs.cTerm.f1'(_)).
'~syntax.nonVariable.p1.0'('metaDefs.cTerm.f1'(_)).
'syntax.nonVariable.p1.0'('metaDefs.term.f2'(_,_)).
'~syntax.nonVariable.p1.0'('metaDefs.term.f2'(_,_)).
'syntax.nonVariable.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'~syntax.nonVariable.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'syntax.nonVariable.p1.0'('metaDefs.xTerm.f3'(_,_,_)).
'~syntax.nonVariable.p1.0'('metaDefs.xTerm.f3'(_,_,_)).
'syntax.nonVariable.p1.0'('metaDefs.int.f1'(_)).
'~syntax.nonVariable.p1.0'('metaDefs.int.f1'(_)).
'syntax.nonVariable.p1.0'('metaDefs.str.f1'(_)).
'~syntax.nonVariable.p1.0'('metaDefs.str.f1'(_)).
'syntax.nonVariable.p1.0'('metaDefs.prm.f1'(_)).
'~syntax.nonVariable.p1.0'('metaDefs.prm.f1'(_)).
'syntax.normalStatement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.normalStatement.p1.0'(A)).
'~syntax.normalStatement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.normalStatement.p1.0'(A)).
'syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalStatement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.normalResultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.normalResultant.p1.0'(A)).
'~syntax.normalResultant.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.normalResultant.p1.0'(A)).
'syntax.normalResultant.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        'syntax.normalBody.p1'(A),
        'syntax.normalBody.p1'(B).
'~syntax.normalResultant.p1.0'('metaDefs.<-''.f2'(A,B)) :-
        '~syntax.normalBody.p1'(A),
        '~syntax.normalBody.p1'(B).
'syntax.normalGoal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.normalGoal.p1.0'(A)).
'~syntax.normalGoal.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.normalGoal.p1.0'(A)).
'syntax.normalGoal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',A)) :-
        'syntax.normalBody.p1'(A).
'~syntax.normalGoal.p1.0'('metaDefs.<-''.f2'('metaDefs.empty.c0',A)) :-
        '~syntax.normalBody.p1'(A).
'syntax.opaqueTerm.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.opaqueTerm.p1.0'(A)).
'~syntax.opaqueTerm.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.opaqueTerm.p1.0'(A)).
'syntax.opaqueTerm.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'~syntax.opaqueTerm.p1.0'('metaDefs.xCTerm.f2'(_,_)).
'syntax.opaqueTerm.p1.0'('metaDefs.str.f1'(_)).
'~syntax.opaqueTerm.p1.0'('metaDefs.str.f1'(_)).
'syntax.opaqueTerm.p1.0'('metaDefs.prm.f1'(_)).
'~syntax.opaqueTerm.p1.0'('metaDefs.prm.f1'(_)).
'syntax.opaqueTerm.p1.0'('metaDefs.xTerm.f3'(_,_,_)).
'~syntax.opaqueTerm.p1.0'('metaDefs.xTerm.f3'(_,_,_)).
'syntax.notMember.p2'([], _).
'~syntax.notMember.p2'([], _).
'syntax.notMember.p2'([A|B], C) :-
        user:not_equal([], [C,A], C, A),
        'syntax.notMember.p2'(B, C).
'~syntax.notMember.p2'([A|B], C) :-
        user:not_equal([], [C,A], C, A),
        '~syntax.notMember.p2'(B, C).
'syntax.not.p2'(A, 'metaDefs.~''.f1'(A)).
'~syntax.not.p2'(A, 'metaDefs.~''.f1'(A)).
'syntax.opaqueAtom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.opaqueAtom.p1.0'(A)).
'~syntax.opaqueAtom.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.opaqueAtom.p1.0'(A)).
'syntax.opaqueAtom.p1.0'('metaDefs.xPAtom.f1'(_)).
'~syntax.opaqueAtom.p1.0'('metaDefs.xPAtom.f1'(_)).
'syntax.opaqueAtom.p1.0'('metaDefs.xAtom.f2'(_,_)).
'~syntax.opaqueAtom.p1.0'('metaDefs.xAtom.f2'(_,_)).
'syntax.opaqueType.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.opaqueType.p1.0'(A)).
'~syntax.opaqueType.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.opaqueType.p1.0'(A)).
'syntax.opaqueType.p1.0'('metaDefs.xBType.f1'(_)).
'~syntax.opaqueType.p1.0'('metaDefs.xBType.f1'(_)).
'syntax.opaqueType.p1.0'('metaDefs.xType.f2'(_,_)).
'~syntax.opaqueType.p1.0'('metaDefs.xType.f2'(_,_)).
'syntax.or.p3'(A, B, 'metaDefs.\\/''.f2'(A,B)).  % added \ djd
'~syntax.or.p3'(A, B, 'metaDefs.\\/''.f2'(A,B)).  % added \ djd
'syntax.renameTypes.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.renameTypes.p3.0'(A,B,C)).
'~syntax.renameTypes.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.renameTypes.p3.0'(A,B,C)).
'syntax.renameTypes.p3.0'(A, B, C) :-
        'syntax.typeMaxParIndex.p2'(A, D),
        'syntax.renameAllType2.p4'(B, D, [], C).
'~syntax.renameTypes.p3.0'(A, B, C) :-
        '~syntax.typeMaxParIndex.p2'(A, D),
        '~syntax.renameAllType2.p4'(B, D, [], C).
'syntax.renameAllTerm2.p4'([], _, _, []).
'~syntax.renameAllTerm2.p4'([], _, _, []).
'syntax.renameAllTerm2.p4'([A|B], C, D, [E|F]) :-
        'syntax.renameAllTerm3.p6'(A, C, G, D, H, E),
        'syntax.renameAllTerm2.p4'(B, G, H, F).
'~syntax.renameAllTerm2.p4'([A|B], C, D, [E|F]) :-
        '~syntax.renameAllTerm3.p6'(A, C, G, D, H, E),
        '~syntax.renameAllTerm2.p4'(B, G, H, F).
'syntax.predicateAtom.p3'('metaDefs.atom.f2'(A,B), A, B).
'~syntax.predicateAtom.p3'('metaDefs.atom.f2'(A,B), A, B).
'syntax.paramsInType.p3'('metaDefs.par.f2'(A,B), C, D) :-
        user:goedel_freeze(ground([B,A,C]), ('lists':'~lists.memberCheck.p2'('metaDefs.par.f2'(A,B),C),true->D=C;D=['metaDefs.par.f2'(A,B)|C])).
'~syntax.paramsInType.p3'('metaDefs.par.f2'(A,B), C, D) :-
        user:goedel_freeze(ground([B,A,C]), ('lists':'~lists.memberCheck.p2'('metaDefs.par.f2'(A,B),C),true->D=C;D=['metaDefs.par.f2'(A,B)|C])).
'syntax.paramsInType.p3'('metaDefs.par.f1'(A), B, C) :-
        user:goedel_freeze(ground([A,B]), ('lists':'~lists.memberCheck.p2'('metaDefs.par.f1'(A),B),true->C=B;C=['metaDefs.par.f1'(A)|B])).
'~syntax.paramsInType.p3'('metaDefs.par.f1'(A), B, C) :-
        user:goedel_freeze(ground([A,B]), ('lists':'~lists.memberCheck.p2'('metaDefs.par.f1'(A),B),true->C=B;C=['metaDefs.par.f1'(A)|B])).
'syntax.paramsInType.p3'('metaDefs.bType.f1'(_), A, A).
'~syntax.paramsInType.p3'('metaDefs.bType.f1'(_), A, A).
'syntax.paramsInType.p3'('metaDefs.type.f2'(_,A), B, C) :-
        'syntax.paramsInType1.p3'(A, B, C).
'~syntax.paramsInType.p3'('metaDefs.type.f2'(_,A), B, C) :-
        '~syntax.paramsInType1.p3'(A, B, C).
'syntax.paramsInType.p3'('metaDefs.xBType.f1'(_), A, A).
'~syntax.paramsInType.p3'('metaDefs.xBType.f1'(_), A, A).
'syntax.paramsInType.p3'('metaDefs.xType.f2'(_,A), B, C) :-
        'syntax.paramsInType1.p3'(A, B, C).
'~syntax.paramsInType.p3'('metaDefs.xType.f2'(_,A), B, C) :-
        '~syntax.paramsInType1.p3'(A, B, C).
'syntax.parameterName.p3'('metaDefs.par.f2'(A,B), A, B) :-
        user:not_equal([], [A], A, '"p').
'~syntax.parameterName.p3'('metaDefs.par.f2'(A,B), A, B) :-
        user:not_equal([], [A], A, '"p').
'syntax.parameterName.p3'('metaDefs.par.f1'(A), '"p', A).
'~syntax.parameterName.p3'('metaDefs.par.f1'(A), '"p', A).
'syntax.paramsInType1.p3'([], A, A).
'~syntax.paramsInType1.p3'([], A, A).
'syntax.paramsInType1.p3'([A|B], C, D) :-
        'syntax.paramsInType.p3'(A, C, E),
        'syntax.paramsInType1.p3'(B, E, D).
'~syntax.paramsInType1.p3'([A|B], C, D) :-
        '~syntax.paramsInType.p3'(A, C, E),
        '~syntax.paramsInType1.p3'(B, E, D).
'syntax.renameAllFormula2.p4'([], _, _, []).
'~syntax.renameAllFormula2.p4'([], _, _, []).
'syntax.renameAllFormula2.p4'([A|B], C, D, [E|F]) :-
        'syntax.renameAllFormula3.p6'(A, C, G, D, H, E),
        'syntax.renameAllFormula2.p4'(B, G, H, F).
'~syntax.renameAllFormula2.p4'([A|B], C, D, [E|F]) :-
        '~syntax.renameAllFormula3.p6'(A, C, G, D, H, E),
        '~syntax.renameAllFormula2.p4'(B, G, H, F).
'syntax.propositionAtom.p2'('metaDefs.pAtom.f1'(A), A).
'~syntax.propositionAtom.p2'('metaDefs.pAtom.f1'(A), A).
'syntax.renameAllFormula3.p6'('metaDefs.empty.c0', A, A, B, B, 'metaDefs.empty.c0').
'~syntax.renameAllFormula3.p6'('metaDefs.empty.c0', A, A, B, B, 'metaDefs.empty.c0').
'syntax.renameAllFormula3.p6'('metaDefs.pAtom.f1'(A), B, B, C, C, 'metaDefs.pAtom.f1'(A)).
'~syntax.renameAllFormula3.p6'('metaDefs.pAtom.f1'(A), B, B, C, C, 'metaDefs.pAtom.f1'(A)).
'syntax.renameAllFormula3.p6'('metaDefs.atom.f2'(A,B), C, D, E, F, 'metaDefs.atom.f2'(A,G)) :-
        'syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'~syntax.renameAllFormula3.p6'('metaDefs.atom.f2'(A,B), C, D, E, F, 'metaDefs.atom.f2'(A,G)) :-
        '~syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'syntax.renameAllFormula3.p6'('metaDefs.xPAtom.f1'(A), B, B, C, C, 'metaDefs.xPAtom.f1'(A)).
'~syntax.renameAllFormula3.p6'('metaDefs.xPAtom.f1'(A), B, B, C, C, 'metaDefs.xPAtom.f1'(A)).
'syntax.renameAllFormula3.p6'('metaDefs.xAtom.f2'(A,B), C, D, E, F, 'metaDefs.xAtom.f2'(A,G)) :-
        'syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'~syntax.renameAllFormula3.p6'('metaDefs.xAtom.f2'(A,B), C, D, E, F, 'metaDefs.xAtom.f2'(A,G)) :-
        '~syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'syntax.renameAllFormula3.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, 'metaDefs.&''.f2'(G,H)) :-
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, 'metaDefs.&''.f2'(G,H)) :-
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, 'metaDefs.\\/''.f2'(G,H)) :-  % added 2 \ djd
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, 'metaDefs.\\/''.f2'(G,H)) :-   % added 2 \ djd
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.~''.f1'(A), B, C, D, E, 'metaDefs.~''.f1'(F)) :-
        'syntax.renameAllFormula3.p6'(A, B, C, D, E, F).
'~syntax.renameAllFormula3.p6'('metaDefs.~''.f1'(A), B, C, D, E, 'metaDefs.~''.f1'(F)) :-
        '~syntax.renameAllFormula3.p6'(A, B, C, D, E, F).
'syntax.renameAllFormula3.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, 'metaDefs.<-''.f2'(G,H)) :-
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, 'metaDefs.<-''.f2'(G,H)) :-
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, 'metaDefs.->''.f2'(G,H)) :-
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, 'metaDefs.->''.f2'(G,H)) :-
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, 'metaDefs.<->''.f2'(G,H)) :-
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, 'metaDefs.<->''.f2'(G,H)) :-
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.all.f2'(A,B), C, D, E, F, 'metaDefs.all.f2'(G,H)) :-
        'syntax.renameAllTerm4.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.all.f2'(A,B), C, D, E, F, 'metaDefs.all.f2'(G,H)) :-
        '~syntax.renameAllTerm4.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.some.f2'(A,B), C, D, E, F, 'metaDefs.some.f2'(G,H)) :-
        'syntax.renameAllTerm4.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.some.f2'(A,B), C, D, E, F, 'metaDefs.some.f2'(G,H)) :-
        '~syntax.renameAllTerm4.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.iT.f2'(A,B), C, D, E, F, 'metaDefs.iT.f2'(G,H)) :-
        'syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllFormula3.p6'('metaDefs.iT.f2'(A,B), C, D, E, F, 'metaDefs.iT.f2'(G,H)) :-
        '~syntax.renameAllFormula3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllFormula3.p6'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, 'metaDefs.iTE.f3'(H,I,J)) :-
        'syntax.renameAllFormula3.p6'(A, D, K, F, L, H),
        'syntax.renameAllFormula3.p6'(B, K, M, L, N, I),
        'syntax.renameAllFormula3.p6'(C, M, E, N, G, J).
'~syntax.renameAllFormula3.p6'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, 'metaDefs.iTE.f3'(H,I,J)) :-
        '~syntax.renameAllFormula3.p6'(A, D, K, F, L, H),
        '~syntax.renameAllFormula3.p6'(B, K, M, L, N, I),
        '~syntax.renameAllFormula3.p6'(C, M, E, N, G, J).
'syntax.renameAllFormula3.p6'('metaDefs.iST.f3'(A,B,C), D, E, F, G, 'metaDefs.iST.f3'(H,I,J)) :-
        'syntax.renameAllTerm4.p6'(A, D, K, F, L, H),
        'syntax.renameAllFormula3.p6'(B, K, M, L, N, I),
        'syntax.renameAllFormula3.p6'(C, M, E, N, G, J).
'~syntax.renameAllFormula3.p6'('metaDefs.iST.f3'(A,B,C), D, E, F, G, 'metaDefs.iST.f3'(H,I,J)) :-
        '~syntax.renameAllTerm4.p6'(A, D, K, F, L, H),
        '~syntax.renameAllFormula3.p6'(B, K, M, L, N, I),
        '~syntax.renameAllFormula3.p6'(C, M, E, N, G, J).
'syntax.renameAllFormula3.p6'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, 'metaDefs.iSTE.f4'(I,J,K,L)) :-
        'syntax.renameAllTerm4.p6'(A, E, M, G, N, I),
        'syntax.renameAllFormula3.p6'(B, M, O, N, P, J),
        'syntax.renameAllFormula3.p6'(C, O, Q, P, R, K),
        'syntax.renameAllFormula3.p6'(D, Q, F, R, H, L).
'~syntax.renameAllFormula3.p6'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, 'metaDefs.iSTE.f4'(I,J,K,L)) :-
        '~syntax.renameAllTerm4.p6'(A, E, M, G, N, I),
        '~syntax.renameAllFormula3.p6'(B, M, O, N, P, J),
        '~syntax.renameAllFormula3.p6'(C, O, Q, P, R, K),
        '~syntax.renameAllFormula3.p6'(D, Q, F, R, H, L).
'syntax.renameAllFormula3.p6'('metaDefs.commit.f2'(A,B), C, D, E, F, 'metaDefs.commit.f2'(A,G)) :-
        'syntax.renameAllFormula3.p6'(B, C, D, E, F, G).
'~syntax.renameAllFormula3.p6'('metaDefs.commit.f2'(A,B), C, D, E, F, 'metaDefs.commit.f2'(A,G)) :-
        '~syntax.renameAllFormula3.p6'(B, C, D, E, F, G).
'syntax.renameAllType3.p6'('metaDefs.par.f2'(A,B), C, D, E, F, 'metaDefs.par.f1'(G)) :-
        user:goedel_freeze(ground([B,A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.par.f2'(A,B),'metaDefs.par.f1'(H)),E),true),(G=H,F=E,D=C),(G=C,F=['metaDefs.!.f2'('metaDefs.par.f2'(A,B),'metaDefs.par.f1'(C))|E],'integers':plus(C,1,I),D=I))).
'~syntax.renameAllType3.p6'('metaDefs.par.f2'(A,B), C, D, E, F, 'metaDefs.par.f1'(G)) :-
        user:goedel_freeze(ground([B,A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.par.f2'(A,B),'metaDefs.par.f1'(H)),E),true),(G=H,F=E,D=C),(G=C,F=['metaDefs.!.f2'('metaDefs.par.f2'(A,B),'metaDefs.par.f1'(C))|E],'integers':plus(C,1,I),D=I))).
'syntax.renameAllType3.p6'('metaDefs.par.f1'(A), B, C, D, E, 'metaDefs.par.f1'(F)) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.par.f1'(A),'metaDefs.par.f1'(G)),D),true),(F=G,E=D,C=B),(F=B,E=['metaDefs.!.f2'('metaDefs.par.f1'(A),'metaDefs.par.f1'(B))|D],'integers':plus(B,1,H),C=H))).
'~syntax.renameAllType3.p6'('metaDefs.par.f1'(A), B, C, D, E, 'metaDefs.par.f1'(F)) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.par.f1'(A),'metaDefs.par.f1'(G)),D),true),(F=G,E=D,C=B),(F=B,E=['metaDefs.!.f2'('metaDefs.par.f1'(A),'metaDefs.par.f1'(B))|D],'integers':plus(B,1,H),C=H))).
'syntax.renameAllType3.p6'('metaDefs.bType.f1'(A), B, B, C, C, 'metaDefs.bType.f1'(A)).
'~syntax.renameAllType3.p6'('metaDefs.bType.f1'(A), B, B, C, C, 'metaDefs.bType.f1'(A)).
'syntax.renameAllType3.p6'('metaDefs.type.f2'(A,B), C, D, E, F, 'metaDefs.type.f2'(A,G)) :-
        'syntax.renameAllType4.p6'(B, C, D, E, F, G).
'~syntax.renameAllType3.p6'('metaDefs.type.f2'(A,B), C, D, E, F, 'metaDefs.type.f2'(A,G)) :-
        '~syntax.renameAllType4.p6'(B, C, D, E, F, G).
'syntax.renameAllType3.p6'('metaDefs.xBType.f1'(A), B, B, C, C, 'metaDefs.xBType.f1'(A)).
'~syntax.renameAllType3.p6'('metaDefs.xBType.f1'(A), B, B, C, C, 'metaDefs.xBType.f1'(A)).
'syntax.renameAllType3.p6'('metaDefs.xType.f2'(A,B), C, D, E, F, 'metaDefs.xType.f2'(A,G)) :-
        'syntax.renameAllType4.p6'(B, C, D, E, F, G).
'~syntax.renameAllType3.p6'('metaDefs.xType.f2'(A,B), C, D, E, F, 'metaDefs.xType.f2'(A,G)) :-
        '~syntax.renameAllType4.p6'(B, C, D, E, F, G).
'syntax.renameAllTerm4.p6'([], A, A, B, B, []).
'~syntax.renameAllTerm4.p6'([], A, A, B, B, []).
'syntax.renameAllTerm4.p6'([A|B], C, D, E, F, [G|H]) :-
        'syntax.renameAllTerm3.p6'(A, C, I, E, J, G),
        'syntax.renameAllTerm4.p6'(B, I, D, J, F, H).
'~syntax.renameAllTerm4.p6'([A|B], C, D, E, F, [G|H]) :-
        '~syntax.renameAllTerm3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllTerm4.p6'(B, I, D, J, F, H).
'syntax.renameAllTerm3.p6'('metaDefs.var.f2'(A,B), C, D, E, F, 'metaDefs.var.f1'(G)) :-
        user:goedel_freeze(ground([B,A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),'metaDefs.var.f1'(H)),E),true),(G=H,F=E,D=C),(G=C,F=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),'metaDefs.var.f1'(C))|E],'integers':plus(C,1,I),D=I))).
'~syntax.renameAllTerm3.p6'('metaDefs.var.f2'(A,B), C, D, E, F, 'metaDefs.var.f1'(G)) :-
        user:goedel_freeze(ground([B,A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),'metaDefs.var.f1'(H)),E),true),(G=H,F=E,D=C),(G=C,F=['metaDefs.!.f2'('metaDefs.var.f2'(A,B),'metaDefs.var.f1'(C))|E],'integers':plus(C,1,I),D=I))).
'syntax.renameAllTerm3.p6'('metaDefs.var.f1'(A), B, C, D, E, 'metaDefs.var.f1'(F)) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),'metaDefs.var.f1'(G)),D),true),(F=G,E=D,C=B),(F=B,E=['metaDefs.!.f2'('metaDefs.var.f1'(A),'metaDefs.var.f1'(B))|D],'integers':plus(B,1,H),C=H))).
'~syntax.renameAllTerm3.p6'('metaDefs.var.f1'(A), B, C, D, E, 'metaDefs.var.f1'(F)) :-
        user:goedel_freeze(ground([A,D]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),'metaDefs.var.f1'(G)),D),true),(F=G,E=D,C=B),(F=B,E=['metaDefs.!.f2'('metaDefs.var.f1'(A),'metaDefs.var.f1'(B))|D],'integers':plus(B,1,H),C=H))).
'syntax.renameAllTerm3.p6'('metaDefs.cTerm.f1'(A), B, B, C, C, 'metaDefs.cTerm.f1'(A)).
'~syntax.renameAllTerm3.p6'('metaDefs.cTerm.f1'(A), B, B, C, C, 'metaDefs.cTerm.f1'(A)).
'syntax.renameAllTerm3.p6'('metaDefs.term.f2'(A,B), C, D, E, F, 'metaDefs.term.f2'(A,G)) :-
        'syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'~syntax.renameAllTerm3.p6'('metaDefs.term.f2'(A,B), C, D, E, F, 'metaDefs.term.f2'(A,G)) :-
        '~syntax.renameAllTerm4.p6'(B, C, D, E, F, G).
'syntax.renameAllTerm3.p6'('metaDefs.xCTerm.f2'(A,B), C, C, D, D, 'metaDefs.xCTerm.f2'(A,B)).
'~syntax.renameAllTerm3.p6'('metaDefs.xCTerm.f2'(A,B), C, C, D, D, 'metaDefs.xCTerm.f2'(A,B)).
'syntax.renameAllTerm3.p6'('metaDefs.int.f1'(A), B, B, C, C, 'metaDefs.int.f1'(A)).
'~syntax.renameAllTerm3.p6'('metaDefs.int.f1'(A), B, B, C, C, 'metaDefs.int.f1'(A)).
'syntax.renameAllTerm3.p6'('metaDefs.str.f1'(A), B, B, C, C, 'metaDefs.str.f1'(A)).
'~syntax.renameAllTerm3.p6'('metaDefs.str.f1'(A), B, B, C, C, 'metaDefs.str.f1'(A)).
'syntax.renameAllTerm3.p6'('metaDefs.prm.f1'(A), B, B, C, C, 'metaDefs.prm.f1'(A)).
'~syntax.renameAllTerm3.p6'('metaDefs.prm.f1'(A), B, B, C, C, 'metaDefs.prm.f1'(A)).
'syntax.renameAllTerm3.p6'('metaDefs.suchThat.f2'(A,B), C, D, E, F, 'metaDefs.suchThat.f2'(G,H)) :-
        'syntax.renameAllTerm3.p6'(A, C, I, E, J, G),
        'syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'~syntax.renameAllTerm3.p6'('metaDefs.suchThat.f2'(A,B), C, D, E, F, 'metaDefs.suchThat.f2'(G,H)) :-
        '~syntax.renameAllTerm3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllFormula3.p6'(B, I, D, J, F, H).
'syntax.renameAllTerm3.p6'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, 'metaDefs.xTerm.f3'(A,H,C)) :-
        'syntax.renameAllTerm4.p6'(B, D, E, F, G, H).
'~syntax.renameAllTerm3.p6'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, 'metaDefs.xTerm.f3'(A,H,C)) :-
        '~syntax.renameAllTerm4.p6'(B, D, E, F, G, H).
'syntax.renameAllType2.p4'([], _, _, []).
'~syntax.renameAllType2.p4'([], _, _, []).
'syntax.renameAllType2.p4'([A|B], C, D, [E|F]) :-
        'syntax.renameAllType3.p6'(A, C, G, D, H, E),
        'syntax.renameAllType2.p4'(B, G, H, F).
'~syntax.renameAllType2.p4'([A|B], C, D, [E|F]) :-
        '~syntax.renameAllType3.p6'(A, C, G, D, H, E),
        '~syntax.renameAllType2.p4'(B, G, H, F).
'syntax.renameFormulas.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.renameFormulas.p3.0'(A,B,C)).
'~syntax.renameFormulas.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.renameFormulas.p3.0'(A,B,C)).
'syntax.renameFormulas.p3.0'(A, B, C) :-
        'syntax.formulaMaxVarIndex.p2'(A, D),
        'syntax.renameAllFormula2.p4'(B, D, [], C).
'~syntax.renameFormulas.p3.0'(A, B, C) :-
        '~syntax.formulaMaxVarIndex.p2'(A, D),
        '~syntax.renameAllFormula2.p4'(B, D, [], C).
'syntax.renameAllType4.p6'([], A, A, B, B, []).
'~syntax.renameAllType4.p6'([], A, A, B, B, []).
'syntax.renameAllType4.p6'([A|B], C, D, E, F, [G|H]) :-
        'syntax.renameAllType3.p6'(A, C, I, E, J, G),
        'syntax.renameAllType4.p6'(B, I, D, J, F, H).
'~syntax.renameAllType4.p6'([A|B], C, D, E, F, [G|H]) :-
        '~syntax.renameAllType3.p6'(A, C, I, E, J, G),
        '~syntax.renameAllType4.p6'(B, I, D, J, F, H).
'syntax.renameTerms.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.renameTerms.p3.0'(A,B,C)).
'~syntax.renameTerms.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.renameTerms.p3.0'(A,B,C)).
'syntax.renameTerms.p3.0'(A, B, C) :-
        'syntax.termMaxVarIndex.p2'(A, D),
        'syntax.renameAllTerm2.p4'(B, D, [], C).
'~syntax.renameTerms.p3.0'(A, B, C) :-
        '~syntax.termMaxVarIndex.p2'(A, D),
        '~syntax.renameAllTerm2.p4'(B, D, [], C).
'syntax.restrictSubstToFormula.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.restrictSubstToFormula.p3.0'(A,B,C)).
'~syntax.restrictSubstToFormula.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.restrictSubstToFormula.p3.0'(A,B,C)).
'syntax.restrictSubstToFormula.p3.0'(A, B, C) :-
        'syntax.formulaVariables.p2'(A, D),
        'syntax.findTermBindings.p3'(D, B, E),
        'syntax.emptyTermSubst.p1'(F),
        'syntax.appendTermBindings.p3'(E, F, C).
'~syntax.restrictSubstToFormula.p3.0'(A, B, C) :-
        '~syntax.formulaVariables.p2'(A, D),
        '~syntax.findTermBindings.p3'(D, B, E),
        '~syntax.emptyTermSubst.p1'(F),
        '~syntax.appendTermBindings.p3'(E, F, C).
'syntax.resolveAll.p9'(A, B, C, D, E, F, G, H, I) :-
        user:goedel_freeze(ground([A,B,C,E,G]), 'syntax':'syntax.resolveAll.p9.0'(A,B,C,D,E,F,G,H,I)).
'~syntax.resolveAll.p9'(A, B, C, D, E, F, G, H, I) :-
        user:goedel_freeze(ground([A,B,C,E,G]), 'syntax':'~syntax.resolveAll.p9.0'(A,B,C,D,E,F,G,H,I)).
'syntax.resolveAll.p9.0'(A, B, C, D, E, F, G, H, I) :-
        'integers':'integers.>=.p2'(C, 0),
        'integers':'integers.>=.p2'(E, 0),
        'syntax.resolveAll1.p10'(B, A, C, D, E, F, [], G, H, I).
'~syntax.resolveAll.p9.0'(A, B, C, D, E, F, G, H, I) :-
        'integers':'~integers.>=.p2'(C, 0),
        'integers':'~integers.>=.p2'(E, 0),
        '~syntax.resolveAll1.p10'(B, A, C, D, E, F, [], G, H, I).
'syntax.resolve.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A,B,C,E]), 'syntax':'syntax.resolve.p7.0'(A,B,C,D,E,F,G)).
'~syntax.resolve.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A,B,C,E]), 'syntax':'~syntax.resolve.p7.0'(A,B,C,D,E,F,G)).
'syntax.resolve.p7.0'(A, 'metaDefs.<-''.f2'(B,C), D, E, F, G, H) :-
        'integers':negative(1, I),
        'syntax.standardiseCommits.p5'(C, I, _, [], J),
        'syntax.resolve1.p9'(A, B, C, D, E, J, F, G, H).
'~syntax.resolve.p7.0'(A, 'metaDefs.<-''.f2'(B,C), D, E, F, G, H) :-
        'integers':negative(1, I),
        '~syntax.standardiseCommits.p5'(C, I, _, [], J),
        '~syntax.resolve1.p9'(A, B, C, D, E, J, F, G, H).
'syntax.resolve1.p9'('metaDefs.atom.f2'(A,B), 'metaDefs.atom.f2'(A,C), D, E, F, G, H, I, J) :-
        'syntax.unifyArgs.p11'(B, C, E, F, [], [], H, I, G, D, J).
'~syntax.resolve1.p9'('metaDefs.atom.f2'(A,B), 'metaDefs.atom.f2'(A,C), D, E, F, G, H, I, J) :-
        '~syntax.unifyArgs.p11'(B, C, E, F, [], [], H, I, G, D, J).
'syntax.resolve1.p9'('metaDefs.xAtom.f2'(A,B), 'metaDefs.xAtom.f2'(A,C), D, E, F, G, H, I, J) :-
        'syntax.unifyArgs.p11'(B, C, E, F, [], [], H, I, G, D, J).
'~syntax.resolve1.p9'('metaDefs.xAtom.f2'(A,B), 'metaDefs.xAtom.f2'(A,C), D, E, F, G, H, I, J) :-
        '~syntax.unifyArgs.p11'(B, C, E, F, [], [], H, I, G, D, J).
'syntax.resolve1.p9'('metaDefs.pAtom.f1'(A), 'metaDefs.pAtom.f1'(A), B, C, D, E, F, F, G) :-
        'syntax.applySubstToFormula.p9'(B, C, D, [], [], [], _, E, G).
'~syntax.resolve1.p9'('metaDefs.pAtom.f1'(A), 'metaDefs.pAtom.f1'(A), B, C, D, E, F, F, G) :-
        '~syntax.applySubstToFormula.p9'(B, C, D, [], [], [], _, E, G).
'syntax.resolve1.p9'('metaDefs.xPAtom.f1'(A), 'metaDefs.xPAtom.f1'(A), B, C, D, E, F, F, G) :-
        'syntax.applySubstToFormula.p9'(B, C, D, [], [], [], _, E, G).
'~syntax.resolve1.p9'('metaDefs.xPAtom.f1'(A), 'metaDefs.xPAtom.f1'(A), B, C, D, E, F, F, G) :-
        '~syntax.applySubstToFormula.p9'(B, C, D, [], [], [], _, E, G).
'syntax.resolveAll1.p10'([], _, A, A, B, B, _, _, [], []).
'~syntax.resolveAll1.p10'([], _, A, A, B, B, _, _, [], []).
'syntax.resolveAll1.p10'(['metaDefs.<-''.f2'(B,C)|A], D, E, F, G, H, I, J, K, L) :-
        'integers':maximum(M, N, F),
        'syntax.standardiseCommits.p5'(C, G, O, I, P),
        user:goedel_freeze(ground([E,D,C,B,P,J]), if(('syntax':'~syntax.resolve1.p9'(D,B,C,E,Q,P,J,R,S),true),(L=[S|T],K=[R|U],M=Q),(L=T,K=U,M=E))),
        'syntax.resolveAll1.p10'(A, D, E, N, O, H, P, J, U, T).
'~syntax.resolveAll1.p10'(['metaDefs.<-''.f2'(B,C)|A], D, E, F, G, H, I, J, K, L) :-
        'integers':maximum(M, N, F),
        '~syntax.standardiseCommits.p5'(C, G, O, I, P),
        user:goedel_freeze(ground([E,D,C,B,P,J]), if(('syntax':'~syntax.resolve1.p9'(D,B,C,E,Q,P,J,R,S),true),(L=[S|T],K=[R|U],M=Q),(L=T,K=U,M=E))),
        '~syntax.resolveAll1.p10'(A, D, E, N, O, H, P, J, U, T).
'syntax.restrictSubstToTerm.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.restrictSubstToTerm.p3.0'(A,B,C)).
'~syntax.restrictSubstToTerm.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.restrictSubstToTerm.p3.0'(A,B,C)).
'syntax.restrictSubstToTerm.p3.0'(A, B, C) :-
        'syntax.termVariables.p2'(A, D),
        'syntax.findTermBindings.p3'(D, B, E),
        'syntax.emptyTermSubst.p1'(F),
        'syntax.appendTermBindings.p3'(E, F, C).
'~syntax.restrictSubstToTerm.p3.0'(A, B, C) :-
        '~syntax.termVariables.p2'(A, D),
        '~syntax.findTermBindings.p3'(D, B, E),
        '~syntax.emptyTermSubst.p1'(F),
        '~syntax.appendTermBindings.p3'(E, F, C).
'syntax.restrictSubstToType.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.restrictSubstToType.p3.0'(A,B,C)).
'~syntax.restrictSubstToType.p3'(A, B, C) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.restrictSubstToType.p3.0'(A,B,C)).
'syntax.restrictSubstToType.p3.0'(A, B, C) :-
        'syntax.typeParameters.p2'(A, D),
        'syntax.findTypeBindings.p3'(D, B, E),
        'syntax.emptyTypeSubst.p1'(F),
        'syntax.appendTypeBindings.p3'(E, F, C).
'~syntax.restrictSubstToType.p3.0'(A, B, C) :-
        '~syntax.typeParameters.p2'(A, D),
        '~syntax.findTypeBindings.p3'(D, B, E),
        '~syntax.emptyTypeSubst.p1'(F),
        '~syntax.appendTypeBindings.p3'(E, F, C).
'syntax.typeParameters.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.typeParameters.p2.0'(A,B)).
'~syntax.typeParameters.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.typeParameters.p2.0'(A,B)).
'syntax.typeParameters.p2.0'(A, B) :-
        'syntax.paramsInType.p3'(A, [], B).
'~syntax.typeParameters.p2.0'(A, B) :-
        '~syntax.paramsInType.p3'(A, [], B).
'syntax.typeMaxParIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.typeMaxParIndex.p2.0'(A,B)).
'~syntax.typeMaxParIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.typeMaxParIndex.p2.0'(A,B)).
'syntax.typeMaxParIndex.p2.0'(A, B) :-
        'integers':negative(1, C),
        'syntax.maxParIndex.p3'(A, C, B).
'~syntax.typeMaxParIndex.p2.0'(A, B) :-
        'integers':negative(1, C),
        '~syntax.maxParIndex.p3'(A, C, B).
'syntax.standardiseFormula.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.standardiseFormula.p4.0'(A,B,C,D)).
'~syntax.standardiseFormula.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.standardiseFormula.p4.0'(A,B,C,D)).
'syntax.standardiseFormula.p4.0'(A, B, C, D) :-
        'syntax.renameAllFormula3.p6'(A, B, C, [], _, D).
'~syntax.standardiseFormula.p4.0'(A, B, C, D) :-
        '~syntax.renameAllFormula3.p6'(A, B, C, [], _, D).
'syntax.standardiseApartQuants.p6'([], [], A, A, B, B).
'~syntax.standardiseApartQuants.p6'([], [], A, A, B, B).
'syntax.standardiseApartQuants.p6'([A|B], ['metaDefs.var.f1'(D)|C], E, F, D, G) :-
        'integers':plus(D, 1, H),
        'syntax.standardiseApartQuants.p6'(B, C, ['metaDefs.!.f2'(A,'metaDefs.var.f1'(D))|E], F, H, G).
'~syntax.standardiseApartQuants.p6'([A|B], ['metaDefs.var.f1'(D)|C], E, F, D, G) :-
        'integers':plus(D, 1, H),
        '~syntax.standardiseApartQuants.p6'(B, C, ['metaDefs.!.f2'(A,'metaDefs.var.f1'(D))|E], F, H, G).
'syntax.some.p3'(A, B, 'metaDefs.some.f2'(A,B)).
'~syntax.some.p3'(A, B, 'metaDefs.some.f2'(A,B)).
'syntax.standardiseCommits.p5'('metaDefs.&''.f2'(A,B), C, D, E, F) :-
        'syntax.standardiseCommits.p5'(A, C, G, E, H),
        'syntax.standardiseCommits.p5'(B, G, D, H, F).
'~syntax.standardiseCommits.p5'('metaDefs.&''.f2'(A,B), C, D, E, F) :-
        '~syntax.standardiseCommits.p5'(A, C, G, E, H),
        '~syntax.standardiseCommits.p5'(B, G, D, H, F).
'syntax.standardiseCommits.p5'('metaDefs.commit.f2'(A,B), C, D, E, F) :-
        'syntax.newCommit.p5'(A, C, G, E, H),
        'syntax.standardiseCommits.p5'(B, G, D, H, F).
'~syntax.standardiseCommits.p5'('metaDefs.commit.f2'(A,B), C, D, E, F) :-
        '~syntax.newCommit.p5'(A, C, G, E, H),
        '~syntax.standardiseCommits.p5'(B, G, D, H, F).
'syntax.standardiseCommits.p5'('metaDefs.empty.c0', A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.empty.c0', A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.\\/''.f2'(_,_), A, A, B, B). % added \ djd
'~syntax.standardiseCommits.p5'('metaDefs.\\/''.f2'(_,_), A, A, B, B). % added \ djd
'syntax.standardiseCommits.p5'('metaDefs.~''.f1'(_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.~''.f1'(_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.->''.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.->''.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.<-''.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.<-''.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.<->''.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.<->''.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.some.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.some.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.all.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.all.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.iT.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.iT.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.iTE.f3'(_,_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.iTE.f3'(_,_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.iST.f3'(_,_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.iST.f3'(_,_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.iSTE.f4'(_,_,_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.iSTE.f4'(_,_,_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.atom.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.atom.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.pAtom.f1'(_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.pAtom.f1'(_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.xAtom.f2'(_,_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.xAtom.f2'(_,_), A, A, B, B).
'syntax.standardiseCommits.p5'('metaDefs.xPAtom.f1'(_), A, A, B, B).
'~syntax.standardiseCommits.p5'('metaDefs.xPAtom.f1'(_), A, A, B, B).
'syntax.termMaxVarIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.termMaxVarIndex.p2.0'(A,B)).
'~syntax.termMaxVarIndex.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.termMaxVarIndex.p2.0'(A,B)).
'syntax.termMaxVarIndex.p2.0'(A, B) :-
        'sharedSyntax':'sharedSyntax.sTermMaxVarIndex.p2'(A, B).
'~syntax.termMaxVarIndex.p2.0'(A, B) :-
        'sharedSyntax':'~sharedSyntax.sTermMaxVarIndex.p2'(A, B).
'syntax.statement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.statement.p1.0'(A)).
'~syntax.statement.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.statement.p1.0'(A)).
'syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),_)).
'~syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.pAtom.f1'(_),_)).
'syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),_)).
'~syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.atom.f2'(_,_),_)).
'syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),_)).
'~syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.xPAtom.f1'(_),_)).
'syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),_)).
'~syntax.statement.p1.0'('metaDefs.<-''.f2'('metaDefs.xAtom.f2'(_,_),_)).
'syntax.termVariables.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.termVariables.p2.0'(A,B)).
'~syntax.termVariables.p2'(A, B) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.termVariables.p2.0'(A,B)).
'syntax.termVariables.p2.0'(A, B) :-
        'sharedSyntax':'sharedSyntax.sTermFreeVars.p2'(A, B).
'~syntax.termVariables.p2.0'(A, B) :-
        'sharedSyntax':'~sharedSyntax.sTermFreeVars.p2'(A, B).
'syntax.typeNotOccur1.p2'([], _).
'~syntax.typeNotOccur1.p2'([], _).
'syntax.typeNotOccur1.p2'([A|B], C) :-
        'syntax.typeNotOccur.p2'(A, C),
        'syntax.typeNotOccur1.p2'(B, C).
'~syntax.typeNotOccur1.p2'([A|B], C) :-
        '~syntax.typeNotOccur.p2'(A, C),
        '~syntax.typeNotOccur1.p2'(B, C).
'syntax.typeNotOccur.p2'('metaDefs.par.f1'(A), B) :-
        user:not_equal([], [B,A], B, 'metaDefs.par.f1'(A)).
'~syntax.typeNotOccur.p2'('metaDefs.par.f1'(A), B) :-
        user:not_equal([], [B,A], B, 'metaDefs.par.f1'(A)).
'syntax.typeNotOccur.p2'('metaDefs.par.f2'(A,B), C) :-
        user:not_equal([], [C,A,B], C, 'metaDefs.par.f2'(A,B)).
'~syntax.typeNotOccur.p2'('metaDefs.par.f2'(A,B), C) :-
        user:not_equal([], [C,A,B], C, 'metaDefs.par.f2'(A,B)).
'syntax.typeNotOccur.p2'('metaDefs.bType.f1'(_), _).
'~syntax.typeNotOccur.p2'('metaDefs.bType.f1'(_), _).
'syntax.typeNotOccur.p2'('metaDefs.type.f2'(_,A), B) :-
        'syntax.typeNotOccur1.p2'(A, B).
'~syntax.typeNotOccur.p2'('metaDefs.type.f2'(_,A), B) :-
        '~syntax.typeNotOccur1.p2'(A, B).
'syntax.typeNotOccur.p2'('metaDefs.xBType.f1'(_), _).
'~syntax.typeNotOccur.p2'('metaDefs.xBType.f1'(_), _).
'syntax.typeNotOccur.p2'('metaDefs.xType.f2'(_,A), B) :-
        'syntax.typeNotOccur1.p2'(A, B).
'~syntax.typeNotOccur.p2'('metaDefs.xType.f2'(_,A), B) :-
        '~syntax.typeNotOccur1.p2'(A, B).
'syntax.typeOccurCheck.p3'('substs.read.c0', A, B) :-
        'syntax.typeNotOccur1.p2'(B, A).
'~syntax.typeOccurCheck.p3'('substs.read.c0', A, B) :-
        '~syntax.typeNotOccur1.p2'(B, A).
'syntax.typeOccurCheck.p3'('substs.write.c0', _, _).
'~syntax.typeOccurCheck.p3'('substs.write.c0', _, _).
'syntax.unifyTypes.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'syntax.unifyTypes.p4.0'(A,B,C,D)).
'~syntax.unifyTypes.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'~syntax.unifyTypes.p4.0'(A,B,C,D)).
'syntax.unifyTypes.p4.0'(A, B, C, D) :-
        'syntax.applySubstToType.p3'(A, C, E),
        'syntax.unifyTypes0.p4'(E, B, C, D).
'~syntax.unifyTypes.p4.0'(A, B, C, D) :-
        '~syntax.applySubstToType.p3'(A, C, E),
        '~syntax.unifyTypes0.p4'(E, B, C, D).
'syntax.unifyTerms.p13'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        user:goedel_freeze(ground([B,F,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),O),F),true),('syntax':'syntax.unifyTerms.p4'(O,C,H,P),'syntax':'syntax.unifyArgs.p11'(J,K,D,E,F,G,P,I,L,M,N)),user:goedel_freeze(ground([B,G,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),Q),G),true),('syntax':'syntax.unifyTerms.p4'(Q,C,H,P),'syntax':'syntax.unifyArgs.p11'(J,K,D,E,F,G,P,I,L,M,N)),'syntax':'syntax.unifyArgs.p11'(J,K,D,E,['metaDefs.!.f2'('metaDefs.var.f2'(A,B),C)|F],G,H,I,L,M,N))))).
'~syntax.unifyTerms.p13'('metaDefs.var.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        user:goedel_freeze(ground([B,F,A]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),O),F),true),('syntax':'~syntax.unifyTerms.p4'(O,C,H,P),'syntax':'~syntax.unifyArgs.p11'(J,K,D,E,F,G,P,I,L,M,N)),user:goedel_freeze(ground([B,G,A]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f2'(A,B),Q),G),true),('syntax':'~syntax.unifyTerms.p4'(Q,C,H,P),'syntax':'~syntax.unifyArgs.p11'(J,K,D,E,F,G,P,I,L,M,N)),'syntax':'~syntax.unifyArgs.p11'(J,K,D,E,['metaDefs.!.f2'('metaDefs.var.f2'(A,B),C)|F],G,H,I,L,M,N))))).
'syntax.unifyTerms.p13'('metaDefs.var.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        user:goedel_freeze(ground([A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),N),E),true),('syntax':'syntax.unifyTerms.p4'(N,B,G,O),'syntax':'syntax.unifyArgs.p11'(I,J,C,D,E,F,O,H,K,L,M)),user:goedel_freeze(ground([A,F]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),P),F),true),('syntax':'syntax.unifyTerms.p4'(P,B,G,O),'syntax':'syntax.unifyArgs.p11'(I,J,C,D,E,F,O,H,K,L,M)),'syntax':'syntax.unifyArgs.p11'(I,J,C,D,['metaDefs.!.f2'('metaDefs.var.f1'(A),B)|E],F,G,H,K,L,M))))).
'~syntax.unifyTerms.p13'('metaDefs.var.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        user:goedel_freeze(ground([A,E]), if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),N),E),true),('syntax':'~syntax.unifyTerms.p4'(N,B,G,O),'syntax':'~syntax.unifyArgs.p11'(I,J,C,D,E,F,O,H,K,L,M)),user:goedel_freeze(ground([A,F]),if(('lists':'~lists.memberCheck.p2'('metaDefs.!.f2'('metaDefs.var.f1'(A),P),F),true),('syntax':'~syntax.unifyTerms.p4'(P,B,G,O),'syntax':'~syntax.unifyArgs.p11'(I,J,C,D,E,F,O,H,K,L,M)),'syntax':'~syntax.unifyArgs.p11'(I,J,C,D,['metaDefs.!.f2'('metaDefs.var.f1'(A),B)|E],F,G,H,K,L,M))))).
'syntax.unifyTerms.p13'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'substs.getFunction.p5'(C, 'metaDefs.term.f2'(A,O), P, H, Q),
        'syntax.checkFunctionTerm.p10'(B, O, P, D, R, F, G, S, Q, T),
        'syntax.unifyArgs.p11'(J, K, R, E, F, S, T, I, L, M, N).
'~syntax.unifyTerms.p13'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'~substs.getFunction.p5'(C, 'metaDefs.term.f2'(A,O), P, H, Q),
        '~syntax.checkFunctionTerm.p10'(B, O, P, D, R, F, G, S, Q, T),
        '~syntax.unifyArgs.p11'(J, K, R, E, F, S, T, I, L, M, N).
'syntax.unifyTerms.p13'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, J, K, L, M, N, O) :-
        'substs':'substs.getFunction.p5'(D, 'metaDefs.xTerm.f3'(A,P,C), Q, I, R),
        'syntax.checkFunctionTerm.p10'(B, P, Q, E, S, G, H, T, R, U),
        'syntax.unifyArgs.p11'(K, L, S, F, G, T, U, J, M, N, O).
'~syntax.unifyTerms.p13'('metaDefs.xTerm.f3'(A,B,C), D, E, F, G, H, I, J, K, L, M, N, O) :-
        'substs':'~substs.getFunction.p5'(D, 'metaDefs.xTerm.f3'(A,P,C), Q, I, R),
        '~syntax.checkFunctionTerm.p10'(B, P, Q, E, S, G, H, T, R, U),
        '~syntax.unifyArgs.p11'(K, L, S, F, G, T, U, J, M, N, O).
'syntax.unifyTerms.p13'('metaDefs.cTerm.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'substs.getConstant.p4'(B, 'metaDefs.cTerm.f1'(A), G, N),
        'syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'~syntax.unifyTerms.p13'('metaDefs.cTerm.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'~substs.getConstant.p4'(B, 'metaDefs.cTerm.f1'(A), G, N),
        '~syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'syntax.unifyTerms.p13'('metaDefs.xCTerm.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'substs.getConstant.p4'(C, 'metaDefs.xCTerm.f2'(A,B), H, O),
        'syntax.unifyArgs.p11'(J, K, D, E, F, G, O, I, L, M, N).
'~syntax.unifyTerms.p13'('metaDefs.xCTerm.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'~substs.getConstant.p4'(C, 'metaDefs.xCTerm.f2'(A,B), H, O),
        '~syntax.unifyArgs.p11'(J, K, D, E, F, G, O, I, L, M, N).
'syntax.unifyTerms.p13'('metaDefs.int.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'substs.getConstant.p4'(B, 'metaDefs.int.f1'(A), G, N),
        'syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'~syntax.unifyTerms.p13'('metaDefs.int.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'~substs.getConstant.p4'(B, 'metaDefs.int.f1'(A), G, N),
        '~syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'syntax.unifyTerms.p13'('metaDefs.str.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'substs.getConstant.p4'(B, 'metaDefs.str.f1'(A), G, N),
        'syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'~syntax.unifyTerms.p13'('metaDefs.str.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'~substs.getConstant.p4'(B, 'metaDefs.str.f1'(A), G, N),
        '~syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'syntax.unifyTerms.p13'('metaDefs.prm.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'substs.getConstant.p4'(B, 'metaDefs.prm.f1'(A), G, N),
        'syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'~syntax.unifyTerms.p13'('metaDefs.prm.f1'(A), B, C, D, E, F, G, H, I, J, K, L, M) :-
        'substs':'~substs.getConstant.p4'(B, 'metaDefs.prm.f1'(A), G, N),
        '~syntax.unifyArgs.p11'(I, J, C, D, E, F, N, H, K, L, M).
'syntax.unifyTerms.p13'('metaDefs.suchThat.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'substs.getConstant.p4'(C, 'metaDefs.suchThat.f2'(A,B), H, O),
        'syntax.unifyArgs.p11'(J, K, D, E, F, G, O, I, L, M, N).
'~syntax.unifyTerms.p13'('metaDefs.suchThat.f2'(A,B), C, D, E, F, G, H, I, J, K, L, M, N) :-
        'substs':'~substs.getConstant.p4'(C, 'metaDefs.suchThat.f2'(A,B), H, O),
        '~syntax.unifyArgs.p11'(J, K, D, E, F, G, O, I, L, M, N).
'syntax.unifyTerms.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'syntax.unifyTerms.p4.0'(A,B,C,D)).
'~syntax.unifyTerms.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'~syntax.unifyTerms.p4.0'(A,B,C,D)).
'syntax.unifyTerms.p4.0'(A, B, C, D) :-
        'sharedSyntax':'sharedSyntax.sUnifyTerms.p4'(A, B, C, D).
'~syntax.unifyTerms.p4.0'(A, B, C, D) :-
        'sharedSyntax':'~sharedSyntax.sUnifyTerms.p4'(A, B, C, D).
'syntax.unifyAtoms.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'syntax.unifyAtoms.p4.0'(A,B,C,D)).
'~syntax.unifyAtoms.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B,C]), 'syntax':'~syntax.unifyAtoms.p4.0'(A,B,C,D)).
'syntax.unifyAtoms.p4.0'(A, B, C, D) :-
        'sharedSyntax':'sharedSyntax.sUnifyAtoms.p4'(A, B, C, D).
'~syntax.unifyAtoms.p4.0'(A, B, C, D) :-
        'sharedSyntax':'~sharedSyntax.sUnifyAtoms.p4'(A, B, C, D).
'syntax.unifyArgs.p11'([], [], A, B, C, D, E, E, F, G, H) :-
        'syntax.applySubstToFormula.p9'(G, A, B, [], D, C, _, F, H).
'~syntax.unifyArgs.p11'([], [], A, B, C, D, E, E, F, G, H) :-
        '~syntax.applySubstToFormula.p9'(G, A, B, [], D, C, _, F, H).
'syntax.unifyArgs.p11'([A|B], [C|D], E, F, G, H, I, J, K, L, M) :-
        'syntax.unifyTerms.p13'(C, A, E, F, G, H, I, J, B, D, K, L, M).
'~syntax.unifyArgs.p11'([A|B], [C|D], E, F, G, H, I, J, K, L, M) :-
        '~syntax.unifyTerms.p13'(C, A, E, F, G, H, I, J, B, D, K, L, M).
'syntax.unifyTypeArgs.p5'([], [], _, A, A).
'~syntax.unifyTypeArgs.p5'([], [], _, A, A).
'syntax.unifyTypeArgs.p5'([A|B], [C|D], E, F, G) :-
        'syntax.unifyTypes1.p5'(A, C, E, F, H),
        'syntax.unifyTypeArgs.p5'(B, D, E, H, G).
'~syntax.unifyTypeArgs.p5'([A|B], [C|D], E, F, G) :-
        '~syntax.unifyTypes1.p5'(A, C, E, F, H),
        '~syntax.unifyTypeArgs.p5'(B, D, E, H, G).
'syntax.variableName.p3'(A, B, C) :-
        'sharedSyntax':'sharedSyntax.sVariableName.p3'(A, B, C).
'~syntax.variableName.p3'(A, B, C) :-
        'sharedSyntax':'~sharedSyntax.sVariableName.p3'(A, B, C).
'syntax.unifyTypes1.p5'('metaDefs.par.f2'(A,B), C, D, E, F) :-
        'substs':'substs.unifyParameter.p5'(D, C, 'metaDefs.par.f2'(A,B), E, F).
'~syntax.unifyTypes1.p5'('metaDefs.par.f2'(A,B), C, D, E, F) :-
        'substs':'~substs.unifyParameter.p5'(D, C, 'metaDefs.par.f2'(A,B), E, F).
'syntax.unifyTypes1.p5'('metaDefs.par.f1'(A), B, C, D, E) :-
        'substs':'substs.unifyParameter.p5'(C, B, 'metaDefs.par.f1'(A), D, E).
'~syntax.unifyTypes1.p5'('metaDefs.par.f1'(A), B, C, D, E) :-
        'substs':'~substs.unifyParameter.p5'(C, B, 'metaDefs.par.f1'(A), D, E).
'syntax.unifyTypes1.p5'('metaDefs.bType.f1'(A), B, C, D, E) :-
        'substs':'substs.unifyBase.p5'(C, B, 'metaDefs.bType.f1'(A), D, E).
'~syntax.unifyTypes1.p5'('metaDefs.bType.f1'(A), B, C, D, E) :-
        'substs':'~substs.unifyBase.p5'(C, B, 'metaDefs.bType.f1'(A), D, E).
'syntax.unifyTypes1.p5'('metaDefs.type.f2'(A,B), C, D, E, F) :-
        'substs':'substs.unifyType.p6'(D, C, 'metaDefs.type.f2'(A,G), H, E, I),
        'syntax.typeOccurCheck.p3'(H, C, B),
        'syntax.unifyTypeArgs.p5'(B, G, H, I, F).
'~syntax.unifyTypes1.p5'('metaDefs.type.f2'(A,B), C, D, E, F) :-
        'substs':'~substs.unifyType.p6'(D, C, 'metaDefs.type.f2'(A,G), H, E, I),
        '~syntax.typeOccurCheck.p3'(H, C, B),
        '~syntax.unifyTypeArgs.p5'(B, G, H, I, F).
'syntax.unifyTypes1.p5'('metaDefs.xType.f2'(A,B), C, D, E, F) :-
        'substs':'substs.unifyType.p6'(D, C, 'metaDefs.xType.f2'(A,G), H, E, I),
        'syntax.typeOccurCheck.p3'(H, C, B),
        'syntax.unifyTypeArgs.p5'(B, G, H, I, F).
'~syntax.unifyTypes1.p5'('metaDefs.xType.f2'(A,B), C, D, E, F) :-
        'substs':'~substs.unifyType.p6'(D, C, 'metaDefs.xType.f2'(A,G), H, E, I),
        '~syntax.typeOccurCheck.p3'(H, C, B),
        '~syntax.unifyTypeArgs.p5'(B, G, H, I, F).
'syntax.unifyTypes1.p5'('metaDefs.xBType.f1'(A), B, C, D, E) :-
        'substs':'substs.unifyBase.p5'(C, B, 'metaDefs.xBType.f1'(A), D, E).
'~syntax.unifyTypes1.p5'('metaDefs.xBType.f1'(A), B, C, D, E) :-
        'substs':'~substs.unifyBase.p5'(C, B, 'metaDefs.xBType.f1'(A), D, E).
'syntax.unifyTypes0.p4'('metaDefs.par.f2'(A,B), C, D, E) :-
        'syntax.getParameter.p4'(C, 'metaDefs.par.f2'(A,B), D, E).
'~syntax.unifyTypes0.p4'('metaDefs.par.f2'(A,B), C, D, E) :-
        '~syntax.getParameter.p4'(C, 'metaDefs.par.f2'(A,B), D, E).
'syntax.unifyTypes0.p4'('metaDefs.par.f1'(A), B, C, D) :-
        'syntax.getParameter.p4'(B, 'metaDefs.par.f1'(A), C, D).
'~syntax.unifyTypes0.p4'('metaDefs.par.f1'(A), B, C, D) :-
        '~syntax.getParameter.p4'(B, 'metaDefs.par.f1'(A), C, D).
'syntax.unifyTypes0.p4'('metaDefs.bType.f1'(A), B, C, D) :-
        'substs':'substs.getBase.p4'(B, 'metaDefs.bType.f1'(A), C, D).
'~syntax.unifyTypes0.p4'('metaDefs.bType.f1'(A), B, C, D) :-
        'substs':'~substs.getBase.p4'(B, 'metaDefs.bType.f1'(A), C, D).
'syntax.unifyTypes0.p4'('metaDefs.type.f2'(A,B), C, D, E) :-
        'substs':'substs.getType.p5'(C, 'metaDefs.type.f2'(A,F), G, D, H),
        'syntax.typeOccurCheck.p3'(G, C, B),
        'syntax.unifyTypeArgs.p5'(B, F, G, H, E).
'~syntax.unifyTypes0.p4'('metaDefs.type.f2'(A,B), C, D, E) :-
        'substs':'~substs.getType.p5'(C, 'metaDefs.type.f2'(A,F), G, D, H),
        '~syntax.typeOccurCheck.p3'(G, C, B),
        '~syntax.unifyTypeArgs.p5'(B, F, G, H, E).
'syntax.unifyTypes0.p4'('metaDefs.xType.f2'(A,B), C, D, E) :-
        'substs':'substs.getType.p5'(C, 'metaDefs.xType.f2'(A,F), G, D, H),
        'syntax.typeOccurCheck.p3'(G, C, B),
        'syntax.unifyTypeArgs.p5'(B, F, G, H, E).
'~syntax.unifyTypes0.p4'('metaDefs.xType.f2'(A,B), C, D, E) :-
        'substs':'~substs.getType.p5'(C, 'metaDefs.xType.f2'(A,F), G, D, H),
        '~syntax.typeOccurCheck.p3'(G, C, B),
        '~syntax.unifyTypeArgs.p5'(B, F, G, H, E).
'syntax.unifyTypes0.p4'('metaDefs.xBType.f1'(A), B, C, D) :-
        'substs':'substs.getBase.p4'(B, 'metaDefs.xBType.f1'(A), C, D).
'~syntax.unifyTypes0.p4'('metaDefs.xBType.f1'(A), B, C, D) :-
        'substs':'~substs.getBase.p4'(B, 'metaDefs.xBType.f1'(A), C, D).
'syntax.variable.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'syntax.variable.p1.0'(A)).
'~syntax.variable.p1'(A) :-
        user:goedel_freeze(ground([A]), 'syntax':'~syntax.variable.p1.0'(A)).
'syntax.variable.p1.0'('metaDefs.var.f2'(_,_)).
'~syntax.variable.p1.0'('metaDefs.var.f2'(_,_)).
'syntax.variable.p1.0'('metaDefs.var.f1'(_)).
'~syntax.variable.p1.0'('metaDefs.var.f1'(_)).
'syntax.unifyValue.p5'('substs.write.c0', A, A, B, B).
'~syntax.unifyValue.p5'('substs.write.c0', A, A, B, B).
'syntax.unifyValue.p5'('substs.read.c0', A, B, C, D) :-
        'syntax.unifyTerms.p4'(A, B, C, D).
'~syntax.unifyValue.p5'('substs.read.c0', A, B, C, D) :-
        '~syntax.unifyTerms.p4'(A, B, C, D).
'syntax.variantTerms.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.variantTerms.p2.0'(A,B)).
'~syntax.variantTerms.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.variantTerms.p2.0'(A,B)).
'syntax.variantTerms.p2.0'(A, B) :-
        'syntax.checkVariantTerms.p4'(A, [], _, B).
'~syntax.variantTerms.p2.0'(A, B) :-
        '~syntax.checkVariantTerms.p4'(A, [], _, B).
'syntax.variantFormulas.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.variantFormulas.p2.0'(A,B)).
'~syntax.variantFormulas.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.variantFormulas.p2.0'(A,B)).
'syntax.variantFormulas.p2.0'(A, B) :-
        'syntax.checkVariantFormulas.p4'(A, [], _, B).
'~syntax.variantFormulas.p2.0'(A, B) :-
        '~syntax.checkVariantFormulas.p4'(A, [], _, B).
'syntax.variantTypes.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'syntax.variantTypes.p2.0'(A,B)).
'~syntax.variantTypes.p2'(A, B) :-
        user:goedel_freeze(ground([A,B]), 'syntax':'~syntax.variantTypes.p2.0'(A,B)).
'syntax.variantTypes.p2.0'(A, B) :-
        'sharedSyntax':'sharedSyntax.sCheckVariantTypes.p4'(A, [], _, B).
'~syntax.variantTypes.p2.0'(A, B) :-
        'sharedSyntax':'~sharedSyntax.sCheckVariantTypes.p4'(A, [], _, B).
