:- module(sharedPrograms,[]).  %% converted djd
%% :- module('sharedPrograms', []).

:- discontiguous 'sharedPrograms.chainExprToIntDL.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.chainExprToIntDL.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.addOtherModulesAux.p7'/7. %% added djd
:- discontiguous '~sharedPrograms.addOtherModulesAux.p7'/7. %% added djd
:- discontiguous 'sharedPrograms.addImportToPart.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.addImportToPart.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.accessible.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.accessible.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.addLiftedLanguage.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.addLiftedLanguage.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.binaryConnective.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.binaryConnective.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.atomToIntDL.p8'/8. %% added djd
:- discontiguous '~sharedPrograms.atomToIntDL.p8'/8. %% added djd
:- discontiguous 'sharedPrograms.binConnectiveChars.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.binConnectiveChars.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.cLPrec.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.cLPrec.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.bindsTighter.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.bindsTighter.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.cRPrec.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.cRPrec.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.checkHeadArgs1.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.checkHeadArgs1.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.checkHeadArgs.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.checkHeadArgs.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.containsConditional.p1'/1. %% added djd
:- discontiguous '~sharedPrograms.containsConditional.p1'/1. %% added djd
:- discontiguous 'sharedPrograms.divideBindings.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.divideBindings.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.deleteUnderscores.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.deleteUnderscores.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.divideBindingsAux.p5'/5. %% added djd
:- discontiguous '~sharedPrograms.divideBindingsAux.p5'/5. %% added djd
:- discontiguous 'sharedPrograms.expandStringAux.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.expandStringAux.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.fixVariableTyping.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.fixVariableTyping.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.formulaToIntDL.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.formulaToIntDL.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.importedLanguage.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.importedLanguage.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.headAtom.p9'/9. %% added djd
:- discontiguous '~sharedPrograms.headAtom.p9'/9. %% added djd
:- discontiguous 'sharedPrograms.kindHasPart.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.kindHasPart.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.isVariable.p1'/1. %% added djd
:- discontiguous '~sharedPrograms.isVariable.p1'/1. %% added djd
:- discontiguous 'sharedPrograms.lPrec.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.lPrec.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.listTypesInLanguage.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.listTypesInLanguage.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.lookupParDictAux.p5'/5. %% added djd
:- discontiguous '~sharedPrograms.lookupParDictAux.p5'/5. %% added djd
:- discontiguous 'sharedPrograms.lookupVarTypingAux.p5'/5. %% added djd
:- discontiguous '~sharedPrograms.lookupVarTypingAux.p5'/5. %% added djd
:- discontiguous 'sharedPrograms.meltVariableTyping.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.meltVariableTyping.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.meltType.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.meltType.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.matchingName.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.matchingName.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.meltTypeList.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.meltTypeList.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.meltedAtomTyping.p8'/8. %% added djd
:- discontiguous '~sharedPrograms.meltedAtomTyping.p8'/8. %% added djd
:- discontiguous 'sharedPrograms.meltedArgumentTyping.p9'/9. %% added djd
:- discontiguous '~sharedPrograms.meltedArgumentTyping.p9'/9. %% added djd
:- discontiguous 'sharedPrograms.meltedTermType.p9'/9. %% added djd
:- discontiguous '~sharedPrograms.meltedTermType.p9'/9. %% added djd
:- discontiguous 'sharedPrograms.meltedStandardTyping.p8'/8. %% added djd
:- discontiguous '~sharedPrograms.meltedStandardTyping.p8'/8. %% added djd
:- discontiguous 'sharedPrograms.openKind.p1'/1. %% added djd
:- discontiguous '~sharedPrograms.openKind.p1'/1. %% added djd
:- discontiguous 'sharedPrograms.mustBracketThen.p1'/1. %% added djd
:- discontiguous '~sharedPrograms.mustBracketThen.p1'/1. %% added djd
:- discontiguous 'sharedPrograms.quantifiedFormula.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.quantifiedFormula.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.rPrec.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.rPrec.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.quantifierChars.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.quantifierChars.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.reformatDelays.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.reformatDelays.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.restVarListToIntDL.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.restVarListToIntDL.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.simpleCondToIntDL.p3'/3. %% added djd
:- discontiguous '~sharedPrograms.simpleCondToIntDL.p3'/3. %% added djd
:- discontiguous 'sharedPrograms.typeInLanguage.p2'/2. %% added djd
:- discontiguous '~sharedPrograms.typeInLanguage.p2'/2. %% added djd
:- discontiguous 'sharedPrograms.termToIntDL.p9'/9. %% added djd
:- discontiguous '~sharedPrograms.termToIntDL.p9'/9. %% added djd
:- discontiguous 'sharedPrograms.termListToIntDLAux.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.termListToIntDLAux.p6'/6. %% added djd
:- discontiguous 'sharedPrograms.termToIntDLAux.p11'/11. %% added djd
:- discontiguous '~sharedPrograms.termToIntDLAux.p11'/11. %% added djd
:- discontiguous 'sharedPrograms.typeListToIntDLAux.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.typeListToIntDLAux.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.typeToIntDL.p4'/4. %% added djd
:- discontiguous '~sharedPrograms.typeToIntDL.p4'/4. %% added djd
:- discontiguous 'sharedPrograms.updateDelays.p6'/6. %% added djd
:- discontiguous '~sharedPrograms.updateDelays.p6'/6. %% added djd


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

'sharedPrograms.modulePartInProgram.p3'('progDefs.program.f4'(_,A,_,_), B, C) :-
        'sharedPrograms.avlFind.p3'(A, B, 'progDefs.modDef.f4'(D,_,_,_)),
        'sharedPrograms.kindHasPart.p2'(D, C).
'~sharedPrograms.modulePartInProgram.p3'('progDefs.program.f4'(_,A,_,_), B, C) :-
        '~sharedPrograms.avlFind.p3'(A, B, 'progDefs.modDef.f4'(D,_,_,_)),
        '~sharedPrograms.kindHasPart.p2'(D, C).
'sharedPrograms.initialiseLanguage.p2'(A, B) :-
        'sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"True','metaDefs.proposition.c0',0), A, 'progDefs.exported.c0', 'progDefs.propositionDecl.c0', C),
        'sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"False','metaDefs.proposition.c0',0), C, 'progDefs.exported.c0', 'progDefs.propositionDecl.c0', D),
        'sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"=','metaDefs.predicate.c0',2), D, 'progDefs.exported.c0', 'progDefs.predicateDecl.f3'(2,'syntax.zPZ.c0',['metaDefs.par.f1'(0),'metaDefs.par.f1'(0)]), E),
        'sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"~=','metaDefs.predicate.c0',2), E, 'progDefs.exported.c0', 'progDefs.predicateDecl.f3'(2,'syntax.zPZ.c0',['metaDefs.par.f1'(0),'metaDefs.par.f1'(0)]), B).
'~sharedPrograms.initialiseLanguage.p2'(A, B) :-
        '~sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"True','metaDefs.proposition.c0',0), A, 'progDefs.exported.c0', 'progDefs.propositionDecl.c0', C),
        '~sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"False','metaDefs.proposition.c0',0), C, 'progDefs.exported.c0', 'progDefs.propositionDecl.c0', D),
        '~sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"=','metaDefs.predicate.c0',2), D, 'progDefs.exported.c0', 'progDefs.predicateDecl.f3'(2,'syntax.zPZ.c0',['metaDefs.par.f1'(0),'metaDefs.par.f1'(0)]), E),
        '~sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'('"','"~=','metaDefs.predicate.c0',2), E, 'progDefs.exported.c0', 'progDefs.predicateDecl.f3'(2,'syntax.zPZ.c0',['metaDefs.par.f1'(0),'metaDefs.par.f1'(0)]), B).
'sharedPrograms.chainExprToIntDL.p6'('metaDefs.cTerm.f1'(_), _, _, _, A, A).
'~sharedPrograms.chainExprToIntDL.p6'('metaDefs.cTerm.f1'(_), _, _, _, A, A).
'sharedPrograms.chainExprToIntDL.p6'('metaDefs.var.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('"|', F, H),
        'sharedPrograms.termToIntDL.p9'('metaDefs.var.f2'(A,B), C, D, E, _, _, _, H, G).
'~sharedPrograms.chainExprToIntDL.p6'('metaDefs.var.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('"|', F, H),
        '~sharedPrograms.termToIntDL.p9'('metaDefs.var.f2'(A,B), C, D, E, _, _, _, H, G).
'sharedPrograms.chainExprToIntDL.p6'('metaDefs.var.f1'(A), B, C, D, E, F) :-
        'sharedPrograms.charDL.p3'('"|', E, G),
        'sharedPrograms.termToIntDL.p9'('metaDefs.var.f1'(A), B, C, D, _, _, _, G, F).
'~sharedPrograms.chainExprToIntDL.p6'('metaDefs.var.f1'(A), B, C, D, E, F) :-
        '~sharedPrograms.charDL.p3'('"|', E, G),
        '~sharedPrograms.termToIntDL.p9'('metaDefs.var.f1'(A), B, C, D, _, _, _, G, F).
'sharedPrograms.chainExprToIntDL.p6'('metaDefs.term.f2'(_,[A,B]), C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('",', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, G).
'~sharedPrograms.chainExprToIntDL.p6'('metaDefs.term.f2'(_,[A,B]), C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('",', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, G).
'sharedPrograms.addOtherModulesAux.p7'([], A, B, C, A, B, C).
'~sharedPrograms.addOtherModulesAux.p7'([], A, B, C, A, B, C).
'sharedPrograms.addOtherModulesAux.p7'([A|B], C, D, E, F, G, H) :-
        'sharedPrograms.addModule.p7'(A, C, D, E, I, J, K),
        'sharedPrograms.addOtherModulesAux.p7'(B, I, J, K, F, G, H).
'~sharedPrograms.addOtherModulesAux.p7'([A|B], C, D, E, F, G, H) :-
        '~sharedPrograms.addModule.p7'(A, C, D, E, I, J, K),
        '~sharedPrograms.addOtherModulesAux.p7'(B, I, J, K, F, G, H).
'sharedPrograms.addModule.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A]), ('sharedPrograms':'~sharedPrograms.systemModule.p1'(A),true->'sharedPrograms':'sharedPrograms.systemModuleRep.p4'(A,H,I,J),'avlTrees':'avlTrees.avlInsert.p4'(B,A,H,K),'avlTrees':'avlTrees.avlInsert.p4'(C,A,I,L),'avlTrees':'avlTrees.avlInsert.p4'(D,A,'progDefs.code.f2'(0,J),M),'sharedPrograms':'sharedPrograms.addOtherModules.p7'(H,K,L,M,E,F,G);'avlTrees':'avlTrees.avlInsert.p4'(B,A,'progDefs.modDef.f4'('progDefs.normalKind.c0',[],[],[]),E),F=C,'avlTrees':'avlTrees.avlIsEmpty.p1'(N),'sharedPrograms':'sharedPrograms.nextModuleVersion.p2'(A,O),'avlTrees':'avlTrees.avlInsert.p4'(D,A,'progDefs.code.f2'(O,N),G))).
'~sharedPrograms.addModule.p7'(A, B, C, D, E, F, G) :-
        user:goedel_freeze(ground([A]), ('sharedPrograms':'~sharedPrograms.systemModule.p1'(A),true->'sharedPrograms':'~sharedPrograms.systemModuleRep.p4'(A,H,I,J),'avlTrees':'~avlTrees.avlInsert.p4'(B,A,H,K),'avlTrees':'~avlTrees.avlInsert.p4'(C,A,I,L),'avlTrees':'~avlTrees.avlInsert.p4'(D,A,'progDefs.code.f2'(0,J),M),'sharedPrograms':'~sharedPrograms.addOtherModules.p7'(H,K,L,M,E,F,G);'avlTrees':'~avlTrees.avlInsert.p4'(B,A,'progDefs.modDef.f4'('progDefs.normalKind.c0',[],[],[]),E),F=C,'avlTrees':'~avlTrees.avlIsEmpty.p1'(N),'sharedPrograms':'~sharedPrograms.nextModuleVersion.p2'(A,O),'avlTrees':'~avlTrees.avlInsert.p4'(D,A,'progDefs.code.f2'(O,N),G))).
'sharedPrograms.addImportToPart.p6'('progDefs.export.c0', A, B, C, [A|B], C).
'~sharedPrograms.addImportToPart.p6'('progDefs.export.c0', A, B, C, [A|B], C).
'sharedPrograms.addImportToPart.p6'('progDefs.closed.c0', A, B, C, [A|B], C).
'~sharedPrograms.addImportToPart.p6'('progDefs.closed.c0', A, B, C, [A|B], C).
'sharedPrograms.addImportToPart.p6'('progDefs.local.c0', A, B, C, B, [A|C]).
'~sharedPrograms.addImportToPart.p6'('progDefs.local.c0', A, B, C, B, [A|C]).
'sharedPrograms.addImportToPart.p6'('progDefs.module.c0', A, B, C, B, [A|C]).
'~sharedPrograms.addImportToPart.p6'('progDefs.module.c0', A, B, C, B, [A|C]).
'sharedPrograms.accessible.p2'('progDefs.exported.c0', 'progDefs.exported.c0').
'~sharedPrograms.accessible.p2'('progDefs.exported.c0', 'progDefs.exported.c0').
'sharedPrograms.accessible.p2'('progDefs.hidden.c0', _).
'~sharedPrograms.accessible.p2'('progDefs.hidden.c0', _).
'sharedPrograms.addLiftedLanguage.p4'([], _, A, A).
'~sharedPrograms.addLiftedLanguage.p4'([], _, A, A).
'sharedPrograms.addLiftedLanguage.p4'(['progDefs.lift.f2'(B,C)|A], D, E, F) :-
        user:goedel_freeze(ground([D,B]), ('lists':'~lists.member.p2'(B,D),true->G=E;'avlTrees':'avlTrees.avlIsEmpty.p1'(H),user:goedel_freeze(ground([H,B,E]),if(('avlTrees':'~avlTrees.avlUpdate.p5'(E,B,'progDefs.module.f3'('progDefs.exported.c0','progDefs.categories.f2'(I,H),[]),J,'progDefs.module.f3'(_,'progDefs.categories.f2'(K,_),_)),true),('avlTrees':'avlTrees.avlJoin.p3'(C,K,I),G=J),'avlTrees':'avlTrees.avlInsert.p4'(E,B,'progDefs.module.f3'('progDefs.exported.c0','progDefs.categories.f2'(C,H),[]),G))))),
        'sharedPrograms.addLiftedLanguage.p4'(A, D, G, F).
'~sharedPrograms.addLiftedLanguage.p4'(['progDefs.lift.f2'(B,C)|A], D, E, F) :-
        user:goedel_freeze(ground([D,B]), ('lists':'~lists.member.p2'(B,D),true->G=E;'avlTrees':'~avlTrees.avlIsEmpty.p1'(H),user:goedel_freeze(ground([H,B,E]),if(('avlTrees':'~avlTrees.avlUpdate.p5'(E,B,'progDefs.module.f3'('progDefs.exported.c0','progDefs.categories.f2'(I,H),[]),J,'progDefs.module.f3'(_,'progDefs.categories.f2'(K,_),_)),true),('avlTrees':'~avlTrees.avlJoin.p3'(C,K,I),G=J),'avlTrees':'~avlTrees.avlInsert.p4'(E,B,'progDefs.module.f3'('progDefs.exported.c0','progDefs.categories.f2'(C,H),[]),G))))),
        '~sharedPrograms.addLiftedLanguage.p4'(A, D, G, F).
'sharedPrograms.addOtherModules.p7'('progDefs.modDef.f4'(_,A,B,C), D, E, F, G, H, I) :-
        'lists':'lists.append.p3'(C, A, J),
        'lists':'lists.append.p3'(B, J, K),
        'sharedPrograms.addOtherModulesAux.p7'(K, D, E, F, G, H, I).
'~sharedPrograms.addOtherModules.p7'('progDefs.modDef.f4'(_,A,B,C), D, E, F, G, H, I) :-
        'lists':'~lists.append.p3'(C, A, J),
        'lists':'~lists.append.p3'(B, J, K),
        '~sharedPrograms.addOtherModulesAux.p7'(K, D, E, F, G, H, I).
'sharedPrograms.binaryConnective.p3'('metaDefs.&''.f2'(A,B), A, B).
'~sharedPrograms.binaryConnective.p3'('metaDefs.&''.f2'(A,B), A, B).
'sharedPrograms.binaryConnective.p3'('metaDefs.\\/''.f2'(A,B), A, B). % added \ djd
'~sharedPrograms.binaryConnective.p3'('metaDefs.\\/''.f2'(A,B), A, B). % added \ djd
'sharedPrograms.binaryConnective.p3'('metaDefs.->''.f2'(A,B), A, B).
'~sharedPrograms.binaryConnective.p3'('metaDefs.->''.f2'(A,B), A, B).
'sharedPrograms.binaryConnective.p3'('metaDefs.<-''.f2'(A,B), A, B).
'~sharedPrograms.binaryConnective.p3'('metaDefs.<-''.f2'(A,B), A, B).
'sharedPrograms.binaryConnective.p3'('metaDefs.<->''.f2'(A,B), A, B).
'~sharedPrograms.binaryConnective.p3'('metaDefs.<->''.f2'(A,B), A, B).
'sharedPrograms.baseInLanguage.p2'(A, B) :-
        'sharedPrograms.typeSymbolInLanguage.p3'(A, B, 'progDefs.baseDecl.c0').
'~sharedPrograms.baseInLanguage.p2'(A, B) :-
        '~sharedPrograms.typeSymbolInLanguage.p3'(A, B, 'progDefs.baseDecl.c0').
'sharedPrograms.atomToIntDL.p8'('syntax.noPredInd.c0', 'metaDefs.name.f4'(A,B,C,D), E, F, G, H, I, J) :-
        user:goedel_freeze(ground([D,C,A,B]), ((A='"Integers',B='"Interval',C='metaDefs.predicate.c0',D=3),true->E=[K,L,M],'sharedPrograms':'sharedPrograms.classifyToken.p2'('"=<',N),'strings':'strings.stringInts.p2'('"=<',O),'sharedPrograms':'sharedPrograms.termToIntDL.p9'(K,F,G,H,_,_,P,I,Q),'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(P,N,Q,R),'lists':'lists.append.p3'(O,S,R),'sharedPrograms':'sharedPrograms.termToIntDL.p9'(L,F,G,H,_,T,U,V,W),'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(N,T,S,V),'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(U,N,W,X),'lists':'lists.append.p3'(O,Y,X),'sharedPrograms':'sharedPrograms.termToIntDL.p9'(M,F,G,H,_,Z,_,A1,J),'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(N,Z,Y,A1);'strings':'strings.stringInts.p2'(B,B1),'lists':'lists.append.p3'(B1,Q,I),'sharedPrograms':'sharedPrograms.charDL.p3'('"(',Q,R),'sharedPrograms':'sharedPrograms.termListToIntDL.p6'(E,F,G,H,R,S),'sharedPrograms':'sharedPrograms.charDL.p3'('")',S,J))).
'~sharedPrograms.atomToIntDL.p8'('syntax.noPredInd.c0', 'metaDefs.name.f4'(A,B,C,D), E, F, G, H, I, J) :-
        user:goedel_freeze(ground([D,C,A,B]), ((A='"Integers',B='"Interval',C='metaDefs.predicate.c0',D=3),true->E=[K,L,M],'sharedPrograms':'~sharedPrograms.classifyToken.p2'('"=<',N),'strings':'~strings.stringInts.p2'('"=<',O),'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(K,F,G,H,_,_,P,I,Q),'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(P,N,Q,R),'lists':'~lists.append.p3'(O,S,R),'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(L,F,G,H,_,T,U,V,W),'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(N,T,S,V),'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(U,N,W,X),'lists':'~lists.append.p3'(O,Y,X),'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(M,F,G,H,_,Z,_,A1,J),'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(N,Z,Y,A1);'strings':'~strings.stringInts.p2'(B,B1),'lists':'~lists.append.p3'(B1,Q,I),'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',Q,R),'sharedPrograms':'~sharedPrograms.termListToIntDL.p6'(E,F,G,H,R,S),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',S,J))).
'sharedPrograms.atomToIntDL.p8'('syntax.zPZ.c0', 'metaDefs.name.f4'(_,A,_,_), [B,C], D, E, F, G, H) :-
        'sharedPrograms.termToIntDL.p9'(B, D, E, F, _, _, I, G, J),
        'sharedPrograms.classifyToken.p2'(A, K),
        'sharedPrograms.spaceIfNeeded.p4'(I, K, J, L),
        'strings':'strings.stringInts.p2'(A, M),
        'lists':'lists.append.p3'(M, N, L),
        'sharedPrograms.termToIntDL.p9'(C, D, E, F, _, O, _, P, H),
        'sharedPrograms.spaceIfNeeded.p4'(O, K, N, P).
'~sharedPrograms.atomToIntDL.p8'('syntax.zPZ.c0', 'metaDefs.name.f4'(_,A,_,_), [B,C], D, E, F, G, H) :-
        '~sharedPrograms.termToIntDL.p9'(B, D, E, F, _, _, I, G, J),
        '~sharedPrograms.classifyToken.p2'(A, K),
        '~sharedPrograms.spaceIfNeeded.p4'(I, K, J, L),
        'strings':'~strings.stringInts.p2'(A, M),
        'lists':'~lists.append.p3'(M, N, L),
        '~sharedPrograms.termToIntDL.p9'(C, D, E, F, _, O, _, P, H),
        '~sharedPrograms.spaceIfNeeded.p4'(O, K, N, P).
'sharedPrograms.atomToIntDL.p8'('syntax.zP.c0', 'metaDefs.name.f4'(_,A,_,_), [B], C, D, E, F, G) :-
        'sharedPrograms.termToIntDL.p9'(B, C, D, E, _, _, H, F, I),
        'sharedPrograms.classifyToken.p2'(A, J),
        'sharedPrograms.spaceIfNeeded.p4'(H, J, I, K),
        'strings':'strings.stringInts.p2'(A, L),
        'lists':'lists.append.p3'(L, G, K).
'~sharedPrograms.atomToIntDL.p8'('syntax.zP.c0', 'metaDefs.name.f4'(_,A,_,_), [B], C, D, E, F, G) :-
        '~sharedPrograms.termToIntDL.p9'(B, C, D, E, _, _, H, F, I),
        '~sharedPrograms.classifyToken.p2'(A, J),
        '~sharedPrograms.spaceIfNeeded.p4'(H, J, I, K),
        'strings':'~strings.stringInts.p2'(A, L),
        'lists':'~lists.append.p3'(L, G, K).
'sharedPrograms.atomToIntDL.p8'('syntax.pZ.c0', 'metaDefs.name.f4'(_,A,_,_), [B], C, D, E, F, G) :-
        'sharedPrograms.classifyToken.p2'(A, H),
        'strings':'strings.stringInts.p2'(A, I),
        'lists':'lists.append.p3'(I, J, F),
        'sharedPrograms.termToIntDL.p9'(B, C, D, E, _, K, _, L, G),
        'sharedPrograms.spaceIfNeeded.p4'(K, H, J, L).
'~sharedPrograms.atomToIntDL.p8'('syntax.pZ.c0', 'metaDefs.name.f4'(_,A,_,_), [B], C, D, E, F, G) :-
        '~sharedPrograms.classifyToken.p2'(A, H),
        'strings':'~strings.stringInts.p2'(A, I),
        'lists':'~lists.append.p3'(I, J, F),
        '~sharedPrograms.termToIntDL.p9'(B, C, D, E, _, K, _, L, G),
        '~sharedPrograms.spaceIfNeeded.p4'(K, H, J, L).
'sharedPrograms.andSeqToIntDL.p3'('progDefs.and.f2'(A,B), C, D) :-
        'sharedPrograms.simpleCondToIntDL.p3'(A, C, E),
        'strings':'strings.stringInts.p2'('" & ', F),
        'lists':'lists.append.p3'(F, G, E),
        user:goedel_freeze(ground([B]), (B='progDefs.and.f2'(_,_),true->'sharedPrograms':'sharedPrograms.andSeqToIntDL.p3'(B,G,D);'sharedPrograms':'sharedPrograms.simpleCondToIntDL.p3'(B,G,D))).
'~sharedPrograms.andSeqToIntDL.p3'('progDefs.and.f2'(A,B), C, D) :-
        '~sharedPrograms.simpleCondToIntDL.p3'(A, C, E),
        'strings':'~strings.stringInts.p2'('" & ', F),
        'lists':'~lists.append.p3'(F, G, E),
        user:goedel_freeze(ground([B]), (B='progDefs.and.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.andSeqToIntDL.p3'(B,G,D);'sharedPrograms':'~sharedPrograms.simpleCondToIntDL.p3'(B,G,D))).
'sharedPrograms.binConnectiveChars.p3'('metaDefs.&''.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('" & ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.binConnectiveChars.p3'('metaDefs.&''.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('" & ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.binConnectiveChars.p3'('metaDefs.\\/''.f2'(_,_), A, B) :- % added \ djd
        'strings':'strings.stringInts.p2'('" \\/ ', C), % added \ djd
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.binConnectiveChars.p3'('metaDefs.\\/''.f2'(_,_), A, B) :- % added \ djd
        'strings':'~strings.stringInts.p2'('" \\/ ', C), % added \ djd
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.binConnectiveChars.p3'('metaDefs.->''.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('" -> ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.binConnectiveChars.p3'('metaDefs.->''.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('" -> ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.binConnectiveChars.p3'('metaDefs.<-''.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('" <- ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.binConnectiveChars.p3'('metaDefs.<-''.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('" <- ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.binConnectiveChars.p3'('metaDefs.<->''.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('" <-> ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.binConnectiveChars.p3'('metaDefs.<->''.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('" <-> ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.binaryInfixToIntDL.p12'(A, 'metaDefs.name.f4'(B,C,_,_), D, E, F, G, H, I, J, K, L, M) :-
        user:goedel_freeze(ground([D,B,E,C]), if(((B='"Rationals',C='"//',D='metaDefs.int.f1'(N),E='metaDefs.int.f1'(O)),true),'sharedPrograms':'sharedPrograms.rationalToIntDL.p9'(N,O,F,G,I,J,K,L,M),(I=A,'sharedPrograms':'sharedPrograms.termToIntDL.p9'(D,F,G,H,P,Q,R,S,T),'sharedPrograms':'sharedPrograms.termToIntDL.p9'(E,F,G,H,U,V,W,X,Y),'sharedPrograms':'sharedPrograms.classifyToken.p2'(C,Z),user:goedel_freeze(ground([A,P]),(('sharedPrograms':'~sharedPrograms.rPrec.p2'(P,A1),'sharedPrograms':'~sharedPrograms.lPrec.p2'(A,B1),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(A1,B1)),true->J=Q,L=S,'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(R,Z,T,C1);J='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"(',L,S),'sharedPrograms':'sharedPrograms.charDL.p3'('")',T,C1))),'strings':'strings.stringInts.p2'(C,D1),'lists':'lists.append.p3'(D1,E1,C1),user:goedel_freeze(ground([A,U]),(('sharedPrograms':'~sharedPrograms.lPrec.p2'(U,F1),'sharedPrograms':'~sharedPrograms.rPrec.p2'(A,G1),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(F1,G1)),true->K=W,'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(Z,V,E1,X),M=Y;K='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"(',E1,X),'sharedPrograms':'sharedPrograms.charDL.p3'('")',Y,M)))))).
'~sharedPrograms.binaryInfixToIntDL.p12'(A, 'metaDefs.name.f4'(B,C,_,_), D, E, F, G, H, I, J, K, L, M) :-
        user:goedel_freeze(ground([D,B,E,C]), if(((B='"Rationals',C='"//',D='metaDefs.int.f1'(N),E='metaDefs.int.f1'(O)),true),'sharedPrograms':'~sharedPrograms.rationalToIntDL.p9'(N,O,F,G,I,J,K,L,M),(I=A,'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(D,F,G,H,P,Q,R,S,T),'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(E,F,G,H,U,V,W,X,Y),'sharedPrograms':'~sharedPrograms.classifyToken.p2'(C,Z),user:goedel_freeze(ground([A,P]),(('sharedPrograms':'~sharedPrograms.rPrec.p2'(P,A1),'sharedPrograms':'~sharedPrograms.lPrec.p2'(A,B1),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(A1,B1)),true->J=Q,L=S,'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(R,Z,T,C1);J='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"(',L,S),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',T,C1))),'strings':'~strings.stringInts.p2'(C,D1),'lists':'~lists.append.p3'(D1,E1,C1),user:goedel_freeze(ground([A,U]),(('sharedPrograms':'~sharedPrograms.lPrec.p2'(U,F1),'sharedPrograms':'~sharedPrograms.rPrec.p2'(A,G1),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(F1,G1)),true->K=W,'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(Z,V,E1,X),M=Y;K='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"(',E1,X),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',Y,M)))))).
'sharedPrograms.binaryFormulaToIntDL.p6'(A, B, C, D, E, F) :-
        'sharedPrograms.binaryConnective.p3'(A, G, H),
        'sharedPrograms.formulaToIntDL.p6'(G, B, C, D, I, J),
        'sharedPrograms.formulaToIntDL.p6'(H, B, C, D, K, L),
        user:goedel_freeze(ground([A,G]), (('sharedPrograms':'~sharedPrograms.cRPrec.p2'(G,M),'sharedPrograms':'~sharedPrograms.cLPrec.p2'(A,N),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(M,N)),true->E=I,O=J;'sharedPrograms':'sharedPrograms.charDL.p3'('"(',E,I),'sharedPrograms':'sharedPrograms.charDL.p3'('")',J,O))),
        'sharedPrograms.binConnectiveChars.p3'(A, O, P),
        user:goedel_freeze(ground([A,H]), (('sharedPrograms':'~sharedPrograms.cLPrec.p2'(H,Q),'sharedPrograms':'~sharedPrograms.cRPrec.p2'(A,R),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(Q,R)),true->P=K,F=L;'sharedPrograms':'sharedPrograms.charDL.p3'('"(',P,K),'sharedPrograms':'sharedPrograms.charDL.p3'('")',L,F))).
'~sharedPrograms.binaryFormulaToIntDL.p6'(A, B, C, D, E, F) :-
        '~sharedPrograms.binaryConnective.p3'(A, G, H),
        '~sharedPrograms.formulaToIntDL.p6'(G, B, C, D, I, J),
        '~sharedPrograms.formulaToIntDL.p6'(H, B, C, D, K, L),
        user:goedel_freeze(ground([A,G]), (('sharedPrograms':'~sharedPrograms.cRPrec.p2'(G,M),'sharedPrograms':'~sharedPrograms.cLPrec.p2'(A,N),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(M,N)),true->E=I,O=J;'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',E,I),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',J,O))),
        '~sharedPrograms.binConnectiveChars.p3'(A, O, P),
        user:goedel_freeze(ground([A,H]), (('sharedPrograms':'~sharedPrograms.cLPrec.p2'(H,Q),'sharedPrograms':'~sharedPrograms.cRPrec.p2'(A,R),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(Q,R)),true->P=K,F=L;'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',P,K),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',L,F))).
'sharedPrograms.cLPrec.p2'('metaDefs.empty.c0', 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.empty.c0', 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.pAtom.f1'(_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.pAtom.f1'(_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.atom.f2'(_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.atom.f2'(_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.~''.f1'(_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.~''.f1'(_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.&''.f2'(_,_), 'sharedPrograms.prec.f2'(100,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.&''.f2'(_,_), 'sharedPrograms.prec.f2'(100,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.\\/''.f2'(_,_), 'sharedPrograms.prec.f2'(90,'sharedPrograms.X.c0')). % added \ djd
'~sharedPrograms.cLPrec.p2'('metaDefs.\\/''.f2'(_,_), 'sharedPrograms.prec.f2'(90,'sharedPrograms.X.c0')).  % added \ djd
'sharedPrograms.cLPrec.p2'('metaDefs.->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.<-''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.<-''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.<->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.<->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.some.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.some.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.all.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'~sharedPrograms.cLPrec.p2'('metaDefs.all.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.X.c0')).
'sharedPrograms.cLPrec.p2'('metaDefs.commit.f2'(_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.commit.f2'(_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.iSTE.f4'(_,_,_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.iSTE.f4'(_,_,_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.iST.f3'(_,_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.iST.f3'(_,_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.iTE.f3'(_,_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.iTE.f3'(_,_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cLPrec.p2'('metaDefs.iT.f2'(_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cLPrec.p2'('metaDefs.iT.f2'(_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.bindsTighter.p2'('sharedPrograms.infinity.c0', _).
'~sharedPrograms.bindsTighter.p2'('sharedPrograms.infinity.c0', _).
'sharedPrograms.bindsTighter.p2'('sharedPrograms.prec.f2'(A,B), 'sharedPrograms.prec.f2'(C,D)) :-
        call_residue(A=C, E),
        (   E=[] ->
            !
        ;   user:release_suspended(E)
        ),
        B='sharedPrograms.X.c0',
        D='sharedPrograms.Y.c0'.
'~sharedPrograms.bindsTighter.p2'('sharedPrograms.prec.f2'(A,B), 'sharedPrograms.prec.f2'(C,D)) :-
        A=C,
        B='sharedPrograms.X.c0',
        D='sharedPrograms.Y.c0'.
'sharedPrograms.bindsTighter.p2'('sharedPrograms.prec.f2'(A,_), 'sharedPrograms.prec.f2'(B,_)) :-
        call_residue('integers':'integers.>.p2'(A,B), C),
        (   C=[] ->
            !
        ;   user:release_suspended(C)
        ).
'~sharedPrograms.bindsTighter.p2'('sharedPrograms.prec.f2'(A,_), 'sharedPrograms.prec.f2'(B,_)) :-
        'integers':'~integers.>.p2'(A, B).
'sharedPrograms.cRPrec.p2'('metaDefs.empty.c0', 'sharedPrograms.infinity.c0').
'~sharedPrograms.cRPrec.p2'('metaDefs.empty.c0', 'sharedPrograms.infinity.c0').
'sharedPrograms.cRPrec.p2'('metaDefs.pAtom.f1'(_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cRPrec.p2'('metaDefs.pAtom.f1'(_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cRPrec.p2'('metaDefs.atom.f2'(_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cRPrec.p2'('metaDefs.atom.f2'(_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cRPrec.p2'('metaDefs.~''.f1'(_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.~''.f1'(_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.&''.f2'(_,_), 'sharedPrograms.prec.f2'(100,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.&''.f2'(_,_), 'sharedPrograms.prec.f2'(100,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.\\/''.f2'(_,_), 'sharedPrograms.prec.f2'(90,'sharedPrograms.Y.c0')).  % added \ djd
'~sharedPrograms.cRPrec.p2'('metaDefs.\\/''.f2'(_,_), 'sharedPrograms.prec.f2'(90,'sharedPrograms.Y.c0')).  % added \ djd
'sharedPrograms.cRPrec.p2'('metaDefs.->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.<-''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.<-''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.<->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.<->''.f2'(_,_), 'sharedPrograms.prec.f2'(80,'sharedPrograms.X.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.some.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.some.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.all.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.all.f2'(_,_), 'sharedPrograms.prec.f2'(120,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.commit.f2'(_,_), 'sharedPrograms.infinity.c0').
'~sharedPrograms.cRPrec.p2'('metaDefs.commit.f2'(_,_), 'sharedPrograms.infinity.c0').
'sharedPrograms.cRPrec.p2'('metaDefs.iSTE.f4'(_,_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.iSTE.f4'(_,_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.iST.f3'(_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.iST.f3'(_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.iTE.f3'(_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.iTE.f3'(_,_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'sharedPrograms.cRPrec.p2'('metaDefs.iT.f2'(_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'~sharedPrograms.cRPrec.p2'('metaDefs.iT.f2'(_,_), 'sharedPrograms.prec.f2'(70,'sharedPrograms.Y.c0')).
'sharedPrograms.emptyCategoryTable.p1'('progDefs.categories.f2'(A,A)) :-
        'avlTrees':'avlTrees.avlIsEmpty.p1'(A).
'~sharedPrograms.emptyCategoryTable.p1'('progDefs.categories.f2'(A,A)) :-
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(A).
'sharedPrograms.constantInLanguage.p3'(A, B, C) :-
        'sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.constantDecl.f1'(C)).
'~sharedPrograms.constantInLanguage.p3'(A, B, C) :-
        '~sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.constantDecl.f1'(C)).
'sharedPrograms.checkHeadArgs1.p4'([], _, _, []).
'~sharedPrograms.checkHeadArgs1.p4'([], _, _, []).
'sharedPrograms.checkHeadArgs1.p4'([A|B], [C|D], [E|F], G) :-
        'sharedPrograms.variantTypes.p4'(A, C, E, H),
        'lists':'lists.append.p3'(H, I, G),
        'sharedPrograms.checkHeadArgs1.p4'(B, D, F, I).
'~sharedPrograms.checkHeadArgs1.p4'([A|B], [C|D], [E|F], G) :-
        '~sharedPrograms.variantTypes.p4'(A, C, E, H),
        'lists':'~lists.append.p3'(H, I, G),
        '~sharedPrograms.checkHeadArgs1.p4'(B, D, F, I).
'sharedPrograms.checkHeadArgs.p4'('metaDefs.pAtom.f1'(_), _, _, []).
'~sharedPrograms.checkHeadArgs.p4'('metaDefs.pAtom.f1'(_), _, _, []).
'sharedPrograms.checkHeadArgs.p4'('metaDefs.atom.f2'(A,B), C, D, E) :-
        'sharedPrograms.predicateInLanguage.p4'(A, D, _, F),
        'sharedPrograms.meltTypeList.p4'(F, [], _, G),
        'sharedPrograms.checkHeadArgs1.p4'(G, C, B, E).
'~sharedPrograms.checkHeadArgs.p4'('metaDefs.atom.f2'(A,B), C, D, E) :-
        '~sharedPrograms.predicateInLanguage.p4'(A, D, _, F),
        '~sharedPrograms.meltTypeList.p4'(F, [], _, G),
        '~sharedPrograms.checkHeadArgs1.p4'(G, C, B, E).
'sharedPrograms.conditionToIntDL.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), (A='progDefs.and.f2'(_,_),true->'sharedPrograms':'sharedPrograms.andSeqToIntDL.p3'(A,B,C);user:goedel_freeze(ground([A]),(A='progDefs.or.f2'(_,_),true->'sharedPrograms':'sharedPrograms.orSeqToIntDL.p3'(A,B,C);'sharedPrograms':'sharedPrograms.simpleCondToIntDL.p3'(A,B,C))))).
'~sharedPrograms.conditionToIntDL.p3'(A, B, C) :-
        user:goedel_freeze(ground([A]), (A='progDefs.and.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.andSeqToIntDL.p3'(A,B,C);user:goedel_freeze(ground([A]),(A='progDefs.or.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.orSeqToIntDL.p3'(A,B,C);'sharedPrograms':'~sharedPrograms.simpleCondToIntDL.p3'(A,B,C))))).
'sharedPrograms.cookRationalTerm.p2'(A, B) :-
        user:goedel_freeze(ground([A]), ('integers':'~integers.<.p2'(A,0),true->('integers':negative(A,D),C=D),B='metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"-','metaDefs.function.c0',1),['metaDefs.int.f1'(C)]);B='metaDefs.int.f1'(A))).
'~sharedPrograms.cookRationalTerm.p2'(A, B) :-
        user:goedel_freeze(ground([A]), ('integers':'~integers.<.p2'(A,0),true->('integers':negative(A,D),C=D),B='metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"-','metaDefs.function.c0',1),['metaDefs.int.f1'(C)]);B='metaDefs.int.f1'(A))).
'sharedPrograms.constructorInLanguage.p3'(A, B, C) :-
        'sharedPrograms.typeSymbolInLanguage.p3'(A, B, 'progDefs.constructorDecl.f1'(C)).
'~sharedPrograms.constructorInLanguage.p3'(A, B, C) :-
        '~sharedPrograms.typeSymbolInLanguage.p3'(A, B, 'progDefs.constructorDecl.f1'(C)).
'sharedPrograms.constantToIntDL.p4'('metaDefs.name.f4'(A,B,C,_), D, E, F) :-
        user:goedel_freeze(ground([C,A,B]), ((A='"Lists',B='"Nil',C='metaDefs.constant.c0'),true->D='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"[',E,G),'sharedPrograms':'sharedPrograms.charDL.p3'('"]',G,F);user:goedel_freeze(ground([C,A,B]),((A='"Sets',B='"Null',C='metaDefs.constant.c0'),true->D='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"{',E,G),'sharedPrograms':'sharedPrograms.charDL.p3'('"}',G,F);'sharedPrograms':'sharedPrograms.classifyToken.p2'(B,D),'strings':'strings.stringInts.p2'(B,H),'lists':'lists.append.p3'(H,F,E))))).
'~sharedPrograms.constantToIntDL.p4'('metaDefs.name.f4'(A,B,C,_), D, E, F) :-
        user:goedel_freeze(ground([C,A,B]), ((A='"Lists',B='"Nil',C='metaDefs.constant.c0'),true->D='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"[',E,G),'sharedPrograms':'~sharedPrograms.charDL.p3'('"]',G,F);user:goedel_freeze(ground([C,A,B]),((A='"Sets',B='"Null',C='metaDefs.constant.c0'),true->D='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"{',E,G),'sharedPrograms':'~sharedPrograms.charDL.p3'('"}',G,F);'sharedPrograms':'~sharedPrograms.classifyToken.p2'(B,D),'strings':'~strings.stringInts.p2'(B,H),'lists':'~lists.append.p3'(H,F,E))))).
'sharedPrograms.containsConditional.p1'('metaDefs.iSTE.f4'(_,_,_,_)).
'~sharedPrograms.containsConditional.p1'('metaDefs.iSTE.f4'(_,_,_,_)).
'sharedPrograms.containsConditional.p1'('metaDefs.iST.f3'(_,_,_)).
'~sharedPrograms.containsConditional.p1'('metaDefs.iST.f3'(_,_,_)).
'sharedPrograms.containsConditional.p1'('metaDefs.iTE.f3'(_,_,_)).
'~sharedPrograms.containsConditional.p1'('metaDefs.iTE.f3'(_,_,_)).
'sharedPrograms.containsConditional.p1'('metaDefs.iT.f2'(_,_)).
'~sharedPrograms.containsConditional.p1'('metaDefs.iT.f2'(_,_)).
'sharedPrograms.containsConditional.p1'('metaDefs.&''.f2'(A,B)) :-
        user:one_solution(('sharedPrograms':'sharedPrograms.containsConditional.p1'(A);'sharedPrograms':'sharedPrograms.containsConditional.p1'(B))).
'~sharedPrograms.containsConditional.p1'('metaDefs.&''.f2'(A,B)) :-
        (   '~sharedPrograms.containsConditional.p1'(A)
        ;   '~sharedPrograms.containsConditional.p1'(B)
        ).
'sharedPrograms.divideBindings.p4'([], A, A, []).
'~sharedPrograms.divideBindings.p4'([], A, A, []).
'sharedPrograms.divideBindings.p4'([A|B], C, D, E) :-
        'sharedPrograms.isVariable.p1'(A),
        'sharedPrograms.divideBindingsAux.p5'(C, A, F, E, G),
        'sharedPrograms.divideBindings.p4'(B, F, D, G).
'~sharedPrograms.divideBindings.p4'([A|B], C, D, E) :-
        '~sharedPrograms.isVariable.p1'(A),
        '~sharedPrograms.divideBindingsAux.p5'(C, A, F, E, G),
        '~sharedPrograms.divideBindings.p4'(B, F, D, G).
'sharedPrograms.deleteUnderscores.p2'([], []).
'~sharedPrograms.deleteUnderscores.p2'([], []).
'sharedPrograms.deleteUnderscores.p2'([A|B], C) :-
        user:goedel_freeze(ground([A]), (('strings':concat('"_',_,D),A='metaDefs.var.f2'(D,_)),true->C=E;C=[A|E])),
        'sharedPrograms.deleteUnderscores.p2'(B, E).
'~sharedPrograms.deleteUnderscores.p2'([A|B], C) :-
        user:goedel_freeze(ground([A]), (('strings':concat('"_',_,D),A='metaDefs.var.f2'(D,_)),true->C=E;C=[A|E])),
        '~sharedPrograms.deleteUnderscores.p2'(B, E).
'sharedPrograms.divideBindingsAux.p5'([], _, [], A, A).
'~sharedPrograms.divideBindingsAux.p5'([], _, [], A, A).
'sharedPrograms.divideBindingsAux.p5'(['metaDefs.@.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->F=['metaDefs.@.f2'(B,C)|G],E=A;E=['metaDefs.@.f2'(B,C)|H],'sharedPrograms':'sharedPrograms.divideBindingsAux.p5'(A,D,H,F,G))).
'~sharedPrograms.divideBindingsAux.p5'(['metaDefs.@.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->F=['metaDefs.@.f2'(B,C)|G],E=A;E=['metaDefs.@.f2'(B,C)|H],'sharedPrograms':'~sharedPrograms.divideBindingsAux.p5'(A,D,H,F,G))).
'sharedPrograms.formulaInLanguage.p4'(A, B, 'metaDefs.varTyping.f1'(C), 'metaDefs.varTyping.f1'(D)) :-
        'sharedPrograms.meltVariableTyping.p4'(C, B, [], E),
        'sharedPrograms.meltedFormulaTyping.p8'(A, B, E, D, _, [], [], []),
        'sharedPrograms.fixVariableTyping.p2'(D, 0).
'~sharedPrograms.formulaInLanguage.p4'(A, B, 'metaDefs.varTyping.f1'(C), 'metaDefs.varTyping.f1'(D)) :-
        '~sharedPrograms.meltVariableTyping.p4'(C, B, [], E),
        '~sharedPrograms.meltedFormulaTyping.p8'(A, B, E, D, _, [], [], []),
        '~sharedPrograms.fixVariableTyping.p2'(D, 0).
'sharedPrograms.exportLanguage.p3'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),_), C, 'progDefs.language.f1'(D)) :-
        'sharedPrograms.emptyLanguage.p1'('progDefs.language.f1'(E)),
        'sharedPrograms.importedLanguage.p6'([C], A, B, [], E, D).
'~sharedPrograms.exportLanguage.p3'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),_), C, 'progDefs.language.f1'(D)) :-
        '~sharedPrograms.emptyLanguage.p1'('progDefs.language.f1'(E)),
        '~sharedPrograms.importedLanguage.p6'([C], A, B, [], E, D).
'sharedPrograms.expandString.p3'(A, B, C) :-
        'sharedPrograms.charDL.p3'('""', B, D),
        'sharedPrograms.expandStringAux.p3'(A, D, C).
'~sharedPrograms.expandString.p3'(A, B, C) :-
        '~sharedPrograms.charDL.p3'('""', B, D),
        '~sharedPrograms.expandStringAux.p3'(A, D, C).
'sharedPrograms.emptyLanguage.p1'(A) :-
        'avlTrees':'avlTrees.avlIsEmpty.p1'(B),
        'sharedPrograms.initialiseLanguage.p2'('progDefs.language.f1'(B), A).
'~sharedPrograms.emptyLanguage.p1'(A) :-
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(B),
        '~sharedPrograms.initialiseLanguage.p2'('progDefs.language.f1'(B), A).
'sharedPrograms.expandStringAux.p3'([], A, B) :-
        'sharedPrograms.charDL.p3'('""', A, B).
'~sharedPrograms.expandStringAux.p3'([], A, B) :-
        '~sharedPrograms.charDL.p3'('""', A, B).
'sharedPrograms.expandStringAux.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([A]), (A=34,true->'sharedPrograms':'sharedPrograms.charDL.p3'('"\\',C,E),'sharedPrograms':'sharedPrograms.charDL.p3'('""',E,F);user:goedel_freeze(ground([A]),(A=92,true->'sharedPrograms':'sharedPrograms.charDL.p3'('"\\',C,E),'sharedPrograms':'sharedPrograms.charDL.p3'('"\\',E,F);C=[A|F])))), %% added 3 \ djd
        'sharedPrograms.expandStringAux.p3'(B, F, D).
'~sharedPrograms.expandStringAux.p3'([A|B], C, D) :-
        user:goedel_freeze(ground([A]), (A=34,true->'sharedPrograms':'~sharedPrograms.charDL.p3'('"\\',C,E),'sharedPrograms':'~sharedPrograms.charDL.p3'('""',E,F);user:goedel_freeze(ground([A]),(A=92,true->'sharedPrograms':'~sharedPrograms.charDL.p3'('"\\',C,E),'sharedPrograms':'~sharedPrograms.charDL.p3'('"\\',E,F);C=[A|F])))),  %% added 3 \ djd
        '~sharedPrograms.expandStringAux.p3'(B, F, D).
'sharedPrograms.fixVariableTyping.p2'([], _).
'~sharedPrograms.fixVariableTyping.p2'([], _).
'sharedPrograms.fixVariableTyping.p2'(['metaDefs.@.f2'(_,B)|A], C) :-
        'sharedPrograms.fixType.p3'(B, C, D),
        'sharedPrograms.fixVariableTyping.p2'(A, D).
'~sharedPrograms.fixVariableTyping.p2'(['metaDefs.@.f2'(_,B)|A], C) :-
        '~sharedPrograms.fixType.p3'(B, C, D),
        '~sharedPrograms.fixVariableTyping.p2'(A, D).
'sharedPrograms.functionInLanguage.p5'(A, B, C, D, E) :-
        'sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.functionDecl.f4'(_,C,D,E)).
'~sharedPrograms.functionInLanguage.p5'(A, B, C, D, E) :-
        '~sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.functionDecl.f4'(_,C,D,E)).
'sharedPrograms.formulaToIntList.p4'(A, B, C, D) :-
        'sharedPrograms.programLanguage.p2'(A, E),
        'sharedPrograms.moduleLanguage.p3'(A, B, F),
        'sharedPrograms.formulaInLanguage.p4'(C, E, 'metaDefs.varTyping.f1'([]), 'metaDefs.varTyping.f1'(G)),
        'sharedPrograms.formulaToIntDL.p6'(C, F, E, G, D, []).
'~sharedPrograms.formulaToIntList.p4'(A, B, C, D) :-
        '~sharedPrograms.programLanguage.p2'(A, E),
        '~sharedPrograms.moduleLanguage.p3'(A, B, F),
        '~sharedPrograms.formulaInLanguage.p4'(C, E, 'metaDefs.varTyping.f1'([]), 'metaDefs.varTyping.f1'(G)),
        '~sharedPrograms.formulaToIntDL.p6'(C, F, E, G, D, []).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.empty.c0', _, _, _, A, A).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.empty.c0', _, _, _, A, A).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.pAtom.f1'(A), B, _, _, C, D) :-
        'sharedPrograms.propositionInLanguage.p2'(A, B),
        A='metaDefs.name.f4'(_,E,_,_),
        'strings':'strings.stringInts.p2'(E, F),
        'lists':'lists.append.p3'(F, D, C).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.pAtom.f1'(A), B, _, _, C, D) :-
        '~sharedPrograms.propositionInLanguage.p2'(A, B),
        A='metaDefs.name.f4'(_,E,_,_),
        'strings':'~strings.stringInts.p2'(E, F),
        'lists':'~lists.append.p3'(F, D, C).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.atom.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.predicateInLanguage.p4'(A, C, H, _),
        'sharedPrograms.atomToIntDL.p8'(H, A, B, C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.atom.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.predicateInLanguage.p4'(A, C, H, _),
        '~sharedPrograms.atomToIntDL.p8'(H, A, B, C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.~''.f1'(A), B, C, D, E, F) :-
        'sharedPrograms.charDL.p3'('"~', E, G),
        'sharedPrograms.formulaToIntDL.p6'(A, B, C, D, H, I),
        user:goedel_freeze(ground([A]), (('sharedPrograms':'~sharedPrograms.cLPrec.p2'(A,J),'sharedPrograms':'~sharedPrograms.cRPrec.p2'('metaDefs.~''.f1'(_),K),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(J,K)),true->G=H,F=I;'sharedPrograms':'sharedPrograms.charDL.p3'('"(',G,H),'sharedPrograms':'sharedPrograms.charDL.p3'('")',I,F))).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.~''.f1'(A), B, C, D, E, F) :-
        '~sharedPrograms.charDL.p3'('"~', E, G),
        '~sharedPrograms.formulaToIntDL.p6'(A, B, C, D, H, I),
        user:goedel_freeze(ground([A]), (('sharedPrograms':'~sharedPrograms.cLPrec.p2'(A,J),'sharedPrograms':'~sharedPrograms.cRPrec.p2'('metaDefs.~''.f1'(_),K),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(J,K)),true->G=H,F=I;'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',G,H),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',I,F))).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.&''.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G) :- % added \ djd
        'sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G). % added \ djd
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G) :- % added \ djd
        '~sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.\\/''.f2'(A,B), C, D, E, F, G). % added \ djd
'sharedPrograms.formulaToIntDL.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.->''.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.<-''.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.binaryFormulaToIntDL.p6'('metaDefs.<->''.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.all.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.quantifiedFormulaToIntDL.p6'('metaDefs.all.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.all.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.quantifiedFormulaToIntDL.p6'('metaDefs.all.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.quantifiedFormulaToIntDL.p6'('metaDefs.some.f2'(A,B), C, D, E, F, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.quantifiedFormulaToIntDL.p6'('metaDefs.some.f2'(A,B), C, D, E, F, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, I) :-
        'strings':'strings.stringInts.p2'('"IF ', J),
        'lists':'lists.append.p3'(J, K, H),
        'sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), E, F, G, K, L),
        'strings':'strings.stringInts.p2'('" THEN ', M),
        'lists':'lists.append.p3'(M, N, L),
        'sharedPrograms.thenPartToIntDL.p6'(C, E, F, G, N, O),
        'strings':'strings.stringInts.p2'('" ELSE ', P),
        'lists':'lists.append.p3'(P, Q, O),
        'sharedPrograms.formulaToIntDL.p6'(D, E, F, G, Q, I).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, H, I) :-
        'strings':'~strings.stringInts.p2'('"IF ', J),
        'lists':'~lists.append.p3'(J, K, H),
        '~sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), E, F, G, K, L),
        'strings':'~strings.stringInts.p2'('" THEN ', M),
        'lists':'~lists.append.p3'(M, N, L),
        '~sharedPrograms.thenPartToIntDL.p6'(C, E, F, G, N, O),
        'strings':'~strings.stringInts.p2'('" ELSE ', P),
        'lists':'~lists.append.p3'(P, Q, O),
        '~sharedPrograms.formulaToIntDL.p6'(D, E, F, G, Q, I).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, H) :-
        'strings':'strings.stringInts.p2'('"IF ', I),
        'lists':'lists.append.p3'(I, J, G),
        'sharedPrograms.formulaToIntDL.p6'(A, D, E, F, K, L),
        user:goedel_freeze(ground([A]), (A='metaDefs.some.f2'(_,_),true->'sharedPrograms':'sharedPrograms.charDL.p3'('"(',J,K),'sharedPrograms':'sharedPrograms.charDL.p3'('")',L,M);J=K,M=L)),
        'strings':'strings.stringInts.p2'('" THEN ', N),
        'lists':'lists.append.p3'(N, O, M),
        'sharedPrograms.thenPartToIntDL.p6'(B, D, E, F, O, P),
        'strings':'strings.stringInts.p2'('" ELSE ', Q),
        'lists':'lists.append.p3'(Q, R, P),
        'sharedPrograms.formulaToIntDL.p6'(C, D, E, F, R, H).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.iTE.f3'(A,B,C), D, E, F, G, H) :-
        'strings':'~strings.stringInts.p2'('"IF ', I),
        'lists':'~lists.append.p3'(I, J, G),
        '~sharedPrograms.formulaToIntDL.p6'(A, D, E, F, K, L),
        user:goedel_freeze(ground([A]), (A='metaDefs.some.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',J,K),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',L,M);J=K,M=L)),
        'strings':'~strings.stringInts.p2'('" THEN ', N),
        'lists':'~lists.append.p3'(N, O, M),
        '~sharedPrograms.thenPartToIntDL.p6'(B, D, E, F, O, P),
        'strings':'~strings.stringInts.p2'('" ELSE ', Q),
        'lists':'~lists.append.p3'(Q, R, P),
        '~sharedPrograms.formulaToIntDL.p6'(C, D, E, F, R, H).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.iST.f3'(A,B,C), D, E, F, G, H) :-
        'strings':'strings.stringInts.p2'('"IF ', I),
        'lists':'lists.append.p3'(I, J, G),
        'sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), D, E, F, J, K),
        'strings':'strings.stringInts.p2'('" THEN ', L),
        'lists':'lists.append.p3'(L, M, K),
        'sharedPrograms.thenPartToIntDL.p6'(C, D, E, F, M, H).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.iST.f3'(A,B,C), D, E, F, G, H) :-
        'strings':'~strings.stringInts.p2'('"IF ', I),
        'lists':'~lists.append.p3'(I, J, G),
        '~sharedPrograms.formulaToIntDL.p6'('metaDefs.some.f2'(A,B), D, E, F, J, K),
        'strings':'~strings.stringInts.p2'('" THEN ', L),
        'lists':'~lists.append.p3'(L, M, K),
        '~sharedPrograms.thenPartToIntDL.p6'(C, D, E, F, M, H).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.iT.f2'(A,B), C, D, E, F, G) :-
        'strings':'strings.stringInts.p2'('"IF ', H),
        'lists':'lists.append.p3'(H, I, F),
        'sharedPrograms.formulaToIntDL.p6'(A, C, D, E, J, K),
        user:goedel_freeze(ground([A]), (A='metaDefs.some.f2'(_,_),true->'sharedPrograms':'sharedPrograms.charDL.p3'('"(',I,J),'sharedPrograms':'sharedPrograms.charDL.p3'('")',K,L);I=J,L=K)),
        'strings':'strings.stringInts.p2'('" THEN ', M),
        'lists':'lists.append.p3'(M, N, L),
        'sharedPrograms.thenPartToIntDL.p6'(B, C, D, E, N, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.iT.f2'(A,B), C, D, E, F, G) :-
        'strings':'~strings.stringInts.p2'('"IF ', H),
        'lists':'~lists.append.p3'(H, I, F),
        '~sharedPrograms.formulaToIntDL.p6'(A, C, D, E, J, K),
        user:goedel_freeze(ground([A]), (A='metaDefs.some.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',I,J),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',K,L);I=J,L=K)),
        'strings':'~strings.stringInts.p2'('" THEN ', M),
        'lists':'~lists.append.p3'(M, N, L),
        '~sharedPrograms.thenPartToIntDL.p6'(B, C, D, E, N, G).
'sharedPrograms.formulaToIntDL.p6'('metaDefs.commit.f2'(A,B), C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('"{', F, H),
        'sharedPrograms.formulaToIntDL.p6'(B, C, D, E, H, I),
        'sharedPrograms.charDL.p3'('"}', I, J),
        'sharedPrograms.charDL.p3'('"_', J, K),
        'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(A, K, G).
'~sharedPrograms.formulaToIntDL.p6'('metaDefs.commit.f2'(A,B), C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('"{', F, H),
        '~sharedPrograms.formulaToIntDL.p6'(B, C, D, E, H, I),
        '~sharedPrograms.charDL.p3'('"}', I, J),
        '~sharedPrograms.charDL.p3'('"_', J, K),
        'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(A, K, G).
'sharedPrograms.importedLanguage.p6'([], _, _, _, A, A).
'~sharedPrograms.importedLanguage.p6'([], _, _, _, A, A).
'sharedPrograms.importedLanguage.p6'([A|B], C, D, E, F, G) :-
        user:goedel_freeze(ground([A,E]), ('lists':'~lists.member.p2'(A,E),true->H=F,I=E,J=B;I=[A|E],user:goedel_freeze(ground([D,A]),if(('avlTrees':'~avlTrees.avlSearch.p3'(D,A,'progDefs.module.f3'(_,K,L)),true),('avlTrees':'avlTrees.avlAmend.p6'(F,A,'progDefs.module.f3'('progDefs.exported.c0',K,[]),_,M,_),'sharedPrograms':'sharedPrograms.addLiftedLanguage.p4'(L,I,M,H)),('sharedPrograms':'sharedPrograms.emptyCategoryTable.p1'(N),'avlTrees':'avlTrees.avlAmend.p6'(F,A,'progDefs.module.f3'('progDefs.exported.c0',N,[]),_,H,_)))),'avlTrees':'avlTrees.avlSearch.p3'(C,A,'progDefs.modDef.f4'(_,O,_,_)),'lists':'lists.append.p3'(O,B,J))),
        'sharedPrograms.importedLanguage.p6'(J, C, D, I, H, G).
'~sharedPrograms.importedLanguage.p6'([A|B], C, D, E, F, G) :-
        user:goedel_freeze(ground([A,E]), ('lists':'~lists.member.p2'(A,E),true->H=F,I=E,J=B;I=[A|E],user:goedel_freeze(ground([D,A]),if(('avlTrees':'~avlTrees.avlSearch.p3'(D,A,'progDefs.module.f3'(_,K,L)),true),('avlTrees':'~avlTrees.avlAmend.p6'(F,A,'progDefs.module.f3'('progDefs.exported.c0',K,[]),_,M,_),'sharedPrograms':'~sharedPrograms.addLiftedLanguage.p4'(L,I,M,H)),('sharedPrograms':'~sharedPrograms.emptyCategoryTable.p1'(N),'avlTrees':'~avlTrees.avlAmend.p6'(F,A,'progDefs.module.f3'('progDefs.exported.c0',N,[]),_,H,_)))),'avlTrees':'~avlTrees.avlSearch.p3'(C,A,'progDefs.modDef.f4'(_,O,_,_)),'lists':'~lists.append.p3'(O,B,J))),
        '~sharedPrograms.importedLanguage.p6'(J, C, D, I, H, G).
'sharedPrograms.headAtom.p9'('metaDefs.pAtom.f1'(A), B, C, C, 'metaDefs.pAtom.f1'(A), D, D, [], []) :-
        'sharedPrograms.propositionInLanguage.p2'(A, B).
'~sharedPrograms.headAtom.p9'('metaDefs.pAtom.f1'(A), B, C, C, 'metaDefs.pAtom.f1'(A), D, D, [], []) :-
        '~sharedPrograms.propositionInLanguage.p2'(A, B).
'sharedPrograms.headAtom.p9'('metaDefs.atom.f2'(A,B), C, D, E, 'metaDefs.atom.f2'(A,F), G, H, I, J) :-
        'sharedPrograms.predicateInLanguage.p4'(A, C, _, K),
        'sharedPrograms.meltTypeList.p4'(K, [], _, I),
        'sharedPrograms.meltedArgumentTyping.p9'(I, B, C, D, E, F, G, H, J).
'~sharedPrograms.headAtom.p9'('metaDefs.atom.f2'(A,B), C, D, E, 'metaDefs.atom.f2'(A,F), G, H, I, J) :-
        '~sharedPrograms.predicateInLanguage.p4'(A, C, _, K),
        '~sharedPrograms.meltTypeList.p4'(K, [], _, I),
        '~sharedPrograms.meltedArgumentTyping.p9'(I, B, C, D, E, F, G, H, J).
'sharedPrograms.matchingDescriptor.p5'('progDefs.symbol.f2'(A,B), C, D, E, B) :-
        'sharedPrograms.accessible.p2'(C, A),
        'sharedPrograms.matchingName.p3'(B, D, E).
'~sharedPrograms.matchingDescriptor.p5'('progDefs.symbol.f2'(A,B), C, D, E, B) :-
        '~sharedPrograms.accessible.p2'(C, A),
        '~sharedPrograms.matchingName.p3'(B, D, E).
'sharedPrograms.kindHasPart.p2'('progDefs.moduleKind.c0', 'progDefs.module.c0').
'~sharedPrograms.kindHasPart.p2'('progDefs.moduleKind.c0', 'progDefs.module.c0').
'sharedPrograms.kindHasPart.p2'('progDefs.normalKind.c0', A) :-
        'sharedPrograms.findMember.p2'(A, ['progDefs.export.c0','progDefs.local.c0']).
'~sharedPrograms.kindHasPart.p2'('progDefs.normalKind.c0', A) :-
        '~sharedPrograms.findMember.p2'(A, ['progDefs.export.c0','progDefs.local.c0']).
'sharedPrograms.kindHasPart.p2'('progDefs.closedKind.c0', 'progDefs.closed.c0').
'~sharedPrograms.kindHasPart.p2'('progDefs.closedKind.c0', 'progDefs.closed.c0').
'sharedPrograms.insertTypeSymbol.p5'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F, G, 'progDefs.language.f1'(H)) :-
        'avlTrees':'avlTrees.avlIsEmpty.p1'(I),
        'avlTrees':'avlTrees.avlIsEmpty.p1'(J),
        'avlTrees':'avlTrees.avlAmend.p6'(E, A, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,M),N), 'progDefs.module.f3'('progDefs.hidden.c0','progDefs.categories.f2'(I,J),[]), H, 'progDefs.module.f3'(K,'progDefs.categories.f2'(O,M),N)),
        'avlTrees':'avlTrees.avlAmend.p6'(O, B, P, [], L, Q),
        'sharedPrograms.matchingName.p3'(G, C, D),
        'sharedPrograms.addToDescriptorList.p6'(Q, K, C, D, 'progDefs.symbol.f2'(F,G), P).
'~sharedPrograms.insertTypeSymbol.p5'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F, G, 'progDefs.language.f1'(H)) :-
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(I),
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(J),
        'avlTrees':'~avlTrees.avlAmend.p6'(E, A, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,M),N), 'progDefs.module.f3'('progDefs.hidden.c0','progDefs.categories.f2'(I,J),[]), H, 'progDefs.module.f3'(K,'progDefs.categories.f2'(O,M),N)),
        'avlTrees':'~avlTrees.avlAmend.p6'(O, B, P, [], L, Q),
        '~sharedPrograms.matchingName.p3'(G, C, D),
        '~sharedPrograms.addToDescriptorList.p6'(Q, K, C, D, 'progDefs.symbol.f2'(F,G), P).
'sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F, G, 'progDefs.language.f1'(H)) :-
        'avlTrees':'avlTrees.avlIsEmpty.p1'(I),
        'avlTrees':'avlTrees.avlIsEmpty.p1'(J),
        'avlTrees':'avlTrees.avlAmend.p6'(E, A, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,M),N), 'progDefs.module.f3'('progDefs.hidden.c0','progDefs.categories.f2'(I,J),[]), H, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,O),N)),
        'avlTrees':'avlTrees.avlAmend.p6'(O, B, P, [], M, Q),
        'sharedPrograms.matchingName.p3'(G, C, D),
        'sharedPrograms.addToDescriptorList.p6'(Q, K, C, D, 'progDefs.symbol.f2'(F,G), P).
'~sharedPrograms.insertSymbol.p5'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F, G, 'progDefs.language.f1'(H)) :-
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(I),
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(J),
        'avlTrees':'~avlTrees.avlAmend.p6'(E, A, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,M),N), 'progDefs.module.f3'('progDefs.hidden.c0','progDefs.categories.f2'(I,J),[]), H, 'progDefs.module.f3'(K,'progDefs.categories.f2'(L,O),N)),
        'avlTrees':'~avlTrees.avlAmend.p6'(O, B, P, [], M, Q),
        '~sharedPrograms.matchingName.p3'(G, C, D),
        '~sharedPrograms.addToDescriptorList.p6'(Q, K, C, D, 'progDefs.symbol.f2'(F,G), P).
'sharedPrograms.isVariable.p1'('metaDefs.var.f2'(_,_)).
'~sharedPrograms.isVariable.p1'('metaDefs.var.f2'(_,_)).
'sharedPrograms.isVariable.p1'('metaDefs.var.f1'(_)).
'~sharedPrograms.isVariable.p1'('metaDefs.var.f1'(_)).
'sharedPrograms.lookupParDict.p4'(A, B, C, D) :-
        'sharedPrograms.lookupParDictAux.p5'(A, B, A, C, D).
'~sharedPrograms.lookupParDict.p4'(A, B, C, D) :-
        '~sharedPrograms.lookupParDictAux.p5'(A, B, A, C, D).
'sharedPrograms.listExprToIntDL.p6'([A,B], C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('"[', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, J),
        'sharedPrograms.charDL.p3'('"]', J, G).
'~sharedPrograms.listExprToIntDL.p6'([A,B], C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('"[', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, J),
        '~sharedPrograms.charDL.p3'('"]', J, G).
'sharedPrograms.lPrec.p2'('syntax.noFunctInd.c0', 'sharedPrograms.infinity.c0').
'~sharedPrograms.lPrec.p2'('syntax.noFunctInd.c0', 'sharedPrograms.infinity.c0').
'sharedPrograms.lPrec.p2'('syntax.xFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.lPrec.p2'('syntax.xFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.lPrec.p2'('syntax.xFY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.lPrec.p2'('syntax.xFY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.lPrec.p2'('syntax.yFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'~sharedPrograms.lPrec.p2'('syntax.yFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'sharedPrograms.lPrec.p2'('syntax.fX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.lPrec.p2'('syntax.fX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.lPrec.p2'('syntax.fY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.lPrec.p2'('syntax.fY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.lPrec.p2'('syntax.xF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.lPrec.p2'('syntax.xF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.lPrec.p2'('syntax.yF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'~sharedPrograms.lPrec.p2'('syntax.yF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'sharedPrograms.listTypesInLanguage.p2'([], _).
'~sharedPrograms.listTypesInLanguage.p2'([], _).
'sharedPrograms.listTypesInLanguage.p2'([A|B], C) :-
        'sharedPrograms.typeInLanguage.p2'(A, C),
        'sharedPrograms.listTypesInLanguage.p2'(B, C).
'~sharedPrograms.listTypesInLanguage.p2'([A|B], C) :-
        '~sharedPrograms.typeInLanguage.p2'(A, C),
        '~sharedPrograms.listTypesInLanguage.p2'(B, C).
'sharedPrograms.lookupVarTyping.p4'(A, B, C, D) :-
        'sharedPrograms.lookupVarTypingAux.p5'(A, B, A, C, D).
'~sharedPrograms.lookupVarTyping.p4'(A, B, C, D) :-
        '~sharedPrograms.lookupVarTypingAux.p5'(A, B, A, C, D).
'sharedPrograms.lookupParDictAux.p5'([], A, B, ['metaDefs.!.f2'(A,C)|B], C).
'~sharedPrograms.lookupParDictAux.p5'([], A, B, ['metaDefs.!.f2'(A,C)|B], C).
'sharedPrograms.lookupParDictAux.p5'(['metaDefs.!.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->G=C,F=E;'sharedPrograms':'sharedPrograms.lookupParDictAux.p5'(A,D,E,F,G))).
'~sharedPrograms.lookupParDictAux.p5'(['metaDefs.!.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->G=C,F=E;'sharedPrograms':'~sharedPrograms.lookupParDictAux.p5'(A,D,E,F,G))).
'sharedPrograms.lookupVarTypingAux.p5'([], A, B, ['metaDefs.@.f2'(A,C)|B], C).
'~sharedPrograms.lookupVarTypingAux.p5'([], A, B, ['metaDefs.@.f2'(A,C)|B], C).
'sharedPrograms.lookupVarTypingAux.p5'(['metaDefs.@.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->G=C,F=E;'sharedPrograms':'sharedPrograms.lookupVarTypingAux.p5'(A,D,E,F,G))).
'~sharedPrograms.lookupVarTypingAux.p5'(['metaDefs.@.f2'(B,C)|A], D, E, F, G) :-
        user:goedel_freeze(ground([B,D]), (D=B,true->G=C,F=E;'sharedPrograms':'~sharedPrograms.lookupVarTypingAux.p5'(A,D,E,F,G))).
'sharedPrograms.meltedFormulaTyping.p8'(A, B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A]), if((A='metaDefs.<-''.f2'(I,J),true),('sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(I,B,C,K,L,F,M,N),user:goedel_freeze(ground([N]),(N=[],true->'sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(J,B,K,D,O,M,G,H),E='metaDefs.<-''.f2'(L,O);H=N))),'sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(A,B,C,D,E,F,G,H))).
'~sharedPrograms.meltedFormulaTyping.p8'(A, B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A]), if((A='metaDefs.<-''.f2'(I,J),true),('sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(I,B,C,K,L,F,M,N),user:goedel_freeze(ground([N]),(N=[],true->'sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(J,B,K,D,O,M,G,H),E='metaDefs.<-''.f2'(L,O);H=N))),'sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(A,B,C,D,E,F,G,H))).
'sharedPrograms.meltVariableTyping.p4'([], _, _, []).
'~sharedPrograms.meltVariableTyping.p4'([], _, _, []).
'sharedPrograms.meltVariableTyping.p4'(['metaDefs.@.f2'(B,C)|A], D, E, ['metaDefs.@.f2'(B,G)|F]) :-
        'sharedPrograms.isVariable.p1'(B),
        'sharedPrograms.typeInLanguage.p2'(C, D),
        'sharedPrograms.meltType.p4'(C, E, H, G),
        'sharedPrograms.meltVariableTyping.p4'(A, D, H, F).
'~sharedPrograms.meltVariableTyping.p4'(['metaDefs.@.f2'(B,C)|A], D, E, ['metaDefs.@.f2'(B,G)|F]) :-
        '~sharedPrograms.isVariable.p1'(B),
        '~sharedPrograms.typeInLanguage.p2'(C, D),
        '~sharedPrograms.meltType.p4'(C, E, H, G),
        '~sharedPrograms.meltVariableTyping.p4'(A, D, H, F).
'sharedPrograms.meltType.p4'('metaDefs.par.f2'(A,B), C, D, E) :-
        'sharedPrograms.lookupParDict.p4'(C, 'metaDefs.par.f2'(A,B), D, E).
'~sharedPrograms.meltType.p4'('metaDefs.par.f2'(A,B), C, D, E) :-
        '~sharedPrograms.lookupParDict.p4'(C, 'metaDefs.par.f2'(A,B), D, E).
'sharedPrograms.meltType.p4'('metaDefs.par.f1'(A), B, C, D) :-
        'sharedPrograms.lookupParDict.p4'(B, 'metaDefs.par.f1'(A), C, D).
'~sharedPrograms.meltType.p4'('metaDefs.par.f1'(A), B, C, D) :-
        '~sharedPrograms.lookupParDict.p4'(B, 'metaDefs.par.f1'(A), C, D).
'sharedPrograms.meltType.p4'('metaDefs.bType.f1'(A), B, B, 'metaDefs.bType.f1'(A)).
'~sharedPrograms.meltType.p4'('metaDefs.bType.f1'(A), B, B, 'metaDefs.bType.f1'(A)).
'sharedPrograms.meltType.p4'('metaDefs.xBType.f1'(A), B, B, 'metaDefs.xBType.f1'(A)).
'~sharedPrograms.meltType.p4'('metaDefs.xBType.f1'(A), B, B, 'metaDefs.xBType.f1'(A)).
'sharedPrograms.meltType.p4'('metaDefs.type.f2'(A,B), C, D, 'metaDefs.type.f2'(A,E)) :-
        'sharedPrograms.meltTypeList.p4'(B, C, D, E).
'~sharedPrograms.meltType.p4'('metaDefs.type.f2'(A,B), C, D, 'metaDefs.type.f2'(A,E)) :-
        '~sharedPrograms.meltTypeList.p4'(B, C, D, E).
'sharedPrograms.meltType.p4'('metaDefs.xType.f2'(A,B), C, D, 'metaDefs.xType.f2'(A,E)) :-
        'sharedPrograms.meltTypeList.p4'(B, C, D, E).
'~sharedPrograms.meltType.p4'('metaDefs.xType.f2'(A,B), C, D, 'metaDefs.xType.f2'(A,E)) :-
        '~sharedPrograms.meltTypeList.p4'(B, C, D, E).
'sharedPrograms.matchingName.p3'('progDefs.baseDecl.c0', 'metaDefs.base.c0', 0).
'~sharedPrograms.matchingName.p3'('progDefs.baseDecl.c0', 'metaDefs.base.c0', 0).
'sharedPrograms.matchingName.p3'('progDefs.constructorDecl.f1'(A), 'metaDefs.constructor.c0', A).
'~sharedPrograms.matchingName.p3'('progDefs.constructorDecl.f1'(A), 'metaDefs.constructor.c0', A).
'sharedPrograms.matchingName.p3'('progDefs.constantDecl.f1'(_), 'metaDefs.constant.c0', 0).
'~sharedPrograms.matchingName.p3'('progDefs.constantDecl.f1'(_), 'metaDefs.constant.c0', 0).
'sharedPrograms.matchingName.p3'('progDefs.functionDecl.f4'(A,_,_,_), 'metaDefs.function.c0', A).
'~sharedPrograms.matchingName.p3'('progDefs.functionDecl.f4'(A,_,_,_), 'metaDefs.function.c0', A).
'sharedPrograms.matchingName.p3'('progDefs.propositionDecl.c0', 'metaDefs.proposition.c0', 0).
'~sharedPrograms.matchingName.p3'('progDefs.propositionDecl.c0', 'metaDefs.proposition.c0', 0).
'sharedPrograms.matchingName.p3'('progDefs.predicateDecl.f3'(A,_,_), 'metaDefs.predicate.c0', A).
'~sharedPrograms.matchingName.p3'('progDefs.predicateDecl.f3'(A,_,_), 'metaDefs.predicate.c0', A).
'sharedPrograms.meltTypeList.p4'([], A, A, []).
'~sharedPrograms.meltTypeList.p4'([], A, A, []).
'sharedPrograms.meltTypeList.p4'([A|B], C, D, [E|F]) :-
        'sharedPrograms.meltType.p4'(A, C, G, E),
        'sharedPrograms.meltTypeList.p4'(B, G, D, F).
'~sharedPrograms.meltTypeList.p4'([A|B], C, D, [E|F]) :-
        '~sharedPrograms.meltType.p4'(A, C, G, E),
        '~sharedPrograms.meltTypeList.p4'(B, G, D, F).
'sharedPrograms.meltedAtomTyping.p8'('metaDefs.pAtom.f1'(A), B, C, C, 'metaDefs.pAtom.f1'(A), D, D, []) :-
        'sharedPrograms.propositionInLanguage.p2'(A, B).
'~sharedPrograms.meltedAtomTyping.p8'('metaDefs.pAtom.f1'(A), B, C, C, 'metaDefs.pAtom.f1'(A), D, D, []) :-
        '~sharedPrograms.propositionInLanguage.p2'(A, B).
'sharedPrograms.meltedAtomTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, C, 'metaDefs.xPAtom.f1'(A), D, D, []) :-
        'sharedPrograms.propositionInLanguage.p2'(A, B).
'~sharedPrograms.meltedAtomTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, C, 'metaDefs.xPAtom.f1'(A), D, D, []) :-
        '~sharedPrograms.propositionInLanguage.p2'(A, B).
'sharedPrograms.meltedAtomTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, 'metaDefs.atom.f2'(A,F), G, H, I) :-
        'sharedPrograms.predicateInLanguage.p4'(A, C, _, J),
        'sharedPrograms.meltTypeList.p4'(J, [], _, K),
        'sharedPrograms.meltedArgumentTyping.p9'(K, B, C, D, E, F, G, H, I).
'~sharedPrograms.meltedAtomTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, 'metaDefs.atom.f2'(A,F), G, H, I) :-
        '~sharedPrograms.predicateInLanguage.p4'(A, C, _, J),
        '~sharedPrograms.meltTypeList.p4'(J, [], _, K),
        '~sharedPrograms.meltedArgumentTyping.p9'(K, B, C, D, E, F, G, H, I).
'sharedPrograms.meltedAtomTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, 'metaDefs.xAtom.f2'(A,F), G, H, I) :-
        'sharedPrograms.predicateInLanguage.p4'(A, C, _, J),
        'sharedPrograms.meltTypeList.p4'(J, [], _, K),
        'sharedPrograms.meltedArgumentTyping.p9'(K, B, C, D, E, F, G, H, I).
'~sharedPrograms.meltedAtomTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, 'metaDefs.xAtom.f2'(A,F), G, H, I) :-
        '~sharedPrograms.predicateInLanguage.p4'(A, C, _, J),
        '~sharedPrograms.meltTypeList.p4'(J, [], _, K),
        '~sharedPrograms.meltedArgumentTyping.p9'(K, B, C, D, E, F, G, H, I).
'sharedPrograms.meltedArgumentTyping.p9'([], [], _, A, A, [], B, B, []).
'~sharedPrograms.meltedArgumentTyping.p9'([], [], _, A, A, [], B, B, []).
'sharedPrograms.meltedArgumentTyping.p9'([A|B], [C|D], E, F, G, [H|I], J, K, L) :-
        'sharedPrograms.meltedTermType.p9'(C, A, E, F, M, H, J, N, O),
        user:goedel_freeze(ground([O]), (O=[],true->'sharedPrograms':'sharedPrograms.meltedArgumentTyping.p9'(B,D,E,M,G,I,N,K,L);L=O)).
'~sharedPrograms.meltedArgumentTyping.p9'([A|B], [C|D], E, F, G, [H|I], J, K, L) :-
        '~sharedPrograms.meltedTermType.p9'(C, A, E, F, M, H, J, N, O),
        user:goedel_freeze(ground([O]), (O=[],true->'sharedPrograms':'~sharedPrograms.meltedArgumentTyping.p9'(B,D,E,M,G,I,N,K,L);L=O)).
'sharedPrograms.meltedBodyTyping.p8'(A, B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A]), (A='metaDefs.empty.c0',true->D=C,F=G,H=[],E='metaDefs.empty.c0';user:goedel_freeze(ground([A]),if((A='metaDefs.&''.f2'(I,J),true),('sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(I,B,C,K,L,F,M,N),user:goedel_freeze(ground([N]),(N=[],true->'sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(J,B,K,D,O,M,G,H),E='metaDefs.&''.f2'(L,O);H=N))),user:goedel_freeze(ground([A]),if((A='metaDefs.commit.f2'(P,Q),true),('sharedPrograms':'sharedPrograms.meltedBodyTyping.p8'(Q,B,C,D,L,F,G,H),E='metaDefs.commit.f2'(P,L)),'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(A,B,C,D,E,F,G,H))))))).
'~sharedPrograms.meltedBodyTyping.p8'(A, B, C, D, E, F, G, H) :-
        user:goedel_freeze(ground([A]), (A='metaDefs.empty.c0',true->D=C,F=G,H=[],E='metaDefs.empty.c0';user:goedel_freeze(ground([A]),if((A='metaDefs.&''.f2'(I,J),true),('sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(I,B,C,K,L,F,M,N),user:goedel_freeze(ground([N]),(N=[],true->'sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(J,B,K,D,O,M,G,H),E='metaDefs.&''.f2'(L,O);H=N))),user:goedel_freeze(ground([A]),if((A='metaDefs.commit.f2'(P,Q),true),('sharedPrograms':'~sharedPrograms.meltedBodyTyping.p8'(Q,B,C,D,L,F,G,H),E='metaDefs.commit.f2'(P,L)),'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(A,B,C,D,E,F,G,H))))))).
'sharedPrograms.meltedTermType.p9'('metaDefs.var.f2'(A,B), C, _, D, E, 'metaDefs.var.f2'(A,B), F, F, G) :-
        'sharedPrograms.lookupVarTyping.p4'(D, 'metaDefs.var.f2'(A,B), E, H),
        'sharedPrograms.unifyMeltedTypes.p4'(C, H, 'metaDefs.var.f2'(A,B), G).
'~sharedPrograms.meltedTermType.p9'('metaDefs.var.f2'(A,B), C, _, D, E, 'metaDefs.var.f2'(A,B), F, F, G) :-
        '~sharedPrograms.lookupVarTyping.p4'(D, 'metaDefs.var.f2'(A,B), E, H),
        '~sharedPrograms.unifyMeltedTypes.p4'(C, H, 'metaDefs.var.f2'(A,B), G).
'sharedPrograms.meltedTermType.p9'('metaDefs.var.f1'(A), B, _, C, D, 'metaDefs.var.f1'(A), E, E, F) :-
        'sharedPrograms.lookupVarTyping.p4'(C, 'metaDefs.var.f1'(A), D, G),
        'sharedPrograms.unifyMeltedTypes.p4'(B, G, 'metaDefs.var.f1'(A), F).
'~sharedPrograms.meltedTermType.p9'('metaDefs.var.f1'(A), B, _, C, D, 'metaDefs.var.f1'(A), E, E, F) :-
        '~sharedPrograms.lookupVarTyping.p4'(C, 'metaDefs.var.f1'(A), D, G),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, G, 'metaDefs.var.f1'(A), F).
'sharedPrograms.meltedTermType.p9'('metaDefs.cTerm.f1'(A), B, C, D, D, 'metaDefs.cTerm.f1'(A), E, E, F) :-
        'sharedPrograms.constantInLanguage.p3'(A, C, G),
        'sharedPrograms.meltType.p4'(G, [], _, H),
        'sharedPrograms.unifyMeltedTypes.p4'(B, H, 'metaDefs.cTerm.f1'(A), F).
'~sharedPrograms.meltedTermType.p9'('metaDefs.cTerm.f1'(A), B, C, D, D, 'metaDefs.cTerm.f1'(A), E, E, F) :-
        '~sharedPrograms.constantInLanguage.p3'(A, C, G),
        '~sharedPrograms.meltType.p4'(G, [], _, H),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, H, 'metaDefs.cTerm.f1'(A), F).
'sharedPrograms.meltedTermType.p9'('metaDefs.xCTerm.f2'(A,_), B, C, D, D, 'metaDefs.xCTerm.f2'(A,E), F, F, G) :-
        'sharedPrograms.constantInLanguage.p3'(A, C, H),
        'sharedPrograms.meltType.p4'(H, [], _, E),
        'sharedPrograms.unifyMeltedTypes.p4'(B, E, 'metaDefs.cTerm.f1'(A), G).
'~sharedPrograms.meltedTermType.p9'('metaDefs.xCTerm.f2'(A,_), B, C, D, D, 'metaDefs.xCTerm.f2'(A,E), F, F, G) :-
        '~sharedPrograms.constantInLanguage.p3'(A, C, H),
        '~sharedPrograms.meltType.p4'(H, [], _, E),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, E, 'metaDefs.cTerm.f1'(A), G).
'sharedPrograms.meltedTermType.p9'('metaDefs.term.f2'(A,B), C, D, E, F, 'metaDefs.term.f2'(A,G), H, I, J) :-
        'sharedPrograms.functionInLanguage.p5'(A, D, _, K, L),
        'sharedPrograms.meltType.p4'(L, [], M, N),
        'sharedPrograms.meltTypeList.p4'(K, M, _, O),
        'sharedPrograms.unifyMeltedTypes.p4'(C, N, 'metaDefs.term.f2'(A,B), P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'sharedPrograms.meltedArgumentTyping.p9'(O,B,D,E,F,G,H,I,J);J=P)).
'~sharedPrograms.meltedTermType.p9'('metaDefs.term.f2'(A,B), C, D, E, F, 'metaDefs.term.f2'(A,G), H, I, J) :-
        '~sharedPrograms.functionInLanguage.p5'(A, D, _, K, L),
        '~sharedPrograms.meltType.p4'(L, [], M, N),
        '~sharedPrograms.meltTypeList.p4'(K, M, _, O),
        '~sharedPrograms.unifyMeltedTypes.p4'(C, N, 'metaDefs.term.f2'(A,B), P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'~sharedPrograms.meltedArgumentTyping.p9'(O,B,D,E,F,G,H,I,J);J=P)).
'sharedPrograms.meltedTermType.p9'('metaDefs.xTerm.f3'(A,B,_), C, D, E, F, 'metaDefs.xTerm.f3'(A,G,H), I, J, K) :-
        'sharedPrograms.functionInLanguage.p5'(A, D, _, L, M),
        'sharedPrograms.meltType.p4'(M, [], N, H),
        'sharedPrograms.meltTypeList.p4'(L, N, _, O),
        'sharedPrograms.unifyMeltedTypes.p4'(C, H, 'metaDefs.term.f2'(A,B), P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'sharedPrograms.meltedArgumentTyping.p9'(O,B,D,E,F,G,I,J,K);K=P)).
'~sharedPrograms.meltedTermType.p9'('metaDefs.xTerm.f3'(A,B,_), C, D, E, F, 'metaDefs.xTerm.f3'(A,G,H), I, J, K) :-
        '~sharedPrograms.functionInLanguage.p5'(A, D, _, L, M),
        '~sharedPrograms.meltType.p4'(M, [], N, H),
        '~sharedPrograms.meltTypeList.p4'(L, N, _, O),
        '~sharedPrograms.unifyMeltedTypes.p4'(C, H, 'metaDefs.term.f2'(A,B), P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'~sharedPrograms.meltedArgumentTyping.p9'(O,B,D,E,F,G,I,J,K);K=P)).
'sharedPrograms.meltedTermType.p9'('metaDefs.int.f1'(A), B, C, D, D, 'metaDefs.int.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"Integers','"Integer','metaDefs.base.c0',0),
        'sharedPrograms.baseInLanguage.p2'(G, C),
        'sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.int.f1'(A), F).
'~sharedPrograms.meltedTermType.p9'('metaDefs.int.f1'(A), B, C, D, D, 'metaDefs.int.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"Integers','"Integer','metaDefs.base.c0',0),
        '~sharedPrograms.baseInLanguage.p2'(G, C),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.int.f1'(A), F).
'sharedPrograms.meltedTermType.p9'('metaDefs.str.f1'(A), B, C, D, D, 'metaDefs.str.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"Strings','"String','metaDefs.base.c0',0),
        'sharedPrograms.baseInLanguage.p2'(G, C),
        'sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.str.f1'(A), F).
'~sharedPrograms.meltedTermType.p9'('metaDefs.str.f1'(A), B, C, D, D, 'metaDefs.str.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"Strings','"String','metaDefs.base.c0',0),
        '~sharedPrograms.baseInLanguage.p2'(G, C),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.str.f1'(A), F).
'sharedPrograms.meltedTermType.p9'('metaDefs.prm.f1'(A), B, C, D, D, 'metaDefs.prm.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"ProgDefs','"Program','metaDefs.base.c0',0),
        'sharedPrograms.baseInLanguage.p2'(G, C),
        'sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.prm.f1'(A), F).
'~sharedPrograms.meltedTermType.p9'('metaDefs.prm.f1'(A), B, C, D, D, 'metaDefs.prm.f1'(A), E, E, F) :-
        G='metaDefs.name.f4'('"ProgDefs','"Program','metaDefs.base.c0',0),
        '~sharedPrograms.baseInLanguage.p2'(G, C),
        '~sharedPrograms.unifyMeltedTypes.p4'(B, 'metaDefs.bType.f1'(G), 'metaDefs.prm.f1'(A), F).
'sharedPrograms.meltedTermType.p9'('metaDefs.suchThat.f2'(A,B), C, D, E, F, 'metaDefs.suchThat.f2'(G,H), I, J, K) :-
        L='metaDefs.name.f4'('"Sets','"Set','metaDefs.constructor.c0',1),
        'sharedPrograms.constructorInLanguage.p3'(L, D, _),
        'sharedPrograms.unifyMeltedTypes.p4'(C, 'metaDefs.type.f2'(L,[M]), 'metaDefs.suchThat.f2'(A,B), N),
        user:goedel_freeze(ground([N]), (N=[],true->'sharedSyntax':'sharedSyntax.sTermFreeVars.p2'(A,O),'sharedPrograms':'sharedPrograms.divideBindings.p4'(O,E,P,Q),'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,D,P,R,H,I,S,T),user:goedel_freeze(ground([T]),(T=[],true->'sharedPrograms':'sharedPrograms.meltedTermType.p9'(A,M,D,R,U,G,S,J,K),user:goedel_freeze(ground([K]),(K=[],true->'sharedPrograms':'sharedPrograms.divideBindings.p4'(O,U,V,_),'lists':'lists.append.p3'(Q,V,F);true));K=T));K=N)).
'~sharedPrograms.meltedTermType.p9'('metaDefs.suchThat.f2'(A,B), C, D, E, F, 'metaDefs.suchThat.f2'(G,H), I, J, K) :-
        L='metaDefs.name.f4'('"Sets','"Set','metaDefs.constructor.c0',1),
        '~sharedPrograms.constructorInLanguage.p3'(L, D, _),
        '~sharedPrograms.unifyMeltedTypes.p4'(C, 'metaDefs.type.f2'(L,[M]), 'metaDefs.suchThat.f2'(A,B), N),
        user:goedel_freeze(ground([N]), (N=[],true->'sharedSyntax':'~sharedSyntax.sTermFreeVars.p2'(A,O),'sharedPrograms':'~sharedPrograms.divideBindings.p4'(O,E,P,Q),'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,D,P,R,H,I,S,T),user:goedel_freeze(ground([T]),(T=[],true->'sharedPrograms':'~sharedPrograms.meltedTermType.p9'(A,M,D,R,U,G,S,J,K),user:goedel_freeze(ground([K]),(K=[],true->'sharedPrograms':'~sharedPrograms.divideBindings.p4'(O,U,V,_),'lists':'~lists.append.p3'(Q,V,F);true));K=T));K=N)).
'sharedPrograms.meltedTermType.p9'('metaDefs.num.f1'(A), B, C, D, D, E, F, G, H) :-
        user:goedel_freeze(ground([C]), ('sharedPrograms':'~sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Rationals','"Rational','metaDefs.base.c0',0),C),true->F=['sharedPrograms.numType.f3'(A,'metaDefs.bType.f1'(I),E)|G],'sharedPrograms':'sharedPrograms.unifyMeltedTypes.p4'(B,'metaDefs.bType.f1'(I),'metaDefs.num.f1'(A),H);'sharedPrograms':'sharedPrograms.meltedTermType.p9'('metaDefs.int.f1'(A),B,C,D,_,E,F,G,H))).
'~sharedPrograms.meltedTermType.p9'('metaDefs.num.f1'(A), B, C, D, D, E, F, G, H) :-
        user:goedel_freeze(ground([C]), ('sharedPrograms':'~sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Rationals','"Rational','metaDefs.base.c0',0),C),true->F=['sharedPrograms.numType.f3'(A,'metaDefs.bType.f1'(I),E)|G],'sharedPrograms':'~sharedPrograms.unifyMeltedTypes.p4'(B,'metaDefs.bType.f1'(I),'metaDefs.num.f1'(A),H);'sharedPrograms':'~sharedPrograms.meltedTermType.p9'('metaDefs.int.f1'(A),B,C,D,_,E,F,G,H))).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, 'metaDefs.iSTE.f4'(A,H,I,J), K, L, M) :-
        'sharedPrograms.divideBindings.p4'(A, F, N, O),
        'sharedPrograms.meltedStandardTyping.p8'(B, E, N, P, H, K, Q, R),
        user:goedel_freeze(ground([R]), (R=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(C,E,P,S,I,Q,T,U),user:goedel_freeze(ground([U]),(U=[],true->'sharedPrograms':'sharedPrograms.divideBindings.p4'(A,S,V,_),'lists':'lists.append.p3'(O,V,W),'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(D,E,W,G,J,T,L,M);M=U));M=R)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.iSTE.f4'(A,B,C,D), E, F, G, 'metaDefs.iSTE.f4'(A,H,I,J), K, L, M) :-
        '~sharedPrograms.divideBindings.p4'(A, F, N, O),
        '~sharedPrograms.meltedStandardTyping.p8'(B, E, N, P, H, K, Q, R),
        user:goedel_freeze(ground([R]), (R=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(C,E,P,S,I,Q,T,U),user:goedel_freeze(ground([U]),(U=[],true->'sharedPrograms':'~sharedPrograms.divideBindings.p4'(A,S,V,_),'lists':'~lists.append.p3'(O,V,W),'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(D,E,W,G,J,T,L,M);M=U));M=R)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.iST.f3'(A,B,C), D, E, F, 'metaDefs.iST.f3'(A,G,H), I, J, K) :-
        'sharedPrograms.divideBindings.p4'(A, E, L, M),
        'sharedPrograms.meltedStandardTyping.p8'(B, D, L, N, G, I, O, P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(C,D,N,Q,H,O,J,K),user:goedel_freeze(ground([K]),(K=[],true->'sharedPrograms':'sharedPrograms.divideBindings.p4'(A,Q,R,_),'lists':'lists.append.p3'(M,R,F);true));K=P)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.iST.f3'(A,B,C), D, E, F, 'metaDefs.iST.f3'(A,G,H), I, J, K) :-
        '~sharedPrograms.divideBindings.p4'(A, E, L, M),
        '~sharedPrograms.meltedStandardTyping.p8'(B, D, L, N, G, I, O, P),
        user:goedel_freeze(ground([P]), (P=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(C,D,N,Q,H,O,J,K),user:goedel_freeze(ground([K]),(K=[],true->'sharedPrograms':'~sharedPrograms.divideBindings.p4'(A,Q,R,_),'lists':'~lists.append.p3'(M,R,F);true));K=P)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.iTE.f3'(A,B,C), D, E, F, 'metaDefs.iTE.f3'(G,H,I), J, K, L) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, D, E, M, G, J, N, O),
        user:goedel_freeze(ground([O]), (O=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,D,M,P,H,N,Q,R),user:goedel_freeze(ground([R]),(R=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(C,D,P,F,I,Q,K,L);L=R));L=O)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.iTE.f3'(A,B,C), D, E, F, 'metaDefs.iTE.f3'(G,H,I), J, K, L) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, D, E, M, G, J, N, O),
        user:goedel_freeze(ground([O]), (O=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,D,M,P,H,N,Q,R),user:goedel_freeze(ground([R]),(R=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(C,D,P,F,I,Q,K,L);L=R));L=O)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.iT.f2'(A,B), C, D, E, 'metaDefs.iT.f2'(F,G), H, I, J) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.iT.f2'(A,B), C, D, E, 'metaDefs.iT.f2'(F,G), H, I, J) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.&''.f2'(A,B), C, D, E, 'metaDefs.&''.f2'(F,G), H, I, J) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.&''.f2'(A,B), C, D, E, 'metaDefs.&''.f2'(F,G), H, I, J) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.\\/''.f2'(A,B), C, D, E, 'metaDefs.\\/''.f2'(F,G), H, I, J) :- % added 2 \ djd
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.\\/''.f2'(A,B), C, D, E, 'metaDefs.\\/''.f2'(F,G), H, I, J) :- % added 2 \ djd
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.->''.f2'(A,B), C, D, E, 'metaDefs.->''.f2'(F,G), H, I, J) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.->''.f2'(A,B), C, D, E, 'metaDefs.->''.f2'(F,G), H, I, J) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.<-''.f2'(A,B), C, D, E, 'metaDefs.<-''.f2'(F,G), H, I, J) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.<-''.f2'(A,B), C, D, E, 'metaDefs.<-''.f2'(F,G), H, I, J) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.<->''.f2'(A,B), C, D, E, 'metaDefs.<->''.f2'(F,G), H, I, J) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.<->''.f2'(A,B), C, D, E, 'metaDefs.<->''.f2'(F,G), H, I, J) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, C, D, K, F, H, L, M),
        user:goedel_freeze(ground([M]), (M=[],true->'sharedPrograms':'~sharedPrograms.meltedStandardTyping.p8'(B,C,K,E,G,L,I,J);J=M)).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.~''.f1'(A), B, C, D, 'metaDefs.~''.f1'(E), F, G, H) :-
        'sharedPrograms.meltedStandardTyping.p8'(A, B, C, D, E, F, G, H).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.~''.f1'(A), B, C, D, 'metaDefs.~''.f1'(E), F, G, H) :-
        '~sharedPrograms.meltedStandardTyping.p8'(A, B, C, D, E, F, G, H).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.all.f2'(A,B), C, D, E, 'metaDefs.all.f2'(A,F), G, H, I) :-
        'sharedPrograms.divideBindings.p4'(A, D, J, K),
        'sharedPrograms.meltedStandardTyping.p8'(B, C, J, L, F, G, H, I),
        'sharedPrograms.divideBindings.p4'(A, L, M, _),
        'lists':'lists.append.p3'(K, M, E).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.all.f2'(A,B), C, D, E, 'metaDefs.all.f2'(A,F), G, H, I) :-
        '~sharedPrograms.divideBindings.p4'(A, D, J, K),
        '~sharedPrograms.meltedStandardTyping.p8'(B, C, J, L, F, G, H, I),
        '~sharedPrograms.divideBindings.p4'(A, L, M, _),
        'lists':'~lists.append.p3'(K, M, E).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.some.f2'(A,B), C, D, E, 'metaDefs.some.f2'(A,F), G, H, I) :-
        'sharedPrograms.divideBindings.p4'(A, D, J, K),
        'sharedPrograms.meltedStandardTyping.p8'(B, C, J, L, F, G, H, I),
        'sharedPrograms.divideBindings.p4'(A, L, M, _),
        'lists':'lists.append.p3'(K, M, E).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.some.f2'(A,B), C, D, E, 'metaDefs.some.f2'(A,F), G, H, I) :-
        '~sharedPrograms.divideBindings.p4'(A, D, J, K),
        '~sharedPrograms.meltedStandardTyping.p8'(B, C, J, L, F, G, H, I),
        '~sharedPrograms.divideBindings.p4'(A, L, M, _),
        'lists':'~lists.append.p3'(K, M, E).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.pAtom.f1'(A), B, C, D, E, F, G, H) :-
        'sharedPrograms.meltedAtomTyping.p8'('metaDefs.pAtom.f1'(A), B, C, D, E, F, G, H).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.pAtom.f1'(A), B, C, D, E, F, G, H) :-
        '~sharedPrograms.meltedAtomTyping.p8'('metaDefs.pAtom.f1'(A), B, C, D, E, F, G, H).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, I) :-
        'sharedPrograms.meltedAtomTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, I).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, I) :-
        '~sharedPrograms.meltedAtomTyping.p8'('metaDefs.atom.f2'(A,B), C, D, E, F, G, H, I).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, D, E, F, G, H) :-
        'sharedPrograms.meltedAtomTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, D, E, F, G, H).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, D, E, F, G, H) :-
        '~sharedPrograms.meltedAtomTyping.p8'('metaDefs.xPAtom.f1'(A), B, C, D, E, F, G, H).
'sharedPrograms.meltedStandardTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, I) :-
        'sharedPrograms.meltedAtomTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, I).
'~sharedPrograms.meltedStandardTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, I) :-
        '~sharedPrograms.meltedAtomTyping.p8'('metaDefs.xAtom.f2'(A,B), C, D, E, F, G, H, I).
'sharedPrograms.moduleLanguage.p3'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),_), C, 'progDefs.language.f1'(D)) :-
        'sharedPrograms.emptyLanguage.p1'('progDefs.language.f1'(E)),
        'avlTrees':'avlTrees.avlSearch.p3'(A, C, 'progDefs.modDef.f4'(F,G,H,I)),
        user:goedel_freeze(ground([F]), (F='progDefs.closedKind.c0',true->'sharedPrograms':'sharedPrograms.importedLanguage.p6'([C],A,B,[],E,D);user:goedel_freeze(ground([B,C]),if(('avlTrees':'~avlTrees.avlSearch.p3'(B,C,J),true),'avlTrees':'avlTrees.avlInsert.p4'(E,C,J,K),K=E)),'lists':'lists.append.p3'(G,H,L),'lists':'lists.append.p3'(I,L,M),'sharedPrograms':'sharedPrograms.importedLanguage.p6'(M,A,B,[C],K,D))).
'~sharedPrograms.moduleLanguage.p3'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),_), C, 'progDefs.language.f1'(D)) :-
        '~sharedPrograms.emptyLanguage.p1'('progDefs.language.f1'(E)),
        'avlTrees':'~avlTrees.avlSearch.p3'(A, C, 'progDefs.modDef.f4'(F,G,H,I)),
        user:goedel_freeze(ground([F]), (F='progDefs.closedKind.c0',true->'sharedPrograms':'~sharedPrograms.importedLanguage.p6'([C],A,B,[],E,D);user:goedel_freeze(ground([B,C]),if(('avlTrees':'~avlTrees.avlSearch.p3'(B,C,J),true),'avlTrees':'~avlTrees.avlInsert.p4'(E,C,J,K),K=E)),'lists':'~lists.append.p3'(G,H,L),'lists':'~lists.append.p3'(I,L,M),'sharedPrograms':'~sharedPrograms.importedLanguage.p6'(M,A,B,[C],K,D))).
'sharedPrograms.symbolInLanguage.p3'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F) :-
        'sharedPrograms.avlFind.p3'(E, A, 'progDefs.module.f3'(G,'progDefs.categories.f2'(_,H),_)),
        'sharedPrograms.avlFind.p3'(H, B, I),
        'sharedPrograms.findDescriptor.p5'(I, G, C, D, F).
'~sharedPrograms.symbolInLanguage.p3'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F) :-
        '~sharedPrograms.avlFind.p3'(E, A, 'progDefs.module.f3'(G,'progDefs.categories.f2'(_,H),_)),
        '~sharedPrograms.avlFind.p3'(H, B, I),
        '~sharedPrograms.findDescriptor.p5'(I, G, C, D, F).
'sharedPrograms.sControlInProgram.p5'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),C), D, E, F, G) :-
        E='metaDefs.name.f4'(D,H,_,I),
        'sharedPrograms.avlFind.p3'(B, D, 'progDefs.module.f3'(_,'progDefs.categories.f2'(_,J),_)),
        'sharedPrograms.avlFind.p3'(J, H, K),
        user:goedel_freeze(ground([D]), (D='"',true->L='progDefs.closedKind.c0',M='progDefs.exported.c0';'avlTrees':'avlTrees.avlSearch.p3'(A,D,'progDefs.modDef.f4'(L,_,_,_)),user:goedel_freeze(ground([L]),(L='progDefs.closedKind.c0',true->M='progDefs.exported.c0';M='progDefs.hidden.c0')))),
        'sharedPrograms.findDescriptor.p5'(K, M, _, I, 'progDefs.predicateDecl.f3'(_,_,_)),
        user:goedel_freeze(ground([I,C,D,H]), if((('avlTrees':'~avlTrees.avlSearch.p3'(C,D,'progDefs.code.f2'(_,N)),'avlTrees':'~avlTrees.avlSearch.p3'(N,H,O),'sharedPrograms':'~sharedPrograms.findPredDef.p3'(I,O,'progDefs.predDef.f4'(I,_,P,Q))),true),(user:goedel_freeze(ground([L]),(L='progDefs.closedKind.c0',true->R=P;'lists':'lists.append.p3'(P,Q,R))),'sharedPrograms':'sharedPrograms.reformatDelays.p3'(R,F,G)),(F=[],G=[]))).
'~sharedPrograms.sControlInProgram.p5'('progDefs.program.f4'(_,A,'progDefs.language.f1'(B),C), D, E, F, G) :-
        E='metaDefs.name.f4'(D,H,_,I),
        '~sharedPrograms.avlFind.p3'(B, D, 'progDefs.module.f3'(_,'progDefs.categories.f2'(_,J),_)),
        '~sharedPrograms.avlFind.p3'(J, H, K),
        user:goedel_freeze(ground([D]), (D='"',true->L='progDefs.closedKind.c0',M='progDefs.exported.c0';'avlTrees':'~avlTrees.avlSearch.p3'(A,D,'progDefs.modDef.f4'(L,_,_,_)),user:goedel_freeze(ground([L]),(L='progDefs.closedKind.c0',true->M='progDefs.exported.c0';M='progDefs.hidden.c0')))),
        '~sharedPrograms.findDescriptor.p5'(K, M, _, I, 'progDefs.predicateDecl.f3'(_,_,_)),
        user:goedel_freeze(ground([I,C,D,H]), if((('avlTrees':'~avlTrees.avlSearch.p3'(C,D,'progDefs.code.f2'(_,N)),'avlTrees':'~avlTrees.avlSearch.p3'(N,H,O),'sharedPrograms':'~sharedPrograms.findPredDef.p3'(I,O,'progDefs.predDef.f4'(I,_,P,Q))),true),(user:goedel_freeze(ground([L]),(L='progDefs.closedKind.c0',true->R=P;'lists':'~lists.append.p3'(P,Q,R))),'sharedPrograms':'~sharedPrograms.reformatDelays.p3'(R,F,G)),(F=[],G=[]))).
'sharedPrograms.programSkeleton.p4'(A, B, C, 'progDefs.program.f4'(A,D,E,F)) :-
	write("DJD Skeleton 0000\n"),
        'avlTrees':'avlTrees.avlIsEmpty.p1'(G),
        'avlTrees':'avlTrees.avlIsEmpty.p1'(H),
        'avlTrees':'avlTrees.avlIsEmpty.p1'(I),
	write("DJD Skeleton 0001\n"),
        'avlTrees':'avlTrees.avlInsert.p4'(G, A, 'progDefs.modDef.f4'(B,[],[],[]), D),
	write("DJD Skeleton 0002\n"),
        'avlTrees':'avlTrees.avlInsert.p4'(H, A, 'progDefs.code.f2'(C,I), F),
	write("DJD Skeleton 0003\n"),
        'sharedPrograms.emptyLanguage.p1'(E).
'~sharedPrograms.programSkeleton.p4'(A, B, C, 'progDefs.program.f4'(A,D,E,F)) :-
%    write("I am confused\n"),ttyflush,
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(G),
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(H),
        'avlTrees':'~avlTrees.avlIsEmpty.p1'(I),
        'avlTrees':'~avlTrees.avlInsert.p4'(G, A, 'progDefs.modDef.f4'(B,[],[],[]), D),
        'avlTrees':'~avlTrees.avlInsert.p4'(H, A, 'progDefs.code.f2'(C,I), F),
        '~sharedPrograms.emptyLanguage.p1'(E).
'sharedPrograms.openModuleAux.p2'(A, B) :-
        'sharedPrograms.avlFind.p3'(A, B, 'progDefs.modDef.f4'(C,_,_,_)),
        'sharedPrograms.openKind.p1'(C).
'~sharedPrograms.openModuleAux.p2'(A, B) :-
        '~sharedPrograms.avlFind.p3'(A, B, 'progDefs.modDef.f4'(C,_,_,_)),
        '~sharedPrograms.openKind.p1'(C).
'sharedPrograms.openKind.p1'('progDefs.normalKind.c0').
'~sharedPrograms.openKind.p1'('progDefs.normalKind.c0').
'sharedPrograms.openKind.p1'('progDefs.moduleKind.c0').
'~sharedPrograms.openKind.p1'('progDefs.moduleKind.c0').
'sharedPrograms.mustBracketThen.p1'('metaDefs.iTE.f3'(_,_,_)).
'~sharedPrograms.mustBracketThen.p1'('metaDefs.iTE.f3'(_,_,_)).
'sharedPrograms.mustBracketThen.p1'('metaDefs.iSTE.f4'(_,_,_,_)).
'~sharedPrograms.mustBracketThen.p1'('metaDefs.iSTE.f4'(_,_,_,_)).
'sharedPrograms.mustBracketThen.p1'('metaDefs.&''.f2'(A,B)) :-
        'sharedPrograms.containsConditional.p1'('metaDefs.&''.f2'(A,B)).
'~sharedPrograms.mustBracketThen.p1'('metaDefs.&''.f2'(A,B)) :-
        '~sharedPrograms.containsConditional.p1'('metaDefs.&''.f2'(A,B)).
'sharedPrograms.predicateInLanguage.p4'(A, B, C, D) :-
        'sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.predicateDecl.f3'(_,C,D)).
'~sharedPrograms.predicateInLanguage.p4'(A, B, C, D) :-
        '~sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.predicateDecl.f3'(_,C,D)).
'sharedPrograms.orSeqToIntDL.p3'('progDefs.or.f2'(A,B), C, D) :-
        'sharedPrograms.simpleCondToIntDL.p3'(A, C, E),
        'strings':'strings.stringInts.p2'('" \\/ ', F), % added \ djd
        'lists':'lists.append.p3'(F, G, E),
        user:goedel_freeze(ground([B]), (B='progDefs.or.f2'(_,_),true->'sharedPrograms':'sharedPrograms.orSeqToIntDL.p3'(B,G,D);'sharedPrograms':'sharedPrograms.simpleCondToIntDL.p3'(B,G,D))).
'~sharedPrograms.orSeqToIntDL.p3'('progDefs.or.f2'(A,B), C, D) :-
        '~sharedPrograms.simpleCondToIntDL.p3'(A, C, E),
        'strings':'~strings.stringInts.p2'('" \\/ ', F),  % added \ djd
        'lists':'~lists.append.p3'(F, G, E),
        user:goedel_freeze(ground([B]), (B='progDefs.or.f2'(_,_),true->'sharedPrograms':'~sharedPrograms.orSeqToIntDL.p3'(B,G,D);'sharedPrograms':'~sharedPrograms.simpleCondToIntDL.p3'(B,G,D))).
'sharedPrograms.programLanguage.p2'('progDefs.program.f4'(_,_,A,_), A).
'~sharedPrograms.programLanguage.p2'('progDefs.program.f4'(_,_,A,_), A).
'sharedPrograms.rationalTerm.p2'(A, 'metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"//','metaDefs.function.c0',2),['metaDefs.int.f1'(A),'metaDefs.int.f1'(1)])).
'~sharedPrograms.rationalTerm.p2'(A, 'metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"//','metaDefs.function.c0',2),['metaDefs.int.f1'(A),'metaDefs.int.f1'(1)])).
'sharedPrograms.quantifiedFormulaToIntDL.p6'(A, B, C, D, E, F) :-
        'sharedPrograms.quantifiedFormula.p3'(A, G, H),
        'sharedPrograms.deleteUnderscores.p2'(G, I),
        user:goedel_freeze(ground([I]), (I=[],true->'sharedPrograms':'sharedPrograms.formulaToIntDL.p6'(H,B,C,D,E,F);'sharedPrograms':'sharedPrograms.quantifierChars.p3'(A,E,J),'sharedPrograms':'sharedPrograms.varListToIntDL.p6'(G,B,C,D,J,K),'sharedPrograms':'sharedPrograms.charDL.p3'('" ',K,L),'sharedPrograms':'sharedPrograms.formulaToIntDL.p6'(H,B,C,D,M,N),user:goedel_freeze(ground([A,H]),(('sharedPrograms':'~sharedPrograms.cLPrec.p2'(H,O),'sharedPrograms':'~sharedPrograms.cRPrec.p2'(A,P),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(O,P)),true->L=M,F=N;'sharedPrograms':'sharedPrograms.charDL.p3'('"(',L,M),'sharedPrograms':'sharedPrograms.charDL.p3'('")',N,F))))).
'~sharedPrograms.quantifiedFormulaToIntDL.p6'(A, B, C, D, E, F) :-
        '~sharedPrograms.quantifiedFormula.p3'(A, G, H),
        '~sharedPrograms.deleteUnderscores.p2'(G, I),
        user:goedel_freeze(ground([I]), (I=[],true->'sharedPrograms':'~sharedPrograms.formulaToIntDL.p6'(H,B,C,D,E,F);'sharedPrograms':'~sharedPrograms.quantifierChars.p3'(A,E,J),'sharedPrograms':'~sharedPrograms.varListToIntDL.p6'(G,B,C,D,J,K),'sharedPrograms':'~sharedPrograms.charDL.p3'('" ',K,L),'sharedPrograms':'~sharedPrograms.formulaToIntDL.p6'(H,B,C,D,M,N),user:goedel_freeze(ground([A,H]),(('sharedPrograms':'~sharedPrograms.cLPrec.p2'(H,O),'sharedPrograms':'~sharedPrograms.cRPrec.p2'(A,P),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(O,P)),true->L=M,F=N;'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',L,M),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',N,F))))).
'sharedPrograms.propositionInLanguage.p2'(A, B) :-
        'sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.propositionDecl.c0').
'~sharedPrograms.propositionInLanguage.p2'(A, B) :-
        '~sharedPrograms.symbolInLanguage.p3'(A, B, 'progDefs.propositionDecl.c0').
'sharedPrograms.quantifiedFormula.p3'('metaDefs.some.f2'(A,B), A, B).
'~sharedPrograms.quantifiedFormula.p3'('metaDefs.some.f2'(A,B), A, B).
'sharedPrograms.quantifiedFormula.p3'('metaDefs.all.f2'(A,B), A, B).
'~sharedPrograms.quantifiedFormula.p3'('metaDefs.all.f2'(A,B), A, B).
'sharedPrograms.rPrec.p2'('syntax.noFunctInd.c0', 'sharedPrograms.infinity.c0').
'~sharedPrograms.rPrec.p2'('syntax.noFunctInd.c0', 'sharedPrograms.infinity.c0').
'sharedPrograms.rPrec.p2'('syntax.xFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.rPrec.p2'('syntax.xFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.rPrec.p2'('syntax.xFY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'~sharedPrograms.rPrec.p2'('syntax.xFY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'sharedPrograms.rPrec.p2'('syntax.yFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.rPrec.p2'('syntax.yFX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.rPrec.p2'('syntax.fX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.rPrec.p2'('syntax.fX.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.rPrec.p2'('syntax.fY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'~sharedPrograms.rPrec.p2'('syntax.fY.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.Y.c0')).
'sharedPrograms.rPrec.p2'('syntax.xF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.rPrec.p2'('syntax.xF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.rPrec.p2'('syntax.yF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'~sharedPrograms.rPrec.p2'('syntax.yF.f1'(A), 'sharedPrograms.prec.f2'(A,'sharedPrograms.X.c0')).
'sharedPrograms.quantifierChars.p3'('metaDefs.some.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('"SOME ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.quantifierChars.p3'('metaDefs.some.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('"SOME ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.quantifierChars.p3'('metaDefs.all.f2'(_,_), A, B) :-
        'strings':'strings.stringInts.p2'('"ALL ', C),
        'lists':'lists.append.p3'(C, B, A).
'~sharedPrograms.quantifierChars.p3'('metaDefs.all.f2'(_,_), A, B) :-
        'strings':'~strings.stringInts.p2'('"ALL ', C),
        'lists':'~lists.append.p3'(C, B, A).
'sharedPrograms.reformatDelays.p3'([], [], []).
'~sharedPrograms.reformatDelays.p3'([], [], []).
'sharedPrograms.reformatDelays.p3'(['progDefs.delay.f2'(B,C)|A], [B|D], [C|E]) :-
        'sharedPrograms.reformatDelays.p3'(A, D, E).
'~sharedPrograms.reformatDelays.p3'(['progDefs.delay.f2'(B,C)|A], [B|D], [C|E]) :-
        '~sharedPrograms.reformatDelays.p3'(A, D, E).
'sharedPrograms.rationalToIntDL.p9'(A, B, C, D, E, F, G, H, I) :-
        'sharedPrograms.cookRationalTerm.p2'(A, J),
        user:goedel_freeze(ground([B]), (B=1,true->'sharedPrograms':'sharedPrograms.termToIntDL.p9'(J,C,D,[],E,F,G,H,I);'sharedPrograms':'sharedPrograms.cookRationalTerm.p2'(B,K),'sharedPrograms':'sharedPrograms.termToIntDL.p9'('metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"/','metaDefs.function.c0',2),[J,K]),C,D,[],E,F,G,H,I))).
'~sharedPrograms.rationalToIntDL.p9'(A, B, C, D, E, F, G, H, I) :-
        '~sharedPrograms.cookRationalTerm.p2'(A, J),
        user:goedel_freeze(ground([B]), (B=1,true->'sharedPrograms':'~sharedPrograms.termToIntDL.p9'(J,C,D,[],E,F,G,H,I);'sharedPrograms':'~sharedPrograms.cookRationalTerm.p2'(B,K),'sharedPrograms':'~sharedPrograms.termToIntDL.p9'('metaDefs.term.f2'('metaDefs.name.f4'('"Rationals','"/','metaDefs.function.c0',2),[J,K]),C,D,[],E,F,G,H,I))).
'sharedPrograms.restVarListToIntDL.p6'([], _, _, _, A, A).
'~sharedPrograms.restVarListToIntDL.p6'([], _, _, _, A, A).
'sharedPrograms.restVarListToIntDL.p6'([A|B], C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('",', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.restVarListToIntDL.p6'(B, C, D, E, I, G).
'~sharedPrograms.restVarListToIntDL.p6'([A|B], C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('",', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.restVarListToIntDL.p6'(B, C, D, E, I, G).
'sharedPrograms.sConditionToString.p2'(A, B) :-
        'sharedPrograms.conditionToIntDL.p3'(A, C, []),
        'strings':'strings.stringInts.p2'(B, C).
'~sharedPrograms.sConditionToString.p2'(A, B) :-
        '~sharedPrograms.conditionToIntDL.p3'(A, C, []),
        'strings':'~strings.stringInts.p2'(B, C).
'sharedPrograms.sProgramTypeToString.p4'(A, B, C, D) :-
        'sharedPrograms.moduleLanguage.p3'(A, B, E),
        'sharedPrograms.typeToIntDL.p4'(C, E, F, []),
        'strings':'strings.stringInts.p2'(D, F).
'~sharedPrograms.sProgramTypeToString.p4'(A, B, C, D) :-
        '~sharedPrograms.moduleLanguage.p3'(A, B, E),
        '~sharedPrograms.typeToIntDL.p4'(C, E, F, []),
        'strings':'~strings.stringInts.p2'(D, F).
'sharedPrograms.sOpenModule.p2'('progDefs.program.f4'(_,A,_,_), B) :-
        'sharedPrograms.openModuleAux.p2'(A, B).
'~sharedPrograms.sOpenModule.p2'('progDefs.program.f4'(_,A,_,_), B) :-
        '~sharedPrograms.openModuleAux.p2'(A, B).
'sharedPrograms.sMainModuleInProgram.p2'('progDefs.program.f4'(A,_,_,_), A).
'~sharedPrograms.sMainModuleInProgram.p2'('progDefs.program.f4'(A,_,_,_), A).
'sharedPrograms.sProgramTermToString.p4'(A, B, C, D) :-
        'sharedPrograms.termToIntList.p4'(A, B, C, E),
        'strings':'strings.stringInts.p2'(D, E).
'~sharedPrograms.sProgramTermToString.p4'(A, B, C, D) :-
        '~sharedPrograms.termToIntList.p4'(A, B, C, E),
        'strings':'~strings.stringInts.p2'(D, E).
'sharedPrograms.sProgramFormulaToString.p4'(A, B, C, D) :-
        'sharedPrograms.formulaToIntList.p4'(A, B, C, E),
        'strings':'strings.stringInts.p2'(D, E).
'~sharedPrograms.sProgramFormulaToString.p4'(A, B, C, D) :-
        '~sharedPrograms.formulaToIntList.p4'(A, B, C, E),
        'strings':'~strings.stringInts.p2'(D, E).
'sharedPrograms.spaceIfNeeded.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), ((A=B,user:not_equal([],[A],A,'sharedPrograms.bounded.c0')),true->'sharedPrograms':'sharedPrograms.charDL.p3'('" ',C,D);C=D)).
'~sharedPrograms.spaceIfNeeded.p4'(A, B, C, D) :-
        user:goedel_freeze(ground([A,B]), ((A=B,user:not_equal([],[A],A,'sharedPrograms.bounded.c0')),true->'sharedPrograms':'~sharedPrograms.charDL.p3'('" ',C,D);C=D)).
'sharedPrograms.setExprToIntDL.p6'([A,B], C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('"{', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, J),
        'sharedPrograms.charDL.p3'('"}', J, G).
'~sharedPrograms.setExprToIntDL.p6'([A,B], C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('"{', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.chainExprToIntDL.p6'(B, C, D, E, I, J),
        '~sharedPrograms.charDL.p3'('"}', J, G).
'sharedPrograms.simpleCondToIntDL.p3'('progDefs.nonvar.f1'(A), B, C) :-
        'strings':'strings.stringInts.p2'('"NONVAR(', D),
        'lists':'lists.append.p3'(D, E, B),
        'sharedPrograms.termToIntDL.p9'(A, _, _, _, _, _, _, E, F),
        'sharedPrograms.charDL.p3'('")', F, C).
'~sharedPrograms.simpleCondToIntDL.p3'('progDefs.nonvar.f1'(A), B, C) :-
        'strings':'~strings.stringInts.p2'('"NONVAR(', D),
        'lists':'~lists.append.p3'(D, E, B),
        '~sharedPrograms.termToIntDL.p9'(A, _, _, _, _, _, _, E, F),
        '~sharedPrograms.charDL.p3'('")', F, C).
'sharedPrograms.simpleCondToIntDL.p3'('progDefs.ground.f1'(A), B, C) :-
        'strings':'strings.stringInts.p2'('"GROUND(', D),
        'lists':'lists.append.p3'(D, E, B),
        'sharedPrograms.termToIntDL.p9'(A, _, _, _, _, _, _, E, F),
        'sharedPrograms.charDL.p3'('")', F, C).
'~sharedPrograms.simpleCondToIntDL.p3'('progDefs.ground.f1'(A), B, C) :-
        'strings':'~strings.stringInts.p2'('"GROUND(', D),
        'lists':'~lists.append.p3'(D, E, B),
        '~sharedPrograms.termToIntDL.p9'(A, _, _, _, _, _, _, E, F),
        '~sharedPrograms.charDL.p3'('")', F, C).
'sharedPrograms.simpleCondToIntDL.p3'('progDefs.and.f2'(A,B), C, D) :-
        'sharedPrograms.charDL.p3'('"(', C, E),
        'sharedPrograms.andSeqToIntDL.p3'('progDefs.and.f2'(A,B), E, F),
        'sharedPrograms.charDL.p3'('")', F, D).
'~sharedPrograms.simpleCondToIntDL.p3'('progDefs.and.f2'(A,B), C, D) :-
        '~sharedPrograms.charDL.p3'('"(', C, E),
        '~sharedPrograms.andSeqToIntDL.p3'('progDefs.and.f2'(A,B), E, F),
        '~sharedPrograms.charDL.p3'('")', F, D).
'sharedPrograms.simpleCondToIntDL.p3'('progDefs.or.f2'(A,B), C, D) :-
        'sharedPrograms.charDL.p3'('"(', C, E),
        'sharedPrograms.orSeqToIntDL.p3'('progDefs.or.f2'(A,B), E, F),
        'sharedPrograms.charDL.p3'('")', F, D).
'~sharedPrograms.simpleCondToIntDL.p3'('progDefs.or.f2'(A,B), C, D) :-
        '~sharedPrograms.charDL.p3'('"(', C, E),
        '~sharedPrograms.orSeqToIntDL.p3'('progDefs.or.f2'(A,B), E, F),
        '~sharedPrograms.charDL.p3'('")', F, D).
'sharedPrograms.statementInLanguage.p5'('metaDefs.<-''.f2'(A,B), C, 'metaDefs.<-''.f2'(D,E), F, G) :-
        'sharedPrograms.meltedBodyTyping.p8'(B, C, [], H, E, I, J, K),
        user:goedel_freeze(ground([K]), (K=[],true->'sharedPrograms':'sharedPrograms.headAtom.p9'(A,C,H,_,D,J,[],L,M),user:goedel_freeze(ground([M]),(M=[],true->'sharedPrograms':'sharedPrograms.fixRationals.p2'(I,F),'sharedPrograms':'sharedPrograms.checkHeadArgs.p4'(D,L,C,G);G=M));G=K)).
'~sharedPrograms.statementInLanguage.p5'('metaDefs.<-''.f2'(A,B), C, 'metaDefs.<-''.f2'(D,E), F, G) :-
        '~sharedPrograms.meltedBodyTyping.p8'(B, C, [], H, E, I, J, K),
        user:goedel_freeze(ground([K]), (K=[],true->'sharedPrograms':'~sharedPrograms.headAtom.p9'(A,C,H,_,D,J,[],L,M),user:goedel_freeze(ground([M]),(M=[],true->'sharedPrograms':'~sharedPrograms.fixRationals.p2'(I,F),'sharedPrograms':'~sharedPrograms.checkHeadArgs.p4'(D,L,C,G);G=M));G=K)).
'sharedPrograms.typeInLanguage.p2'('metaDefs.par.f2'(_,_), _).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.par.f2'(_,_), _).
'sharedPrograms.typeInLanguage.p2'('metaDefs.par.f1'(_), _).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.par.f1'(_), _).
'sharedPrograms.typeInLanguage.p2'('metaDefs.bType.f1'(A), B) :-
        'sharedPrograms.baseInLanguage.p2'(A, B).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.bType.f1'(A), B) :-
        '~sharedPrograms.baseInLanguage.p2'(A, B).
'sharedPrograms.typeInLanguage.p2'('metaDefs.xBType.f1'(A), B) :-
        'sharedPrograms.baseInLanguage.p2'(A, B).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.xBType.f1'(A), B) :-
        '~sharedPrograms.baseInLanguage.p2'(A, B).
'sharedPrograms.typeInLanguage.p2'('metaDefs.type.f2'(A,B), C) :-
        'sharedPrograms.constructorInLanguage.p3'(A, C, D),
        'lists':'lists.length.p2'(B, D),
        'sharedPrograms.listTypesInLanguage.p2'(B, C).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.type.f2'(A,B), C) :-
        '~sharedPrograms.constructorInLanguage.p3'(A, C, D),
        'lists':'~lists.length.p2'(B, D),
        '~sharedPrograms.listTypesInLanguage.p2'(B, C).
'sharedPrograms.typeInLanguage.p2'('metaDefs.xType.f2'(A,B), C) :-
        'sharedPrograms.constructorInLanguage.p3'(A, C, D),
        'lists':'lists.length.p2'(B, D),
        'sharedPrograms.listTypesInLanguage.p2'(B, C).
'~sharedPrograms.typeInLanguage.p2'('metaDefs.xType.f2'(A,B), C) :-
        '~sharedPrograms.constructorInLanguage.p3'(A, C, D),
        'lists':'~lists.length.p2'(B, D),
        '~sharedPrograms.listTypesInLanguage.p2'(B, C).
'sharedPrograms.termToIntDL.p9'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J) :-
        user:goedel_freeze(ground([A,C]), if(('sharedPrograms':'~sharedPrograms.functionInLanguage.p5'(A,C,K,_,_),true),('sharedPrograms':'sharedPrograms.termToIntDLAux.p11'(K,A,B,C,D,E,L,G,H,I,J),F=L),(F='syntax.noFunctInd.c0',G='sharedPrograms.bounded.c0',H='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.termInLanguage.p5'('metaDefs.term.f2'(A,B),D,'metaDefs.varTyping.f1'(E),_,M),'sharedPrograms':'sharedPrograms.charDL.p3'('"<',I,N),'sharedPrograms':'sharedPrograms.typeToIntDL.p4'(M,C,N,O),'sharedPrograms':'sharedPrograms.charDL.p3'('">',O,J)))).
'~sharedPrograms.termToIntDL.p9'('metaDefs.term.f2'(A,B), C, D, E, F, G, H, I, J) :-
        user:goedel_freeze(ground([A,C]), if(('sharedPrograms':'~sharedPrograms.functionInLanguage.p5'(A,C,K,_,_),true),('sharedPrograms':'~sharedPrograms.termToIntDLAux.p11'(K,A,B,C,D,E,L,G,H,I,J),F=L),(F='syntax.noFunctInd.c0',G='sharedPrograms.bounded.c0',H='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.termInLanguage.p5'('metaDefs.term.f2'(A,B),D,'metaDefs.varTyping.f1'(E),_,M),'sharedPrograms':'~sharedPrograms.charDL.p3'('"<',I,N),'sharedPrograms':'~sharedPrograms.typeToIntDL.p4'(M,C,N,O),'sharedPrograms':'~sharedPrograms.charDL.p3'('">',O,J)))).
'sharedPrograms.termToIntDL.p9'('metaDefs.xTerm.f3'(_,_,A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        'sharedPrograms.charDL.p3'('"<', C, E),
        'sharedPrograms.typeToIntDL.p4'(A, B, E, F),
        'sharedPrograms.charDL.p3'('">', F, D).
'~sharedPrograms.termToIntDL.p9'('metaDefs.xTerm.f3'(_,_,A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        '~sharedPrograms.charDL.p3'('"<', C, E),
        '~sharedPrograms.typeToIntDL.p4'(A, B, E, F),
        '~sharedPrograms.charDL.p3'('">', F, D).
'sharedPrograms.termToIntDL.p9'('metaDefs.cTerm.f1'(A), B, C, D, 'syntax.noFunctInd.c0', E, E, F, G) :-
        user:goedel_freeze(ground([A,B]), ('sharedPrograms':'~sharedPrograms.constantInLanguage.p3'(A,B,_),true->'sharedPrograms':'sharedPrograms.constantToIntDL.p4'(A,E,F,G);E='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.termInLanguage.p5'('metaDefs.cTerm.f1'(A),C,'metaDefs.varTyping.f1'(D),_,H),'sharedPrograms':'sharedPrograms.charDL.p3'('"<',F,I),'sharedPrograms':'sharedPrograms.typeToIntDL.p4'(H,B,I,J),'sharedPrograms':'sharedPrograms.charDL.p3'('">',J,G))).
'~sharedPrograms.termToIntDL.p9'('metaDefs.cTerm.f1'(A), B, C, D, 'syntax.noFunctInd.c0', E, E, F, G) :-
        user:goedel_freeze(ground([A,B]), ('sharedPrograms':'~sharedPrograms.constantInLanguage.p3'(A,B,_),true->'sharedPrograms':'~sharedPrograms.constantToIntDL.p4'(A,E,F,G);E='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.termInLanguage.p5'('metaDefs.cTerm.f1'(A),C,'metaDefs.varTyping.f1'(D),_,H),'sharedPrograms':'~sharedPrograms.charDL.p3'('"<',F,I),'sharedPrograms':'~sharedPrograms.typeToIntDL.p4'(H,B,I,J),'sharedPrograms':'~sharedPrograms.charDL.p3'('">',J,G))).
'sharedPrograms.termToIntDL.p9'('metaDefs.xCTerm.f2'(_,A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        'sharedPrograms.charDL.p3'('"<', C, E),
        'sharedPrograms.typeToIntDL.p4'(A, B, E, F),
        'sharedPrograms.charDL.p3'('">', F, D).
'~sharedPrograms.termToIntDL.p9'('metaDefs.xCTerm.f2'(_,A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        '~sharedPrograms.charDL.p3'('"<', C, E),
        '~sharedPrograms.typeToIntDL.p4'(A, B, E, F),
        '~sharedPrograms.charDL.p3'('">', F, D).
'sharedPrograms.termToIntDL.p9'('metaDefs.var.f2'(A,B), _, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.alphaNum.c0', 'sharedPrograms.alphaNum.c0', C, D) :-
        'strings':'strings.stringInts.p2'(A, E),
        'lists':'lists.append.p3'(E, F, C),
        user:goedel_freeze(ground([B,A]), ((B=0;'strings':concat('"_',_,G),A=G),true->D=F;'sharedPrograms':'sharedPrograms.charDL.p3'('"_',F,H),'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(B,H,D))).
'~sharedPrograms.termToIntDL.p9'('metaDefs.var.f2'(A,B), _, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.alphaNum.c0', 'sharedPrograms.alphaNum.c0', C, D) :-
        'strings':'~strings.stringInts.p2'(A, E),
        'lists':'~lists.append.p3'(E, F, C),
        user:goedel_freeze(ground([B,A]), ((B=0;'strings':concat('"_',_,G),A=G),true->D=F;'sharedPrograms':'~sharedPrograms.charDL.p3'('"_',F,H),'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(B,H,D))).
'sharedPrograms.termToIntDL.p9'('metaDefs.var.f1'(A), _, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.alphaNum.c0', 'sharedPrograms.alphaNum.c0', B, C) :-
        'strings':'strings.stringInts.p2'('"v', D),
        'lists':'lists.append.p3'(D, E, B),
        user:goedel_freeze(ground([A]), (A=0,true->C=E;'sharedPrograms':'sharedPrograms.charDL.p3'('"_',E,F),'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(A,F,C))).
'~sharedPrograms.termToIntDL.p9'('metaDefs.var.f1'(A), _, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.alphaNum.c0', 'sharedPrograms.alphaNum.c0', B, C) :-
        'strings':'~strings.stringInts.p2'('"v', D),
        'lists':'~lists.append.p3'(D, E, B),
        user:goedel_freeze(ground([A]), (A=0,true->C=E;'sharedPrograms':'~sharedPrograms.charDL.p3'('"_',E,F),'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(A,F,C))).
'sharedPrograms.termToIntDL.p9'('metaDefs.str.f1'(A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        'sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Strings','"String','metaDefs.base.c0',0), B),
        'strings':'strings.stringInts.p2'(A, E),
        'sharedPrograms.expandString.p3'(E, C, D).
'~sharedPrograms.termToIntDL.p9'('metaDefs.str.f1'(A), B, _, _, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', C, D) :-
        '~sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Strings','"String','metaDefs.base.c0',0), B),
        'strings':'~strings.stringInts.p2'(A, E),
        '~sharedPrograms.expandString.p3'(E, C, D).
'sharedPrograms.termToIntDL.p9'('metaDefs.int.f1'(A), B, _, _, C, D, 'sharedPrograms.alphaNum.c0', E, F) :-
        'sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Integers','"Integer','metaDefs.base.c0',0), B),
        'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(A, E, F),
        user:goedel_freeze(ground([A]), ('integers':'~integers.<.p2'(A,0),true->'sharedPrograms':'sharedPrograms.functionInLanguage.p5'('metaDefs.name.f4'('"Integers','"-','metaDefs.function.c0',1),B,C,_,_),D='sharedPrograms.graphic.c0';C='syntax.noFunctInd.c0',D='sharedPrograms.alphaNum.c0')).
'~sharedPrograms.termToIntDL.p9'('metaDefs.int.f1'(A), B, _, _, C, D, 'sharedPrograms.alphaNum.c0', E, F) :-
        '~sharedPrograms.baseInLanguage.p2'('metaDefs.name.f4'('"Integers','"Integer','metaDefs.base.c0',0), B),
        'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(A, E, F),
        user:goedel_freeze(ground([A]), ('integers':'~integers.<.p2'(A,0),true->'sharedPrograms':'~sharedPrograms.functionInLanguage.p5'('metaDefs.name.f4'('"Integers','"-','metaDefs.function.c0',1),B,C,_,_),D='sharedPrograms.graphic.c0';C='syntax.noFunctInd.c0',D='sharedPrograms.alphaNum.c0')).
'sharedPrograms.termToIntDL.p9'('metaDefs.prm.f1'(A), B, C, D, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', E, F) :-
        'sharedPrograms.termInLanguage.p5'('metaDefs.prm.f1'(A), C, 'metaDefs.varTyping.f1'(D), _, G),
        'sharedPrograms.charDL.p3'('"<', E, H),
        'sharedPrograms.typeToIntDL.p4'(G, B, H, I),
        'sharedPrograms.charDL.p3'('">', I, F).
'~sharedPrograms.termToIntDL.p9'('metaDefs.prm.f1'(A), B, C, D, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', E, F) :-
        '~sharedPrograms.termInLanguage.p5'('metaDefs.prm.f1'(A), C, 'metaDefs.varTyping.f1'(D), _, G),
        '~sharedPrograms.charDL.p3'('"<', E, H),
        '~sharedPrograms.typeToIntDL.p4'(G, B, H, I),
        '~sharedPrograms.charDL.p3'('">', I, F).
'sharedPrograms.termToIntDL.p9'('metaDefs.suchThat.f2'(A,B), C, D, E, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', F, G) :-
        'sharedPrograms.charDL.p3'('"{', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'strings':'strings.stringInts.p2'('" : ', J),
        'lists':'lists.append.p3'(J, K, I),
        'sharedPrograms.formulaToIntDL.p6'(B, C, D, E, K, L),
        'sharedPrograms.charDL.p3'('"}', L, G).
'~sharedPrograms.termToIntDL.p9'('metaDefs.suchThat.f2'(A,B), C, D, E, 'syntax.noFunctInd.c0', 'sharedPrograms.bounded.c0', 'sharedPrograms.bounded.c0', F, G) :-
        '~sharedPrograms.charDL.p3'('"{', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'strings':'~strings.stringInts.p2'('" : ', J),
        'lists':'~lists.append.p3'(J, K, I),
        '~sharedPrograms.formulaToIntDL.p6'(B, C, D, E, K, L),
        '~sharedPrograms.charDL.p3'('"}', L, G).
'sharedPrograms.termListToIntDL.p6'([A|B], C, D, E, F, G) :-
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, F, H),
        'sharedPrograms.termListToIntDLAux.p6'(B, C, D, E, H, G).
'~sharedPrograms.termListToIntDL.p6'([A|B], C, D, E, F, G) :-
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, F, H),
        '~sharedPrograms.termListToIntDLAux.p6'(B, C, D, E, H, G).
'sharedPrograms.termInLanguage.p5'(A, B, 'metaDefs.varTyping.f1'(C), 'metaDefs.varTyping.f1'(D), E) :-
        'sharedPrograms.meltVariableTyping.p4'(C, B, [], F),
        'sharedPrograms.meltedTermType.p9'(A, E, B, F, D, _, [], [], []),
        'sharedPrograms.fixType.p3'(E, 0, G),
        'sharedPrograms.fixVariableTyping.p2'(D, G).
'~sharedPrograms.termInLanguage.p5'(A, B, 'metaDefs.varTyping.f1'(C), 'metaDefs.varTyping.f1'(D), E) :-
        '~sharedPrograms.meltVariableTyping.p4'(C, B, [], F),
        '~sharedPrograms.meltedTermType.p9'(A, E, B, F, D, _, [], [], []),
        '~sharedPrograms.fixType.p3'(E, 0, G),
        '~sharedPrograms.fixVariableTyping.p2'(D, G).
'sharedPrograms.termListToIntDLAux.p6'([], _, _, _, A, A).
'~sharedPrograms.termListToIntDLAux.p6'([], _, _, _, A, A).
'sharedPrograms.termListToIntDLAux.p6'([A|B], C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('",', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.termListToIntDLAux.p6'(B, C, D, E, I, G).
'~sharedPrograms.termListToIntDLAux.p6'([A|B], C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('",', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.termListToIntDLAux.p6'(B, C, D, E, I, G).
'sharedPrograms.termToIntList.p4'(A, B, C, D) :-
        'sharedPrograms.programLanguage.p2'(A, E),
        'sharedPrograms.moduleLanguage.p3'(A, B, F),
        'sharedPrograms.termInLanguage.p5'(C, E, 'metaDefs.varTyping.f1'([]), 'metaDefs.varTyping.f1'(G), _),
        'sharedPrograms.termToIntDL.p9'(C, F, E, G, _, _, _, D, []).
'~sharedPrograms.termToIntList.p4'(A, B, C, D) :-
        '~sharedPrograms.programLanguage.p2'(A, E),
        '~sharedPrograms.moduleLanguage.p3'(A, B, F),
        '~sharedPrograms.termInLanguage.p5'(C, E, 'metaDefs.varTyping.f1'([]), 'metaDefs.varTyping.f1'(G), _),
        '~sharedPrograms.termToIntDL.p9'(C, F, E, G, _, _, _, D, []).
'sharedPrograms.termToIntDLAux.p11'('syntax.noFunctInd.c0', 'metaDefs.name.f4'(A,B,C,D), E, F, G, H, 'syntax.noFunctInd.c0', I, 'sharedPrograms.bounded.c0', J, K) :-
        user:goedel_freeze(ground([D,C,A,B]), ((A='"Lists',B='"Cons',C='metaDefs.function.c0',D=2),true->I='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.listExprToIntDL.p6'(E,F,G,H,J,K);user:goedel_freeze(ground([D,C,A,B]),((A='"Sets',B='"Inc',C='metaDefs.function.c0',D=2),true->I='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.setExprToIntDL.p6'(E,F,G,H,J,K);'sharedPrograms':'sharedPrograms.classifyToken.p2'(B,I),'strings':'strings.stringInts.p2'(B,L),'lists':'lists.append.p3'(L,M,J),'sharedPrograms':'sharedPrograms.charDL.p3'('"(',M,N),'sharedPrograms':'sharedPrograms.termListToIntDL.p6'(E,F,G,H,N,O),'sharedPrograms':'sharedPrograms.charDL.p3'('")',O,K))))).
'~sharedPrograms.termToIntDLAux.p11'('syntax.noFunctInd.c0', 'metaDefs.name.f4'(A,B,C,D), E, F, G, H, 'syntax.noFunctInd.c0', I, 'sharedPrograms.bounded.c0', J, K) :-
        user:goedel_freeze(ground([D,C,A,B]), ((A='"Lists',B='"Cons',C='metaDefs.function.c0',D=2),true->I='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.listExprToIntDL.p6'(E,F,G,H,J,K);user:goedel_freeze(ground([D,C,A,B]),((A='"Sets',B='"Inc',C='metaDefs.function.c0',D=2),true->I='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.setExprToIntDL.p6'(E,F,G,H,J,K);'sharedPrograms':'~sharedPrograms.classifyToken.p2'(B,I),'strings':'~strings.stringInts.p2'(B,L),'lists':'~lists.append.p3'(L,M,J),'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',M,N),'sharedPrograms':'~sharedPrograms.termListToIntDL.p6'(E,F,G,H,N,O),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',O,K))))).
'sharedPrograms.termToIntDLAux.p11'('syntax.xFX.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        'sharedPrograms.binaryInfixToIntDL.p12'('syntax.xFX.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'~sharedPrograms.termToIntDLAux.p11'('syntax.xFX.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        '~sharedPrograms.binaryInfixToIntDL.p12'('syntax.xFX.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'sharedPrograms.termToIntDLAux.p11'('syntax.xFY.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        'sharedPrograms.binaryInfixToIntDL.p12'('syntax.xFY.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'~sharedPrograms.termToIntDLAux.p11'('syntax.xFY.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        '~sharedPrograms.binaryInfixToIntDL.p12'('syntax.xFY.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'sharedPrograms.termToIntDLAux.p11'('syntax.yFX.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        'sharedPrograms.binaryInfixToIntDL.p12'('syntax.yFX.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'~sharedPrograms.termToIntDLAux.p11'('syntax.yFX.f1'(A), B, [C,D], E, F, G, H, I, J, K, L) :-
        '~sharedPrograms.binaryInfixToIntDL.p12'('syntax.yFX.f1'(A), B, C, D, E, F, G, H, I, J, K, L).
'sharedPrograms.termToIntDLAux.p11'('syntax.fX.f1'(A), B, [C], D, E, F, 'syntax.fX.f1'(A), G, H, I, J) :-
        'sharedPrograms.unaryPrefixToIntDL.p10'('syntax.fX.f1'(A), B, C, D, E, F, G, H, I, J).
'~sharedPrograms.termToIntDLAux.p11'('syntax.fX.f1'(A), B, [C], D, E, F, 'syntax.fX.f1'(A), G, H, I, J) :-
        '~sharedPrograms.unaryPrefixToIntDL.p10'('syntax.fX.f1'(A), B, C, D, E, F, G, H, I, J).
'sharedPrograms.termToIntDLAux.p11'('syntax.fY.f1'(A), B, [C], D, E, F, 'syntax.fY.f1'(A), G, H, I, J) :-
        'sharedPrograms.unaryPrefixToIntDL.p10'('syntax.fY.f1'(A), B, C, D, E, F, G, H, I, J).
'~sharedPrograms.termToIntDLAux.p11'('syntax.fY.f1'(A), B, [C], D, E, F, 'syntax.fY.f1'(A), G, H, I, J) :-
        '~sharedPrograms.unaryPrefixToIntDL.p10'('syntax.fY.f1'(A), B, C, D, E, F, G, H, I, J).
'sharedPrograms.termToIntDLAux.p11'('syntax.xF.f1'(A), B, [C], D, E, F, 'syntax.xF.f1'(A), G, H, I, J) :-
        'sharedPrograms.unaryPostfixToIntDL.p10'('syntax.xF.f1'(A), B, C, D, E, F, G, H, I, J).
'~sharedPrograms.termToIntDLAux.p11'('syntax.xF.f1'(A), B, [C], D, E, F, 'syntax.xF.f1'(A), G, H, I, J) :-
        '~sharedPrograms.unaryPostfixToIntDL.p10'('syntax.xF.f1'(A), B, C, D, E, F, G, H, I, J).
'sharedPrograms.termToIntDLAux.p11'('syntax.yF.f1'(A), B, [C], D, E, F, 'syntax.yF.f1'(A), G, H, I, J) :-
        'sharedPrograms.unaryPostfixToIntDL.p10'('syntax.yF.f1'(A), B, C, D, E, F, G, H, I, J).
'~sharedPrograms.termToIntDLAux.p11'('syntax.yF.f1'(A), B, [C], D, E, F, 'syntax.yF.f1'(A), G, H, I, J) :-
        '~sharedPrograms.unaryPostfixToIntDL.p10'('syntax.yF.f1'(A), B, C, D, E, F, G, H, I, J).
'sharedPrograms.thenPartToIntDL.p6'(A, B, C, D, E, F) :-
        'sharedPrograms.formulaToIntDL.p6'(A, B, C, D, G, H),
        user:goedel_freeze(ground([A]), ('sharedPrograms':'~sharedPrograms.mustBracketThen.p1'(A),true->'sharedPrograms':'sharedPrograms.charDL.p3'('"(',E,G),'sharedPrograms':'sharedPrograms.charDL.p3'('")',H,F);E=G,F=H)).
'~sharedPrograms.thenPartToIntDL.p6'(A, B, C, D, E, F) :-
        '~sharedPrograms.formulaToIntDL.p6'(A, B, C, D, G, H),
        user:goedel_freeze(ground([A]), ('sharedPrograms':'~sharedPrograms.mustBracketThen.p1'(A),true->'sharedPrograms':'~sharedPrograms.charDL.p3'('"(',E,G),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',H,F);E=G,F=H)).
'sharedPrograms.typeSymbolInLanguage.p3'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F) :-
        'sharedPrograms.avlFind.p3'(E, A, 'progDefs.module.f3'(G,'progDefs.categories.f2'(H,_),_)),
        'sharedPrograms.avlFind.p3'(H, B, I),
        'sharedPrograms.findDescriptor.p5'(I, G, C, D, F).
'~sharedPrograms.typeSymbolInLanguage.p3'('metaDefs.name.f4'(A,B,C,D), 'progDefs.language.f1'(E), F) :-
        '~sharedPrograms.avlFind.p3'(E, A, 'progDefs.module.f3'(G,'progDefs.categories.f2'(H,_),_)),
        '~sharedPrograms.avlFind.p3'(H, B, I),
        '~sharedPrograms.findDescriptor.p5'(I, G, C, D, F).
'sharedPrograms.typeListToIntDL.p4'([A|B], C, D, E) :-
        'sharedPrograms.typeToIntDL.p4'(A, C, D, F),
        'sharedPrograms.typeListToIntDLAux.p4'(B, C, F, E).
'~sharedPrograms.typeListToIntDL.p4'([A|B], C, D, E) :-
        '~sharedPrograms.typeToIntDL.p4'(A, C, D, F),
        '~sharedPrograms.typeListToIntDLAux.p4'(B, C, F, E).
'sharedPrograms.typeListToIntDLAux.p4'([], _, A, A).
'~sharedPrograms.typeListToIntDLAux.p4'([], _, A, A).
'sharedPrograms.typeListToIntDLAux.p4'([A|B], C, D, E) :-
        'sharedPrograms.charDL.p3'('",', D, F),
        'sharedPrograms.typeToIntDL.p4'(A, C, F, G),
        'sharedPrograms.typeListToIntDLAux.p4'(B, C, G, E).
'~sharedPrograms.typeListToIntDLAux.p4'([A|B], C, D, E) :-
        '~sharedPrograms.charDL.p3'('",', D, F),
        '~sharedPrograms.typeToIntDL.p4'(A, C, F, G),
        '~sharedPrograms.typeListToIntDLAux.p4'(B, C, G, E).
'sharedPrograms.unaryPrefixToIntDL.p10'(A, 'metaDefs.name.f4'(_,B,_,_), C, D, E, F, G, H, I, J) :-
        'sharedPrograms.termToIntDL.p9'(C, D, E, F, K, L, M, N, O),
        'sharedPrograms.classifyToken.p2'(B, G),
        'strings':'strings.stringInts.p2'(B, P),
        'lists':'lists.append.p3'(P, Q, I),
        user:goedel_freeze(ground([A,K]), (('sharedPrograms':'~sharedPrograms.lPrec.p2'(K,R),'sharedPrograms':'~sharedPrograms.rPrec.p2'(A,S),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(R,S)),true->H=M,'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(G,L,Q,N),J=O;H='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"(',Q,N),'sharedPrograms':'sharedPrograms.charDL.p3'('")',O,J))).
'~sharedPrograms.unaryPrefixToIntDL.p10'(A, 'metaDefs.name.f4'(_,B,_,_), C, D, E, F, G, H, I, J) :-
        '~sharedPrograms.termToIntDL.p9'(C, D, E, F, K, L, M, N, O),
        '~sharedPrograms.classifyToken.p2'(B, G),
        'strings':'~strings.stringInts.p2'(B, P),
        'lists':'~lists.append.p3'(P, Q, I),
        user:goedel_freeze(ground([A,K]), (('sharedPrograms':'~sharedPrograms.lPrec.p2'(K,R),'sharedPrograms':'~sharedPrograms.rPrec.p2'(A,S),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(R,S)),true->H=M,'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(G,L,Q,N),J=O;H='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"(',Q,N),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',O,J))).
'sharedPrograms.typeToIntDL.p4'('metaDefs.type.f2'(A,B), C, D, E) :-
        'sharedPrograms.constructorInLanguage.p3'(A, C, F),
        'lists':'lists.length.p2'(B, F),
        A='metaDefs.name.f4'(_,G,_,_),
        'strings':'strings.stringInts.p2'(G, H),
        'lists':'lists.append.p3'(H, I, D),
        'sharedPrograms.charDL.p3'('"(', I, J),
        'sharedPrograms.typeListToIntDL.p4'(B, C, J, K),
        'sharedPrograms.charDL.p3'('")', K, E).
'~sharedPrograms.typeToIntDL.p4'('metaDefs.type.f2'(A,B), C, D, E) :-
        '~sharedPrograms.constructorInLanguage.p3'(A, C, F),
        'lists':'~lists.length.p2'(B, F),
        A='metaDefs.name.f4'(_,G,_,_),
        'strings':'~strings.stringInts.p2'(G, H),
        'lists':'~lists.append.p3'(H, I, D),
        '~sharedPrograms.charDL.p3'('"(', I, J),
        '~sharedPrograms.typeListToIntDL.p4'(B, C, J, K),
        '~sharedPrograms.charDL.p3'('")', K, E).
'sharedPrograms.typeToIntDL.p4'('metaDefs.bType.f1'(A), B, C, D) :-
        'sharedPrograms.baseInLanguage.p2'(A, B),
        A='metaDefs.name.f4'(_,E,_,_),
        'strings':'strings.stringInts.p2'(E, F),
        'lists':'lists.append.p3'(F, D, C).
'~sharedPrograms.typeToIntDL.p4'('metaDefs.bType.f1'(A), B, C, D) :-
        '~sharedPrograms.baseInLanguage.p2'(A, B),
        A='metaDefs.name.f4'(_,E,_,_),
        'strings':'~strings.stringInts.p2'(E, F),
        'lists':'~lists.append.p3'(F, D, C).
'sharedPrograms.typeToIntDL.p4'('metaDefs.par.f2'(A,B), _, C, D) :-
        'strings':'strings.stringInts.p2'(A, E),
        'lists':'lists.append.p3'(E, F, C),
        user:goedel_freeze(ground([B]), (B=0,true->D=F;'sharedPrograms':'sharedPrograms.charDL.p3'('"_',F,G),'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(B,G,D))).
'~sharedPrograms.typeToIntDL.p4'('metaDefs.par.f2'(A,B), _, C, D) :-
        'strings':'~strings.stringInts.p2'(A, E),
        'lists':'~lists.append.p3'(E, F, C),
        user:goedel_freeze(ground([B]), (B=0,true->D=F;'sharedPrograms':'~sharedPrograms.charDL.p3'('"_',F,G),'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(B,G,D))).
'sharedPrograms.typeToIntDL.p4'('metaDefs.par.f1'(A), _, B, C) :-
        'sharedPrograms.charDL.p3'('"p', B, D),
        user:goedel_freeze(ground([A]), (A=0,true->C=D;'sharedPrograms':'sharedPrograms.charDL.p3'('"_',D,E),'sharedSyntax':'sharedSyntax.integerToCharDL.p3'(A,E,C))).
'~sharedPrograms.typeToIntDL.p4'('metaDefs.par.f1'(A), _, B, C) :-
        '~sharedPrograms.charDL.p3'('"p', B, D),
        user:goedel_freeze(ground([A]), (A=0,true->C=D;'sharedPrograms':'~sharedPrograms.charDL.p3'('"_',D,E),'sharedSyntax':'~sharedSyntax.integerToCharDL.p3'(A,E,C))).
'sharedPrograms.unaryPostfixToIntDL.p10'(A, 'metaDefs.name.f4'(_,B,_,_), C, D, E, F, G, H, I, J) :-
        'sharedPrograms.termToIntDL.p9'(C, D, E, F, K, L, M, N, O),
        'sharedPrograms.classifyToken.p2'(B, H),
        user:goedel_freeze(ground([A,K]), (('sharedPrograms':'~sharedPrograms.rPrec.p2'(K,P),'sharedPrograms':'~sharedPrograms.lPrec.p2'(A,Q),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(P,Q)),true->G=L,I=N,'sharedPrograms':'sharedPrograms.spaceIfNeeded.p4'(M,H,O,R);G='sharedPrograms.bounded.c0','sharedPrograms':'sharedPrograms.charDL.p3'('"(',I,N),'sharedPrograms':'sharedPrograms.charDL.p3'('")',O,R))),
        'strings':'strings.stringInts.p2'(B, S),
        'lists':'lists.append.p3'(S, J, R).
'~sharedPrograms.unaryPostfixToIntDL.p10'(A, 'metaDefs.name.f4'(_,B,_,_), C, D, E, F, G, H, I, J) :-
        '~sharedPrograms.termToIntDL.p9'(C, D, E, F, K, L, M, N, O),
        '~sharedPrograms.classifyToken.p2'(B, H),
        user:goedel_freeze(ground([A,K]), (('sharedPrograms':'~sharedPrograms.rPrec.p2'(K,P),'sharedPrograms':'~sharedPrograms.lPrec.p2'(A,Q),'sharedPrograms':'~sharedPrograms.bindsTighter.p2'(P,Q)),true->G=L,I=N,'sharedPrograms':'~sharedPrograms.spaceIfNeeded.p4'(M,H,O,R);G='sharedPrograms.bounded.c0','sharedPrograms':'~sharedPrograms.charDL.p3'('"(',I,N),'sharedPrograms':'~sharedPrograms.charDL.p3'('")',O,R))),
        'strings':'~strings.stringInts.p2'(B, S),
        'lists':'~lists.append.p3'(S, J, R).
'sharedPrograms.updateDelays.p6'('progDefs.export.c0', A, B, C, [A|B], C).
'~sharedPrograms.updateDelays.p6'('progDefs.export.c0', A, B, C, [A|B], C).
'sharedPrograms.updateDelays.p6'('progDefs.closed.c0', A, B, C, [A|B], C).
'~sharedPrograms.updateDelays.p6'('progDefs.closed.c0', A, B, C, [A|B], C).
'sharedPrograms.updateDelays.p6'('progDefs.local.c0', A, B, C, B, [A|C]).
'~sharedPrograms.updateDelays.p6'('progDefs.local.c0', A, B, C, B, [A|C]).
'sharedPrograms.updateDelays.p6'('progDefs.module.c0', A, B, C, B, [A|C]).
'~sharedPrograms.updateDelays.p6'('progDefs.module.c0', A, B, C, B, [A|C]).
'sharedPrograms.varListToIntDL.p6'([A|B], C, D, E, F, G) :-
        'sharedPrograms.charDL.p3'('"[', F, H),
        'sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        'sharedPrograms.restVarListToIntDL.p6'(B, C, D, E, I, J),
        'sharedPrograms.charDL.p3'('"]', J, G).
'~sharedPrograms.varListToIntDL.p6'([A|B], C, D, E, F, G) :-
        '~sharedPrograms.charDL.p3'('"[', F, H),
        '~sharedPrograms.termToIntDL.p9'(A, C, D, E, _, _, _, H, I),
        '~sharedPrograms.restVarListToIntDL.p6'(B, C, D, E, I, J),
        '~sharedPrograms.charDL.p3'('"]', J, G).
%------------------------------------------------------------------------------
%------------------------------------------------------------------------------
% Prolog routines shared by the parser and Programs and Scripts system modules.
%------------------------------------------------------------------------------
%------------------------------------------------------------------------------
%------------------------------------------------------------------------------
% Useful routines
%------------------------------------------------------------------------------
 
'sharedPrograms.findMember.p2'(X, Ys) :-
   ( var(X) ->
     Ys = [Z|Zs],
     member_in(Zs, Z, X)
   ; user:'lists.memberCheck.p2'(X, Ys)
   ).

member_in([], X, X).

member_in([Y|Ys], Z, X) :-
   ( X = Z ; member_in(Ys, Y, X)).

'~sharedPrograms.findMember.p2'(X, Ys) :-
   'sharedPrograms.findMember.p2'(X, Ys).


'sharedPrograms.pickOne.p3'(X, Ys, Rest) :-
   ( var(X) ->
     delete_one(Ys, X, Rest)
   ; user:'lists.deleteFirst.p3'(X, Ys, Rest)
   ).

'~sharedPrograms.pickOne.p3'(X, Ys, Rest) :-
   'sharedPrograms.pickOne.p3'(X, Ys, Rest).


delete_one([Y|Ys], X, Rest) :-
   ( Ys = [] ->
     X = Y,
     Rest = Ys
   ;
     ( X = Y, 
       Rest = Ys
     ; delete_one(Ys, X, Rest1),
       Rest = [Y|Rest1]
     )
   ).

%------------------------------------------------------------------------------
% Support for access to symbols in language
%------------------------------------------------------------------------------ 
'SharedPrograms.findDescriptor.P5'([Desc|Descs], Access, Category, Arity, Decl) :-
   ( nonvar(Arity), nonvar(Category) ->
     one_descriptor_in([Desc|Descs], Access, Category, Arity, Decl)
   ; descriptor_in(Descs, Desc, Access, Category, Arity, Decl) 
   ).

'~sharedPrograms.findDescriptor.p5'(Descriptors, Access, Category, Arity, Decl) :-
   'sharedPrograms.findDescriptor.p5'(Descriptors, Access, Category, Arity, Decl).


descriptor_in([], Desc, Access, Cat, Arity, Decl) :-
   'sharedPrograms.matchingDescriptor.p5'(Desc, Access, Cat, Arity, Decl).

descriptor_in([D|Ds], Desc, Access, Cat, Arity, Decl) :-
   ( 'sharedPrograms.matchingDescriptor.p5'(Desc, Access, Cat, Arity, Decl)
   ; descriptor_in(Ds, D, Access, Cat, Arity, Decl)
   ).


one_descriptor_in([Desc|Descs], Access, Cat, Arity, Decl) :-
   ( 'sharedPrograms.matchingDescriptor.p5'(Desc, Access, Cat, Arity, Decl) ->
     true
   ; one_descriptor_in(Descs, Access, Cat, Arity, Decl)
   ).

%------------------------------------------------------------------------------
% Support for access to Program code
%------------------------------------------------------------------------------

'sharedPrograms.systemModule.p1'(S) :-
   (S == '"' ; user:system_module_name(S)), !.

'~sharedPrograms.systemModule.p1'(S) :-
   'sharedPrograms.systemModule.p1'(S).

 
'sharedPrograms.avlFind.p3'(Tree, Key, Item) :-
   ( var(Key) ->
     user:'avlTrees.avlMember.p3'(Tree, Key, Item)
   ; user:'avlTrees.avlSearch.p3'(Tree, Key, Item)
   ).

'~sharedPrograms.avlFind.p3'(Tree, Key, Item) :-
   'sharedPrograms.avlFind.p3'(Tree, Key, Item).


'sharedPrograms.findPredDef.p3'(Arity, PredDefs
      , 'progDefs.predDef.f4'(Arity, Statements, Delays1, Delays2)
      ) :-
   ( var(Arity) ->
     user:'lists.member.p2'('progDefs.predDef.f4'(Arity, Statements
           , Delays1, Delays2)
        , PredDefs)
   ; user:'lists.memberCheck.p2'('progDefs.predDef.f4'(Arity, Statements
           , Delays1, Delays2)
        , PredDefs)
   ).

'~sharedPrograms.findPredDef.p3'(Arity, PredDefs, Program) :-
   'sharedPrograms.findPredDef.p3'(Arity, PredDefs, Program).


'sharedPrograms.pickPredDef.p4'(Arity, PredDefs
      , 'progDefs.predDef.f4'(Arity, Statements, Delays1, Delays2), RestDefs
      ) :-
   ( var(Arity) ->
     'lists':'lists.delete.p3'('progDefs.predDef.f4'(Arity, Statements
           , Delays1, Delays2)
        , PredDefs, RestDefs)
   ; 'lists':'lists.deleteFirst.p3'('progDefs.predDef.f4'(Arity, Statements
           , Delays1, Delays2)
        , PredDefs, RestDefs)
   ).

'~sharedPrograms.pickPredDef.p4'(Arity, PredDefs, PredDef, RestDefs) :-
   'sharedPrograms.pickPredDef.p4'(Arity, PredDefs, PredDef, RestDefs).

%------------------------------------------------------------------------------
% Support for autorecompilation (Succeed etc.)
%------------------------------------------------------------------------------

:- dynamic used_module_version/2.

'sharedPrograms.nextModuleVersion.p2'(Module, Version) :-
   ( retract(used_module_version(Module, Old)) ->
     Version is Old + 1
   ; Version is 1
   ),
   assert(used_module_version(Module, Version)).

'~sharedPrograms.nextModuleVersion.p2'(Module, Version) :-
   'sharedPrograms.nextModuleVersion.p2'(Module, Version).


'sharedPrograms.systemModuleRep.p4'(Module, Definition, Descriptor, PredDefs) :-
   user:system_module(Module, Definition, Descriptor, PredDefs).

'~sharedPrograms.systemModuleRep.p4'(Module, Definition, Descriptor, PredDefs) :-
   'sharedPrograms.systemModuleRep.p4'(Module, Definition, Descriptor, PredDefs).
%------------------------------------------------------------------------------
% Support for Type Checking
%------------------------------------------------------------------------------

'sharedPrograms.fixType.p3'(Type, N, NewN) :-
   ( var(Type) ->
     Type = 'metaDefs.par.f1'(N), NewN is N + 1
   ; nonvar_fix_type(Type, N, NewN)
   ).

'~sharedPrograms.fixType.p3'(Type, N, NewN) :-
   'sharedPrograms.fixType.p3'(Type, N, NewN).

nonvar_fix_type('metaDefs.par.f1'(_), N, N).

nonvar_fix_type('metaDefs.par.f2'(_, _), N, N).

nonvar_fix_type('metaDefs.bType.f1'(_), N, N).

nonvar_fix_type('metaDefs.type.f2'(_, Args), N, NewN) :-
   list_fix_type(Args, N, NewN).


list_fix_type([], N, N).

list_fix_type([Type|Types], N, NewN) :-
   'sharedPrograms.fixType.p3'(Type, N, N1),
   list_fix_type(Types, N1, NewN).


'sharedPrograms.fixRationals.p2'([], 0).

'sharedPrograms.fixRationals.p2'([NumType|NumTypes], Count) :-
   fix_rational(NumType, R),
   'sharedPrograms.fixRationals.p2'(NumTypes, Count1),
   Count is Count1 + R.

'~sharedPrograms.fixRationals.p2'(NumTypes, Count) :-
   'sharedPrograms.fixRationals.p2'(NumTypes, Count).


fix_rational('sharedPrograms.numType.f3'(Value, 'metaDefs.bType.f1'(Name), Term)
      , Rational
      ) :-
   ( Name = 'metaDefs.name.f4'('"Rationals', '"Rational', 'metaDefs.base.c0', 0) ->
     'sharedPrograms.rationalTerm.p2'(Value, Term),
     Rational = 1
   ; Term = 'metaDefs.int.f1'(Value),
     Rational = 0
   ). 

%------------------------------------------------------------------------------
% Type Unification
%------------------------------------------------------------------------------
 
'sharedPrograms.unifyMeltedTypes.p4'(ContextType, ArgType, Term, Errors) :-
   ( unify_types(ContextType, ArgType) ->
     Errors = []
   ; copy_term((ContextType, ArgType), (ContextTypeCopy, ArgTypeCopy)),
     'sharedPrograms.fixType.p3'(ArgTypeCopy, 0, N),
     'sharedPrograms.fixType.p3'(ContextTypeCopy, N, _),
     Errors = ['sharedPrograms.typeError.f3'(Term, ArgTypeCopy, ContextTypeCopy)]
   ).

'~sharedPrograms.unifyMeltedTypes.p4'(ContextType, ArgType, Term, Errors) :-
   'sharedPrograms.unifyMeltedTypes.p4'(ContextType, ArgType, Term, Errors).

unify_types(Type1, Type2) :-
   ( nonvar(Type1) ->
     ( nonvar(Type2) ->
       nonvar_unify_types(Type1, Type2)
     ; not_occurs_in(Type1, Type2), Type2 = Type1
     )
   ; ( nonvar(Type2) ->
       not_occurs_in(Type2, Type1), Type1 = Type2
     ; Type1 = Type2
     )
   ).


nonvar_unify_types('metaDefs.bType.f1'(Name), 'metaDefs.bType.f1'(Name)).

nonvar_unify_types('metaDefs.type.f2'(Name, Args1), 
                   'metaDefs.type.f2'(Name, Args2)
                  ) :-   
   unify_type_lists(Args1, Args2).


unify_type_lists([], []).

unify_type_lists([Type1|Types1], [Type2|Types2]) :-
   unify_types(Type1, Type2),
   unify_type_lists(Types1, Types2).

 
not_occurs_in('metaDefs.bType.f1'(_), _).

not_occurs_in('metaDefs.type.f2'(_, Args), Var) :-
   not_occurs_in_list(Args, Var).


not_occurs_in_list([], _).

not_occurs_in_list([Term|Terms], Var) :-
   ( var(Term) ->
     Term \== Var
   ; not_occurs_in(Term, Var)
   ),
   not_occurs_in_list(Terms, Var).

%------------------------------------------------------------------------------
% Conversion between delay conditions and strings
%------------------------------------------------------------------------------
 
'sharedPrograms.sStringToCondition.p2'(String, Condition) :-
   user:'strings.stringInts.p2'(String, IntList),
   user:append(IntList, [46], Chars),    % 46 for .
   user:get_one_item_2nd(Chars, [], Item),
   user:cond(Item, [], Condition, [], Error, 1, 2, local),
   var(Error).

'~sharedPrograms.sStringToCondition.p2'(String, Condition) :-
   'sharedPrograms.sStringToCondition.p2'(String, Condition).

%------------------------------------------------------------------------------
% Support for ground representation to String conversion
%------------------------------------------------------------------------------

'sharedPrograms.charDL.p3'(Gstr, [Char|Chars], Chars) :-
   name(Gstr, [34, Char]). % 34 for "

'~sharedPrograms.charDL.p3'(Gstr, Chars, Chars1) :-
   'sharedPrograms.charDL.p3'(Gstr, Chars, Chars1).


'sharedPrograms.classifyToken.p2'(Token, Class) :-
   name(Token, [34, Sample|_]),   % 34 for "
   ( 65 =< Sample, Sample =< 90 ->   % 65 for A  90 for Z
     Class = 'sharedPrograms.alphaNum.c0'
   ; Class = 'sharedPrograms.graphic.c0'
   ).

'~sharedPrograms.classifyToken.p2'(Token, Class) :-
   'sharedPrograms.classifyToken.p2'(Token, Class).

%------------------------------------------------------------------------------
% Support for symbol insertion routines
%------------------------------------------------------------------------------
 
'sharedPrograms.addToDescriptorList.p6'(Descriptors, ModAccess, Category, Arity
      , NewDescriptor, [NewDescriptor|Descriptors]
      ) :-
   \+ 'sharedPrograms.findDescriptor.p5'(Descriptors, ModAccess, Category, Arity
         , _Declaration).

'~sharedPrograms.addToDescriptorList.p6'(Descriptors, ModAccess, Category, Arity
      , NewDescriptor, NewDescriptors
      ) :-
   'sharedPrograms.addToDescriptorList.p6'(Descriptors, ModAccess, Category, Arity
      , NewDescriptor, NewDescriptors).

%------------------------------------------------------------------------------
% Variant types (used to check head condition)
%------------------------------------------------------------------------------
 
'sharedPrograms.variantTypes.p4'(ContextType, ArgType, Term, Errors) :-
   ( variant_types(ContextType, ArgType, [], _) ->
     Errors = []
   ;
     copy_term((ContextType, ArgType), (ContextTypeCopy, ArgTypeCopy)),
     'sharedPrograms.fixType.p3'(ArgTypeCopy, 0, N),
     'sharedPrograms.fixType.p3'(ContextTypeCopy, N, _),
     Errors = ['sharedPrograms.headError.f3'(Term, ArgTypeCopy, ContextTypeCopy)]
   ).

'~sharedPrograms.variantTypes.p4'(ContextType, ArgType, Term, Errors) :-
   'sharedPrograms.variantTypes.p4'(ContextType, ArgType, Term, Errors).

variant_types(Type1, Type2, ParDict, NewParDict) :-
   ( var(Type1) ->
     var(Type2),
     ( in_par_dict(Type1, ParDict, Type1Alias) ->
       Type1Alias == Type2,
       NewParDict = ParDict
     ; NewParDict = [Type1/Type2|ParDict]
     )
   ; nonvar(Type2),
     nonvar_variant_types(Type1, Type2, ParDict, NewParDict)
   ).

nonvar_variant_types('metaDefs.bType.f1'(Name), 'metaDefs.bType.f1'(Name)
      , ParDict, ParDict).

nonvar_variant_types('metaDefs.type.f2'(Name, Args1)
      , 'metaDefs.type.f2'(Name, Args2), ParDict, NewParDict
      ) :-
   list_variant_types(Args1, Args2, ParDict, NewParDict).


list_variant_types([], [], ParDict, ParDict).

list_variant_types([Type1|Types1], [Type2|Types2], ParDict, NewParDict) :-
   variant_types(Type1, Type2, ParDict, ParDict1),
   list_variant_types(Types1, Types2, ParDict1, NewParDict).

in_par_dict(P1, [A1/A2|Entries], P2) :-
   ( P1 == A1 ->
     P2 = A2
   ; in_par_dict(P1, Entries, P2)
   ).
