:-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#binOp'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#binOp'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#defAtom'(::('/Functional#numPlus','/Functional#binOp'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#numPlus','/Functional#binOp'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#numPlus','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(+))),[]),'builtin#true'). '/bootstrap#projection'(::('/Functional#numPlus','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(+))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#applyBinOp'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'(D)),[])))),'.'('builtin#varName'(::(A,E),!('Arg1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('Arg2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#applyBinOp'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#applyBinOp'(A,B,C),'/Functional#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))))),'.'('builtin#varName'(::(A,E),!('Arg1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('Arg2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#applyBinOp'(A,B,C),'/Functional#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOp'(C,A,D),'/Functional#expr'(B))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Arg1')),'.'('builtin#varName'(::(D,H),!('Arg2')),[]))))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOp'(C,A,D),'/Functional#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/Functional#numPlus',B),'/bootstrap#number','/Functional#where'('/Functional#const'(C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#plus'(D,E,C))))),'.'('builtin#varName'(::(A,F),!('Arg1')),'.'('builtin#varName'(::(B,G),!('Arg2')),'.'('builtin#varName'(::(C,H),!('V')),'.'('builtin#varName'(::(D,I),!('V1')),'.'('builtin#varName'(::(E,J),!('V2')),[])))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/Functional#numPlus',B),'/bootstrap#number','/Functional#where'('/Functional#const'(C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#plus'(D,E,C))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(1),'/Functional#numPlus','/Functional#const'(2)),'/bootstrap#number',3)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(1),'/Functional#numPlus','/Functional#const'(2)),'/bootstrap#number',3)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#applyBinOpList'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(D))),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'('/bootstrap#list'(D))),[])))),'.'('builtin#varName'(::(A,E),!('L1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('L2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#applyBinOpList'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(D))),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'('/bootstrap#list'(D))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#applyBinOpList'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'(D)))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'('/bootstrap#list'(D)))),[]))))),'.'('builtin#varName'(::(A,E),!('L1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('L2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#applyBinOpList'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'(D)))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'('/bootstrap#list'(D)))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpList'(C,A,D),'/Functional#expr'('/bootstrap#list'(B)))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('L1')),'.'('builtin#varName'(::(D,H),!('L2')),[]))))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpList'(C,A,D),'/Functional#expr'('/bootstrap#list'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOpList'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'('.'(E,F)),','('/Functional#eval'(A,'/bootstrap#list'(D),'.'(G,H)),','('/Functional#eval'(C,'/bootstrap#list'(D),'.'(I,J)),','('/Functional#eval'('/Functional#applyBinOpList'('/Functional#const'(H),B,'/Functional#const'(J)),'/bootstrap#list'(D),F),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),B,'/Functional#const'(I)),D,E)))))),'.'('builtin#varName'(::(A,K),!('L1')),'.'('builtin#varName'(::(B,L),!('Op')),'.'('builtin#varName'(::(C,M),!('L2')),'.'('builtin#varName'(::(D,N),!('T')),'.'('builtin#varName'(::(E,O),!('First')),'.'('builtin#varName'(::(F,P),!('Rest')),'.'('builtin#varName'(::(G,Q),!('L11')),'.'('builtin#varName'(::(H,R),!('L1Prime')),'.'('builtin#varName'(::(I,S),!('L21')),'.'('builtin#varName'(::(J,T),!('L2Prime')),[]))))))))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOpList'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'('.'(E,F)),','('/Functional#eval'(A,'/bootstrap#list'(D),'.'(G,H)),','('/Functional#eval'(C,'/bootstrap#list'(D),'.'(I,J)),','('/Functional#eval'('/Functional#applyBinOpList'('/Functional#const'(H),B,'/Functional#const'(J)),'/bootstrap#list'(D),F),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),B,'/Functional#const'(I)),D,E)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOpList'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'([]),','('/Functional#eval'(A,'/bootstrap#list'(D),[]),'/Functional#eval'(C,'/bootstrap#list'(D),[])))),'.'('builtin#varName'(::(A,E),!('L1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('L2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOpList'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'([]),','('/Functional#eval'(A,'/bootstrap#list'(D),[]),'/Functional#eval'(C,'/bootstrap#list'(D),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOpList'('/Functional#const'('.'(1,'.'(2,'.'(3,[])))),'/Functional#numPlus','/Functional#applyBinOpList'('/Functional#const'('.'(4,'.'(5,'.'(6,[])))),'/Functional#numPlus','/Functional#const'('.'(3,'.'(2,'.'(1,[])))))),'/bootstrap#list'('/bootstrap#number'),'.'(8,'.'(9,'.'(10,[]))))),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOpList'('/Functional#const'('.'(1,'.'(2,'.'(3,[])))),'/Functional#numPlus','/Functional#applyBinOpList'('/Functional#const'('.'(4,'.'(5,'.'(6,[])))),'/Functional#numPlus','/Functional#const'('.'(3,'.'(2,'.'(1,[])))))),'/bootstrap#list'('/bootstrap#number'),'.'(8,'.'(9,'.'(10,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#applyBinOpListScalar'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(D))),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'(D)),[])))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('Scalar')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#applyBinOpListScalar'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(D))),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/Functional#expr'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#applyBinOpListScalar'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'(D)))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('Scalar')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#applyBinOpListScalar'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'(D)))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpListScalar'(C,A,D),'/Functional#expr'('/bootstrap#list'(B)))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('List')),'.'('builtin#varName'(::(D,H),!('Scalar')),[]))))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpListScalar'(C,A,D),'/Functional#expr'('/bootstrap#list'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOpListScalar'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'('.'(E,F)),','('/Functional#eval'(A,'/bootstrap#list'(D),'.'(G,H)),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),B,C),D,E),'/Functional#eval'('/Functional#applyBinOpListScalar'('/Functional#const'(H),B,C),'/bootstrap#list'(D),F))))),'.'('builtin#varName'(::(A,I),!('L')),'.'('builtin#varName'(::(B,J),!('Op')),'.'('builtin#varName'(::(C,K),!('Scalar')),'.'('builtin#varName'(::(D,L),!('T')),'.'('builtin#varName'(::(E,M),!('First')),'.'('builtin#varName'(::(F,N),!('Rest')),'.'('builtin#varName'(::(G,O),!('L1')),'.'('builtin#varName'(::(H,P),!('LPrime')),[]))))))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOpListScalar'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'('.'(E,F)),','('/Functional#eval'(A,'/bootstrap#list'(D),'.'(G,H)),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),B,C),D,E),'/Functional#eval'('/Functional#applyBinOpListScalar'('/Functional#const'(H),B,C),'/bootstrap#list'(D),F))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOpListScalar'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'([]),'/Functional#eval'(A,'/bootstrap#list'(D),[]))),'.'('builtin#varName'(::(A,E),!('L')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('Scalar')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOpListScalar'(A,B,C),'/bootstrap#list'(D),'/Functional#where'('/Functional#const'([]),'/Functional#eval'(A,'/bootstrap#list'(D),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOpListScalar'('/Functional#const'('.'(1,'.'(2,'.'(3,[])))),'/Functional#numPlus','/Functional#const'(2)),'/bootstrap#list'('/bootstrap#number'),'.'(3,'.'(4,'.'(5,[]))))),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#applyBinOpListScalar'('/Functional#const'('.'(1,'.'(2,'.'(3,[])))),'/Functional#numPlus','/Functional#const'(2)),'/bootstrap#list'('/bootstrap#number'),'.'(3,'.'(4,'.'(5,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#applyBinOpSet'(A,B,C),'/bootstrap#set'(D)),'.'(::(A,'/bootstrap#set'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/bootstrap#set'(D)),[])))),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('S2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#applyBinOpSet'(A,B,C),'/bootstrap#set'(D)),'.'(::(A,'/bootstrap#set'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/bootstrap#set'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#applyBinOpSet'(A,B,C),'/bootstrap#set'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/bootstrap#set'(D))),[]))),'cpi#middle')),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('S2')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#applyBinOpSet'(A,B,C),'/bootstrap#set'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/bootstrap#set'(D))),[]))),'cpi#middle')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpSet'(C,A,D),'/bootstrap#set'(B))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('S1')),'.'('builtin#varName'(::(D,H),!('S2')),[]))))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/Functional#applyBinOpSet'(C,A,D),'/bootstrap#set'(B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#setDef'('/Functional#applyBinOpSet'(A,B,C),'/Functional#eset'('/Functional#applyBinOp'('/Functional#const'(D),B,'/Functional#const'(E)),','('/bootstrap#member'(D,A,F),'/bootstrap#member'(E,C,F))),F),'.'('builtin#varName'(::(A,G),!('S1')),'.'('builtin#varName'(::(B,H),!('Op')),'.'('builtin#varName'(::(C,I),!('S2')),'.'('builtin#varName'(::(D,J),!('A1')),'.'('builtin#varName'(::(E,K),!('A2')),'.'('builtin#varName'(::(F,L),!('T')),[]))))))),'builtin#true'). '/bootstrap#setDef'('/Functional#applyBinOpSet'(A,B,C),'/Functional#eset'('/Functional#applyBinOp'('/Functional#const'(D),B,'/Functional#const'(E)),','('/bootstrap#member'(D,A,F),'/bootstrap#member'(E,C,F))),F). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#unitTest'('/bootstrap#member'(3,'/Functional#applyBinOpSet'('/bootstrap#singleton'(1),'/Functional#numPlus','/bootstrap#singleton'(2)),'/bootstrap#number')),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#member'(3,'/Functional#applyBinOpSet'('/bootstrap#singleton'(1),'/Functional#numPlus','/bootstrap#singleton'(2)),'/bootstrap#number')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#reduce'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#binOp'(C)),'.'(::(B,'/Functional#expr'('/bootstrap#list'(C))),[]))),'.'('builtin#varName'(::(A,D),!('Op')),'.'('builtin#varName'(::(B,E),!('L')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#reduce'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#binOp'(C)),'.'(::(B,'/Functional#expr'('/bootstrap#list'(C))),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#reduce'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#vis'(::(A,'/Functional#binOp'(C)))),'.'('/bootstrap#brackets'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#list'(C)))),40,41),[])))),'.'('builtin#varName'(::(A,D),!('Op')),'.'('builtin#varName'(::(B,E),!('L')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#reduce'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#vis'(::(A,'/Functional#binOp'(C)))),'.'('/bootstrap#brackets'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#list'(C)))),40,41),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#reduce'(A,B),C,'/Functional#where'('/Functional#applyBinOp'('/Functional#const'(D),A,'/Functional#reduce'(A,'/Functional#const'('.'(E,F)))),'/Functional#eval'(B,'/bootstrap#list'(C),'.'(D,'.'(E,F))))),'.'('builtin#varName'(::(A,G),!('Op')),'.'('builtin#varName'(::(B,H),!('L')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('L1')),'.'('builtin#varName'(::(E,K),!('L2')),'.'('builtin#varName'(::(F,L),!('LPrime')),[]))))))),'builtin#true'). '/Functional#def'('/Functional#reduce'(A,B),C,'/Functional#where'('/Functional#applyBinOp'('/Functional#const'(D),A,'/Functional#reduce'(A,'/Functional#const'('.'(E,F)))),'/Functional#eval'(B,'/bootstrap#list'(C),'.'(D,'.'(E,F))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#reduce'(A,B),C,'/Functional#where'('/Functional#const'(D),'/Functional#eval'(B,'/bootstrap#list'(C),'.'(D,[])))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('L')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('L1')),[]))))),'builtin#true'). '/Functional#def'('/Functional#reduce'(A,B),C,'/Functional#where'('/Functional#const'(D),'/Functional#eval'(B,'/bootstrap#list'(C),'.'(D,[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#reduce'('/Functional#numPlus','/Functional#const'('.'(1,'.'(2,'.'(3,[]))))),'/bootstrap#number',6)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#reduce'('/Functional#numPlus','/Functional#const'('.'(1,'.'(2,'.'(3,[]))))),'/bootstrap#number',6)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#defAtom'(::('/Functional#minus','/Functional#binOp'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#minus','/Functional#binOp'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#minus','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(-))),[]),'builtin#true'). '/bootstrap#projection'(::('/Functional#minus','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(-))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/Functional#minus',B),'/bootstrap#number','/Functional#minus'(A,B)),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/Functional#minus',B),'/bootstrap#number','/Functional#minus'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#defAtom'(::('/Functional#times','/Functional#binOp'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#times','/Functional#binOp'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#times','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(*))),[]),'builtin#true'). '/bootstrap#projection'(::('/Functional#times','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(*))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/Functional#times',B),'/bootstrap#number','/Functional#mult'(A,B)),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/Functional#times',B),'/bootstrap#number','/Functional#mult'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#defAtom'(::('/Functional#divBy','/Functional#binOp'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#divBy','/Functional#binOp'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#divBy','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(/))),[]),'builtin#true'). '/bootstrap#projection'(::('/Functional#divBy','/Functional#binOp'('/bootstrap#number')),'/bootstrap#label'(!(/))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/Functional#divBy',B),'/bootstrap#number','/Functional#div'(A,B)),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/Functional#divBy',B),'/bootstrap#number','/Functional#div'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#valueApplyBinOp'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,E),'.'(::(B,'/Functional#binOp'(E)),'.'(::(C,E),'.'(::(D,'/Functional#expr'(E)),'.'(::(E,'/bootstrap#type'),[])))))),'.'('builtin#varName'(::(A,F),!('APrime')),'.'('builtin#varName'(::(B,G),!('Op')),'.'('builtin#varName'(::(C,H),!('BPrime')),'.'('builtin#varName'(::(D,I),!('V')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#valueApplyBinOp'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,E),'.'(::(B,'/Functional#binOp'(E)),'.'(::(C,E),'.'(::(D,'/Functional#expr'(E)),'.'(::(E,'/bootstrap#type'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#projection'(::('/Functional#valueApplyBinOp'(A,B,C,D,E),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(E,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,E)),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(E))),'.'('/bootstrap#vis'(::(C,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(D,'/Functional#expr'(E))),[])))))))),'.'('builtin#varName'(::(A,F),!('APrime')),'.'('builtin#varName'(::(B,G),!('Op')),'.'('builtin#varName'(::(C,H),!('BPrime')),'.'('builtin#varName'(::(D,I),!('V')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#valueApplyBinOp'(A,B,C,D,E),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(E,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,E)),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(E))),'.'('/bootstrap#vis'(::(C,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(D,'/Functional#expr'(E))),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),:-('/Functional#valueApplyBinOp'(A,B,C,D,E),'builtin#fail'),'.'('builtin#varName'(::(A,F),!('APrime')),'.'('builtin#varName'(::(B,G),!('Op')),'.'('builtin#varName'(::(C,H),!('BPrime')),'.'('builtin#varName'(::(D,I),!('V')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). :-('/Functional#valueApplyBinOp'(A,B,C,D,E),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#disabled'('/Functional#def'('/Functional#applyBinOp'(A,B,C),D,'/Functional#where'(E,','('/Functional#eval'(A,D,F),','('/Functional#eval'(C,D,G),'/Functional#valueApplyBinOp'(F,B,G,E,D)))))),'.'('builtin#varName'(::(A,H),!('A')),'.'('builtin#varName'(::(B,I),!('Op')),'.'('builtin#varName'(::(C,J),!('B')),'.'('builtin#varName'(::(D,K),!('T')),'.'('builtin#varName'(::(E,L),!('V')),'.'('builtin#varName'(::(F,M),!('APrime')),'.'('builtin#varName'(::(G,N),!('BPrime')),[])))))))),'builtin#true'). '/bootstrap#disabled'('/Functional#def'('/Functional#applyBinOp'(A,B,C),D,'/Functional#where'(E,','('/Functional#eval'(A,D,F),','('/Functional#eval'(C,D,G),'/Functional#valueApplyBinOp'(F,B,G,E,D)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#signature'(::('/Functional#cases'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('ExprType')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#cases'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#signature'(::('/Functional#switch'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#cases'(B,D)),[])))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('ExprType')),'.'('builtin#varName'(::(C,G),!('Cases')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#switch'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#cases'(B,D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#projection'(::('/Functional#switch'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(case)),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(of)),[])))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#cases'(B,D))),[]))),[])))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('ExprType')),'.'('builtin#varName'(::(C,G),!('Cases')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#switch'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(case)),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(of)),[])))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#cases'(B,D))),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#alias'(::('/Functional#switch'(A,B,'/Functional#otherwise'(C)),'/Functional#expr'(D)),!(case)),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('ExprType')),'.'('builtin#varName'(::(D,G),!('T')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#switch'(A,B,'/Functional#otherwise'(C)),'/Functional#expr'(D)),!(case)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#disabled'('/bootstrap#default'(::('/Functional#switch'(A,B,'/Functional#otherwise'(C)),'/Functional#expr'(D)))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('ExprType')),'.'('builtin#varName'(::(D,G),!('T')),[])))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#default'(::('/Functional#switch'(A,B,'/Functional#otherwise'(C)),'/Functional#expr'(D)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),:-('/Functional#eval'('/Functional#switch'(A,B,C),D,E),','('/Functional#eval'(A,B,F),'/Functional#evalCases'(C,B,D,F,E))),'.'('builtin#varName'(::(A,G),!('Expr')),'.'('builtin#varName'(::(B,H),!('ExprType')),'.'('builtin#varName'(::(C,I),!('Cases')),'.'('builtin#varName'(::(D,J),!('T')),'.'('builtin#varName'(::(E,K),!('Result')),'.'('builtin#varName'(::(F,L),!('Value')),[]))))))),'builtin#true'). :-('/Functional#eval'('/Functional#switch'(A,B,C),D,E),','('/Functional#eval'(A,B,F),'/Functional#evalCases'(C,B,D,F,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#signature'(::('/Functional#evalCases'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/Functional#cases'(B,C)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),'.'(::(D,B),'.'(::(E,C),[])))))),'.'('builtin#varName'(::(A,F),!('Cases')),'.'('builtin#varName'(::(B,G),!('ExprType')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Value')),'.'('builtin#varName'(::(E,J),!('Result')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#evalCases'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/Functional#cases'(B,C)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),'.'(::(D,B),'.'(::(E,C),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#signature'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),'.'(::(A,D),'.'(::(B,'/Functional#expr'(E)),'.'(::(C,'/Functional#cases'(D,E)),[])))),'.'('builtin#varName'(::(A,F),!('Pattern')),'.'('builtin#varName'(::(B,G),!('Expr')),'.'('builtin#varName'(::(C,H),!('Next')),'.'('builtin#varName'(::(D,I),!('ExprType')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),'.'(::(A,D),'.'(::(B,'/Functional#expr'(E)),'.'(::(C,'/Functional#cases'(D,E)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#projection'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,D)),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(E))),[])))),'.'('/bootstrap#vis'(::(C,'/Functional#cases'(D,E))),[])))),'.'('builtin#varName'(::(A,F),!('Pattern')),'.'('builtin#varName'(::(B,G),!('Expr')),'.'('builtin#varName'(::(C,H),!('Next')),'.'('builtin#varName'(::(D,I),!('ExprType')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,D)),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(E))),[])))),'.'('/bootstrap#vis'(::(C,'/Functional#cases'(D,E))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),:-('/Functional#evalCases'('/Functional#case'(A,B,C),D,E,F,G),'builtin#if'(=(::(A,D),::(F,D)),'/Functional#eval'(B,E,G),'/Functional#evalCases'(C,D,E,F,G))),'.'('builtin#varName'(::(A,H),!('Pattern')),'.'('builtin#varName'(::(B,I),!('Expr')),'.'('builtin#varName'(::(C,J),!('Next')),'.'('builtin#varName'(::(D,K),!('ExprType')),'.'('builtin#varName'(::(E,L),!('T')),'.'('builtin#varName'(::(F,M),!('Value')),'.'('builtin#varName'(::(G,N),!('Result')),[])))))))),'builtin#true'). :-('/Functional#evalCases'('/Functional#case'(A,B,C),D,E,F,G),'builtin#if'(=(::(A,D),::(F,D)),'/Functional#eval'(B,E,G),'/Functional#evalCases'(C,D,E,F,G))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#signature'(::('/Functional#otherwise'(A),'/Functional#cases'(B,C)),'.'(::(A,'/Functional#expr'(C)),[])),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('ExprType')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#otherwise'(A),'/Functional#cases'(B,C)),'.'(::(A,'/Functional#expr'(C)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#projection'(::('/Functional#otherwise'(A),'/Functional#cases'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('otherwise:')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),[])))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('ExprType')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#otherwise'(A),'/Functional#cases'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('otherwise:')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),:-('/Functional#evalCases'('/Functional#otherwise'(A),B,C,D,E),'/Functional#eval'(A,C,E)),'.'('builtin#varName'(::(A,F),!('Expr')),'.'('builtin#varName'(::(B,G),!('ExprType')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Value')),'.'('builtin#varName'(::(E,J),!('Result')),[])))))),'builtin#true'). :-('/Functional#evalCases'('/Functional#otherwise'(A),B,C,D,E),'/Functional#eval'(A,C,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#contextMenuEntry'(::(A,'/Functional#cases'(B,C)),D,E,!('Insert Case'),'cpi#edit'(E,::('/Functional#case'(F,G,A),'/Functional#cases'(B,C)),D)),'.'('builtin#varName'(::(A,H),!('Cases')),'.'('builtin#varName'(::(B,I),!('T1')),'.'('builtin#varName'(::(C,J),!('T2')),'.'('builtin#varName'(::(D,K),!('VNs')),'.'('builtin#varName'(::(E,L),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/Functional#cases'(B,C)),D,E,!('Insert Case'),'cpi#edit'(E,::('/Functional#case'(F,G,A),'/Functional#cases'(B,C)),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/case.ced'),'/bootstrap#contextMenuEntry'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),F,G,!('Remove Case'),'cpi#edit'(G,::(C,'/Functional#cases'(D,E)),F)),'.'('builtin#varName'(::(C,H),!('Cases')),'.'('builtin#varName'(::(D,I),!('T1')),'.'('builtin#varName'(::(E,J),!('T2')),'.'('builtin#varName'(::(F,K),!('VNs')),'.'('builtin#varName'(::(G,L),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/Functional#case'(A,B,C),'/Functional#cases'(D,E)),F,G,!('Remove Case'),'cpi#edit'(G,::(C,'/Functional#cases'(D,E)),F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#signature'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(D)),'.'(::(C,'/Functional#expr'(D)),[])))),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(D)),'.'(::(C,'/Functional#expr'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#projection'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('else:')),[])),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))),[])))))),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('else:')),[])),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),:-('/Functional#eval'('/Functional#if'(A,B,C),D,E),'builtin#if'(A,'/Functional#eval'(B,D,E),'/Functional#eval'(C,D,E))),'.'('builtin#varName'(::(A,F),!('Cond')),'.'('builtin#varName'(::(B,G),!('Then')),'.'('builtin#varName'(::(C,H),!('Else')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('V')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#if'(A,B,C),D,E),'builtin#if'(A,'/Functional#eval'(B,D,E),'/Functional#eval'(C,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#signature'(::('/Functional#eq'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#eq'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#projection'(::('/Functional#eq'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#eq'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),:-('/Functional#eq'(A,B,C),','('/Functional#eval'(A,C,D),','('/Functional#eval'(B,C,E),'builtin#equals'(::(D,C),::(E,C))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('AV')),'.'('builtin#varName'(::(E,J),!('BV')),[])))))),'builtin#true'). :-('/Functional#eq'(A,B,C),','('/Functional#eval'(A,C,D),','('/Functional#eval'(B,C,E),'builtin#equals'(::(D,C),::(E,C))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#greaterThen'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))),!('Succeeds if A > B')),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::('builtin#greaterThen'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#projection'(::('builtin#greaterThen'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::('builtin#greaterThen'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#signature'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#projection'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(>)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(>)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#alias'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),!(>)),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#gt'(A,B,C),'/bootstrap#pred'),!(>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),:-('/Functional#gt'(A,B,'/bootstrap#number'),','('/Functional#eval'(A,'/bootstrap#number',C),','('/Functional#eval'(B,'/bootstrap#number',D),'builtin#greaterThen'(C,D)))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('AV')),'.'('builtin#varName'(::(D,H),!('BV')),[]))))),'builtin#true'). :-('/Functional#gt'(A,B,'/bootstrap#number'),','('/Functional#eval'(A,'/bootstrap#number',C),','('/Functional#eval'(B,'/bootstrap#number',D),'builtin#greaterThen'(C,D)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#signature'(::('/Functional#max'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#max'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/Functional#def'('/Functional#max'(A,B),C,'/Functional#if'('/Functional#gt'(A,B,C),A,B)),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#max'(A,B),C,'/Functional#if'('/Functional#gt'(A,B,C),A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#max'('/Functional#wrap'(2),'/Functional#wrap'(3)),'/bootstrap#number',3)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#max'('/Functional#wrap'(2),'/Functional#wrap'(3)),'/bootstrap#number',3)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#unitTest'(\+('/Functional#eval'('/Functional#max'('/Functional#wrap'(2),'/Functional#wrap'(3)),'/bootstrap#number',2))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/Functional#eval'('/Functional#max'('/Functional#wrap'(2),'/Functional#wrap'(3)),'/bootstrap#number',2))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#signature'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#projection'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8805),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8805),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),'/bootstrap#alias'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),!(>=)),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#ge'(A,B,C),'/bootstrap#pred'),!(>=)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/conditionals.ced'),:-('/Functional#ge'(A,B,C),'/bootstrap#or'('/Functional#gt'(A,B,C),'/Functional#eq'(A,B,C))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/Functional#ge'(A,B,C),'/bootstrap#or'('/Functional#gt'(A,B,C),'/Functional#eq'(A,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#signature'(::('/Functional#const'(A),'/Functional#expr'(B)),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#const'(A),'/Functional#expr'(B)),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#projection'(::('/Functional#const'(A),'/Functional#expr'(B)),'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,B)),'cpi#rgb'(255,200,128)),5,'cpi#rgb'(255,200,128)))),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#const'(A),'/Functional#expr'(B)),'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,B)),'cpi#rgb'(255,200,128)),5,'cpi#rgb'(255,200,128)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#adapter'(::(A,B),::('/Functional#const'(A),'/Functional#expr'(B))),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,B),::('/Functional#const'(A),'/Functional#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),:-('/Functional#eval'('/Functional#const'(A),B,A),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/Functional#eval'('/Functional#const'(A),B,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'annotation#shrink'('/bootstrap#signature'(::('/Functional#wrapToConst'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),'.'(::(F,'/bootstrap#number'),'.'(::(G,'/bootstrap#number'),[]))))))))),'.'('builtin#varName'(::(A,H),!('WrapExpr')),'.'('builtin#varName'(::(B,I),!('ConstExpr')),'.'('builtin#varName'(::(C,J),!('T')),'.'('builtin#varName'(::(D,K),!('VNsIn')),'.'('builtin#varName'(::(E,L),!('VNsOut')),'.'('builtin#varName'(::(F,M),!('IndexIn')),'.'('builtin#varName'(::(G,N),!('IndexOut')),[])))))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#wrapToConst'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),'.'(::(F,'/bootstrap#number'),'.'(::(G,'/bootstrap#number'),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'annotation#shrink'(:-('/Functional#wrapToConst'('/Functional#wrap'(A),'/Functional#where'('/Functional#const'(B),C),D,E,F,G,H),'/Functional#wrapToConst'(A,B,'builtin#true',C,D,E,F,G,H))),'.'('builtin#varName'(::(A,I),!('X')),'.'('builtin#varName'(::(B,J),!('C')),'.'('builtin#varName'(::(C,K),!('Goal')),'.'('builtin#varName'(::(D,L),!('T')),'.'('builtin#varName'(::(E,M),!('VNsIn')),'.'('builtin#varName'(::(F,N),!('VNsOut')),'.'('builtin#varName'(::(G,O),!('IndexIn')),'.'('builtin#varName'(::(H,P),!('IndexOut')),[]))))))))),'builtin#true'). :-('/Functional#wrapToConst'('/Functional#wrap'(A),'/Functional#where'('/Functional#const'(B),C),D,E,F,G,H),'/Functional#wrapToConst'(A,B,'builtin#true',C,D,E,F,G,H)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'annotation#shrink'('/bootstrap#signature'(::('/Functional#wrapToConstArgs'(A,B,C,D,E,F,G,H),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#pred'),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),'.'(::(G,'/bootstrap#number'),'.'(::(H,'/bootstrap#number'),[])))))))))),'.'('builtin#varName'(::(A,I),!('Args')),'.'('builtin#varName'(::(B,J),!('ConstArgs')),'.'('builtin#varName'(::(C,K),!('GoalIn')),'.'('builtin#varName'(::(D,L),!('GoalOut')),'.'('builtin#varName'(::(E,M),!('VNsIn')),'.'('builtin#varName'(::(F,N),!('VNsOut')),'.'('builtin#varName'(::(G,O),!('IndexIn')),'.'('builtin#varName'(::(H,P),!('IndexOut')),[]))))))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#wrapToConstArgs'(A,B,C,D,E,F,G,H),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#pred'),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),'.'(::(G,'/bootstrap#number'),'.'(::(H,'/bootstrap#number'),[]))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),:-('/Functional#wrapToConstArgs'([],[],A,A,B,B,C,C),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Index')),[])))),'builtin#true'). :-('/Functional#wrapToConstArgs'([],[],A,A,B,B,C,C),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'annotation#shrink'(:-('/Functional#wrapToConstArgs'('.'(::(A,B),C),'.'(::(D,B),E),F,G,H,I,J,K),','('builtin#if'(=(::(A,B),::('/Functional#unwrap'(L),B)),','('/Functional#eval'('/Functional#concat'('/Functional#wrap'(!('Value')),'/Functional#num2str'('/Functional#wrap'(J))),'/bootstrap#string',M),','(=(::(N,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(::(O,B),M),H),'/bootstrap#list'('/bootstrap#varName'))),','(=(::(D,B),::(O,B)),','(=(::(P,'/bootstrap#pred'),::('annotation#parentheses'(','('/Functional#eval'(L,B,O),F)),'/bootstrap#pred')),'builtin#succ'(J,Q))))),'/Functional#wrapToConst'(A,D,F,P,B,H,N,J,Q)),'/Functional#wrapToConstArgs'(C,E,P,G,N,I,Q,K)))),'.'('builtin#varName'(::(A,R),!('X')),'.'('builtin#varName'(::(B,S),!('T')),'.'('builtin#varName'(::(C,T),!('Args')),'.'('builtin#varName'(::(D,U),!('C')),'.'('builtin#varName'(::(E,V),!('ConstArgs')),'.'('builtin#varName'(::(F,W),!('GoalIn')),'.'('builtin#varName'(::(G,X),!('GoalOut')),'.'('builtin#varName'(::(H,Y),!('VNsIn')),'.'('builtin#varName'(::(I,Z),!('VNsOut')),'.'('builtin#varName'(::(J,A1),!('IndexIn')),'.'('builtin#varName'(::(K,B1),!('IndexOut')),'.'('builtin#varName'(::(L,C1),!('Expr')),'.'('builtin#varName'(::(M,D1),!('VarName')),'.'('builtin#varName'(::(N,E1),!('VNsMid')),'.'('builtin#varName'(::(O,F1),!('Var')),'.'('builtin#varName'(::(P,G1),!('GoalMid')),'.'('builtin#varName'(::(Q,H1),!('IndexMid')),[])))))))))))))))))),'builtin#true'). :-('/Functional#wrapToConstArgs'('.'(::(A,B),C),'.'(::(D,B),E),F,G,H,I,J,K),','('builtin#if'(=(::(A,B),::('/Functional#unwrap'(L),B)),','('/Functional#eval'('/Functional#concat'('/Functional#wrap'(!('Value')),'/Functional#num2str'('/Functional#wrap'(J))),'/bootstrap#string',M),','(=(::(N,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(::(O,B),M),H),'/bootstrap#list'('/bootstrap#varName'))),','(=(::(D,B),::(O,B)),','(=(::(P,'/bootstrap#pred'),::(','('/Functional#eval'(L,B,O),F),'/bootstrap#pred')),'builtin#succ'(J,Q))))),'/Functional#wrapToConst'(A,D,F,P,B,H,N,J,Q)),'/Functional#wrapToConstArgs'(C,E,P,G,N,I,Q,K))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#contextMenuEntry'(::('/Functional#wrap'(A),'/Functional#expr'(B)),C,D,!('Convert Wrap to Const'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(D,::(E,'/Functional#expr'(B)),F)),'/Functional#wrapToConst'('/Functional#wrap'(A),E,B,C,F,1,G))),'.'('builtin#varName'(::(A,H),!('Wrap')),'.'('builtin#varName'(::(B,I),!('T')),'.'('builtin#varName'(::(C,J),!('VNsIn')),'.'('builtin#varName'(::(D,K),!('Path')),'.'('builtin#varName'(::(E,L),!('ConstExpr')),'.'('builtin#varName'(::(F,M),!('VNsOut')),[]))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/Functional#wrap'(A),'/Functional#expr'(B)),C,D,!('Convert Wrap to Const'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(D,::(E,'/Functional#expr'(B)),F)),'/Functional#wrapToConst'('/Functional#wrap'(A),E,B,C,F,1,G))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#signature'(::('/Functional#wrapToConst'(A,B,C,D,E,F,G,H,I),'/bootstrap#pred'),'.'(::(A,E),'.'(::(B,E),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#pred'),'.'(::(E,'/bootstrap#type'),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),'.'(::(G,'/bootstrap#list'('/bootstrap#varName')),'.'(::(H,'/bootstrap#number'),'.'(::(I,'/bootstrap#number'),[])))))))))),'.'('builtin#varName'(::(A,J),!('X')),'.'('builtin#varName'(::(B,K),!('C')),'.'('builtin#varName'(::(C,L),!('GoalIn')),'.'('builtin#varName'(::(D,M),!('GoalOut')),'.'('builtin#varName'(::(E,N),!('T')),'.'('builtin#varName'(::(F,O),!('VNsIn')),'.'('builtin#varName'(::(G,P),!('VNsOut')),'.'('builtin#varName'(::(H,Q),!('IndexIn')),'.'('builtin#varName'(::(I,R),!('IndexOut')),[])))))))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#wrapToConst'(A,B,C,D,E,F,G,H,I),'/bootstrap#pred'),'.'(::(A,E),'.'(::(B,E),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#pred'),'.'(::(E,'/bootstrap#type'),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),'.'(::(G,'/bootstrap#list'('/bootstrap#varName')),'.'(::(H,'/bootstrap#number'),'.'(::(I,'/bootstrap#number'),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'annotation#shrink'(:-('/Functional#wrapToConst'(A,B,C,D,E,F,G,H,I),'builtin#if'('builtin#compound'(::(A,E)),','('/bootstrap#safeParseTerm'(::(A,E),J,K),','('/Functional#wrapToConstArgs'(K,L,C,D,F,G,H,I),'builtin#parseTerm'(::(B,E),J,L))),','(=(::(A,E),::(B,E)),','(=(::(D,'/bootstrap#pred'),::(C,'/bootstrap#pred')),','(=(::(H,'/bootstrap#number'),::(I,'/bootstrap#number')),=(::(G,'/bootstrap#list'('/bootstrap#varName')),::(F,'/bootstrap#list'('/bootstrap#varName'))))))))),'.'('builtin#varName'(::(A,M),!('X')),'.'('builtin#varName'(::(B,N),!('C')),'.'('builtin#varName'(::(C,O),!('GoalIn')),'.'('builtin#varName'(::(D,P),!('GoalOut')),'.'('builtin#varName'(::(E,Q),!('T')),'.'('builtin#varName'(::(F,R),!('VNsIn')),'.'('builtin#varName'(::(G,S),!('VNsOut')),'.'('builtin#varName'(::(H,T),!('IndexIn')),'.'('builtin#varName'(::(I,U),!('IndexOut')),'.'('builtin#varName'(::(J,V),!('Name')),'.'('builtin#varName'(::(K,W),!('Args')),'.'('builtin#varName'(::(L,X),!('ConstArgs')),[]))))))))))))),'builtin#true'). :-('/Functional#wrapToConst'(A,B,C,D,E,F,G,H,I),'builtin#if'('builtin#compound'(::(A,E)),','('/bootstrap#safeParseTerm'(::(A,E),J,K),','('/Functional#wrapToConstArgs'(K,L,C,D,F,G,H,I),'builtin#parseTerm'(::(B,E),J,L))),','(=(::(A,E),::(B,E)),','(=(::(D,'/bootstrap#pred'),::(C,'/bootstrap#pred')),','(=(::(H,'/bootstrap#number'),::(I,'/bootstrap#number')),=(::(G,'/bootstrap#list'('/bootstrap#varName')),::(F,'/bootstrap#list'('/bootstrap#varName')))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#tip'(::('/Functional#wrap'(A),'/Functional#expr'(B)),C,D,'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(C,::(E,'/Functional#expr'(B)),F)),'/Functional#wrapToConst'('/Functional#wrap'(A),E,B,D,F,1,G))),'.'('builtin#varName'(::(A,H),!('Wrap')),'.'('builtin#varName'(::(B,I),!('T')),'.'('builtin#varName'(::(C,J),!('Path')),'.'('builtin#varName'(::(D,K),!('VNsIn')),'.'('builtin#varName'(::(E,L),!('ConstExpr')),'.'('builtin#varName'(::(F,M),!('VNsOut')),[]))))))),'builtin#true'). '/bootstrap#tip'(::('/Functional#wrap'(A),'/Functional#expr'(B)),C,D,'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(C,::(E,'/Functional#expr'(B)),F)),'/Functional#wrapToConst'('/Functional#wrap'(A),E,B,D,F,1,G))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/constant.ced'),'/bootstrap#sandbox'(::('/Functional#wrap'('/logic1#nand'('/Functional#unwrap'(A),'/Functional#unwrap'(B))),'/Functional#expr'('/logic1#bit'))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#sandbox'(::('/Functional#wrap'('/logic1#nand'('/Functional#unwrap'(A),'/Functional#unwrap'(B))),'/Functional#expr'('/logic1#bit'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eset.ced'),'/bootstrap#signature'(::('/Functional#eset'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#eset'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eset.ced'),'/bootstrap#projection'(::('/Functional#eset'(A,B),'/bootstrap#set'(C)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#color'('/bootstrap#box'(1),'cpi#rgb'(0,0,255)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'cpi#middle'),123,125)),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#eset'(A,B),'/bootstrap#set'(C)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#color'('/bootstrap#box'(1),'cpi#rgb'(0,0,255)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'cpi#middle'),123,125)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eset.ced'),:-('/bootstrap#member'(A,'/Functional#eset'(B,C),D),','(C,'/Functional#eval'(B,D,A))),'.'('builtin#varName'(::(A,E),!('Elem')),'.'('builtin#varName'(::(B,F),!('Expr')),'.'('builtin#varName'(::(C,G),!('Goal')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). :-('/bootstrap#member'(A,'/Functional#eset'(B,C),D),','(C,'/Functional#eval'(B,D,A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('Tau')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Tau')),'.'('builtin#varName'(::(C,F),!('Value')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Tau')),'.'('builtin#varName'(::(C,F),!('Value')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#alias'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),!(<=)),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Tau')),'.'('builtin#varName'(::(C,F),!('Value')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#eval'(A,B,C),'/bootstrap#pred'),!(<=)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#defines'(:-('/Functional#eval'(A,B,C),D),::(A,'/Functional#expr'(B)),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('Tau')),[]))),'builtin#true'). '/bootstrap#defines'(:-('/Functional#eval'(A,B,C),D),::(A,'/Functional#expr'(B)),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#alias'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),!(-)),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#minus'(A,B),'/Functional#expr'(C)),!(-)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#minus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime-BetaPrime')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('C')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#minus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#minus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#minus'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#minus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#minus'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(*)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(*)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#alias'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),!(*)),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#mult'(A,B),'/Functional#expr'(C)),!(*)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#mult'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime*BetaPrime')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('Gamma')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#mult'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#mult'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#mult'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#mult'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#mult'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#pivot'('/bootstrap#box'(1)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#pivot'('/bootstrap#box'(1)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#alias'(::('/Functional#div'(A,B),'/Functional#expr'(C)),!(/)),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#div'(A,B),'/Functional#expr'(C)),!(/)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#div'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime/BetaPrime (real division)')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('Gamma')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#div'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#div'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#div'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#div'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#div'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('Alpha')),'.'('builtin#varName'(::(B,D),!('Beta')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[]))))),'.'('builtin#varName'(::(A,C),!('Alpha')),'.'('builtin#varName'(::(B,D),!('Beta')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#alias'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),!(//)),'.'('builtin#varName'(::(A,C),!('Alpha')),'.'('builtin#varName'(::(B,D),!('Beta')),[]))),'builtin#true'). '/bootstrap#alias'(::('/Functional#idiv'(A,B),'/Functional#expr'('/bootstrap#number')),!(//)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#idiv'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime/BetaPrime (integer division)')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('Gamma')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#idiv'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#idiv'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#idiv'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#idiv'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#idiv'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#modulus'(A,B),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('Alpha')),'.'('builtin#varName'(::(B,D),!('Beta')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#modulus'(A,B),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#projection'(::('/Functional#modulus'(A,B),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(mod)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[]))))),'.'('builtin#varName'(::(A,C),!('Alpha')),'.'('builtin#varName'(::(B,D),!('Beta')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#modulus'(A,B),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(mod)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#modulus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime mod BetaPrime')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('Gamma')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#modulus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#modulus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#modulus'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#modulus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#modulus'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#plus'('/Functional#wrap'(1),'/Functional#wrap'(1)),'/bootstrap#number',2)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#plus'('/Functional#wrap'(1),'/Functional#wrap'(1)),'/bootstrap#number',2)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#div'('/Functional#wrap'(5),'/Functional#wrap'(2)),'/bootstrap#number',2.5)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#div'('/Functional#wrap'(5),'/Functional#wrap'(2)),'/bootstrap#number',2.5)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'/bootstrap#signature'(::('/Functional#evalList'(A),'/Functional#expr'('/bootstrap#list'(B))),'.'(::(A,'/bootstrap#list'('/Functional#expr'(B))),[])),'.'('builtin#varName'(::(A,C),!('ExprList')),'.'('builtin#varName'(::(B,D),!('Tau')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#evalList'(A),'/Functional#expr'('/bootstrap#list'(B))),'.'(::(A,'/bootstrap#list'('/Functional#expr'(B))),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),:-('/Functional#eval'('/Functional#evalList'([]),'/bootstrap#list'(A),[]),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Tau')),[])),'builtin#true'). :-('/Functional#eval'('/Functional#evalList'([]),'/bootstrap#list'(A),[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/eval.ced'),'annotation#shrink'(:-('/Functional#eval'('/Functional#evalList'('.'(A,B)),'/bootstrap#list'(C),'.'(D,E)),','('/Functional#eval'(A,C,D),'/Functional#eval'('/Functional#evalList'(B),'/bootstrap#list'(C),E)))),'.'('builtin#varName'(::(A,F),!('FirstExpr')),'.'('builtin#varName'(::(B,G),!('RestExpr')),'.'('builtin#varName'(::(C,H),!('Tau')),'.'('builtin#varName'(::(D,I),!('First')),'.'('builtin#varName'(::(E,J),!('Rest')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#evalList'('.'(A,B)),'/bootstrap#list'(C),'.'(D,E)),','('/Functional#eval'(A,C,D),'/Functional#eval'('/Functional#evalList'(B),'/bootstrap#list'(C),E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/evaluator.ced'),'/bootstrap#contextMenuEntry'(::(A,'/Functional#expr'(B)),C,D,!('Evaluate'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(D,::('/Functional#wrap'(E),'/Functional#expr'(B)),C)),'/Functional#eval'(A,B,E))),'.'('builtin#varName'(::(A,F),!('Expr')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('VNs')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('Value')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/Functional#expr'(B)),C,D,!('Evaluate'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(D,::('/Functional#wrap'(E),'/Functional#expr'(B)),C)),'/Functional#eval'(A,B,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/evaluator.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#sandbox'(::(A,'/Functional#expr'(B))),'/bootstrap#statement'),C,D,!('Turn to unit test'),'cpi#edit'(D,::('/bootstrap#unitTest'('/Functional#eval'(A,B,E)),'/bootstrap#statement'),C)),'.'('builtin#varName'(::(A,F),!('Expr')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('VNs')),'.'('builtin#varName'(::(D,I),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#sandbox'(::(A,'/Functional#expr'(B))),'/bootstrap#statement'),C,D,!('Turn to unit test'),'cpi#edit'(D,::('/bootstrap#unitTest'('/Functional#eval'(A,B,E)),'/bootstrap#statement'),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#signature'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))),'.'('builtin#varName'(::(A,D),!('Func')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#projection'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),[]))))),'.'('builtin#varName'(::(A,D),!('Func')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),~>('/Functional#def'(A,B,C),:-('/Functional#eval'(A,B,D),'/Functional#eval'(C,B,D))),'.'('builtin#varName'(::(A,E),!('Func')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Expr')),'.'('builtin#varName'(::(D,H),!('V')),[]))))),'builtin#true'). :-('/Functional#eval'(A,B,C),','('/Functional#def'(A,B,D),'/Functional#eval'(D,B,C))). :-('/Functional#def'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#alias'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),!('=def')),'.'('builtin#varName'(::(A,D),!('Func')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),!('=def')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#signature'(::('/Functional#f'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#f'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/Functional#def'('/Functional#f'(A),'/bootstrap#number','/Functional#div'('/Functional#plus'(A,'/Functional#wrap'(2)),'/Functional#wrap'(4))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/Functional#def'('/Functional#f'(A),'/bootstrap#number','/Functional#div'('/Functional#plus'(A,'/Functional#wrap'(2)),'/Functional#wrap'(4))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#f'('/Functional#wrap'(5)),'/bootstrap#number',1.75)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#f'('/Functional#wrap'(5)),'/bootstrap#number',1.75)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#signature'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),'.'(::(A,'/Functional#expr'(B)),[])),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),'.'(::(A,'/Functional#expr'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#projection'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),40,41)),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),40,41)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/bootstrap#alias'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),!('()')),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/Functional#parentheses'(A),'/Functional#expr'(B)),!('()')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/funtions.ced'),'/Functional#def'('/Functional#parentheses'(A),B,A),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/Functional#def'('/Functional#parentheses'(A),B,A). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#signature'(::('/Functional#func'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('T1')),'.'('builtin#varName'(::(B,D),!('T2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#func'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#projection'(::('/Functional#func'(A,B),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#type')),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))),'.'('builtin#varName'(::(A,C),!('T1')),'.'('builtin#varName'(::(B,D),!('T2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#func'(A,B),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#type')),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#signature'(::('/Functional#lambda'(A,B),'/Functional#func'(C,D)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(D)),[]))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('Expr')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#lambda'(A,B),'/Functional#func'(C,D)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(D)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#projection'(::('/Functional#lambda'(A,B),'/Functional#func'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#symbol'(955),'.'('/bootstrap#background'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'cpi#rgb'(255,255,255)),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#background'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),'cpi#rgb'(255,255,255)),[])))))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('Expr')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#lambda'(A,B),'/Functional#func'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#symbol'(955),'.'('/bootstrap#background'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'cpi#rgb'(255,255,255)),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#background'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),'cpi#rgb'(255,255,255)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#signature'(::('/Functional#apply'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'('/Functional#func'(B,D))),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))),'.'('builtin#varName'(::(A,E),!('Lambda')),'.'('builtin#varName'(::(B,F),!('T1')),'.'('builtin#varName'(::(C,G),!('X')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#apply'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/Functional#expr'('/Functional#func'(B,D))),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#projection'(::('/Functional#apply'(A,B,C),'/Functional#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('[')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/Functional#func'(B,D)))),'.'('/bootstrap#label'(!(']')),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#type'))),'.'('/bootstrap#label'(!('(')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),'.'('/bootstrap#label'(!(')')),[]))))))))),'.'('builtin#varName'(::(A,E),!('Lambda')),'.'('builtin#varName'(::(B,F),!('T1')),'.'('builtin#varName'(::(C,G),!('X')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#apply'(A,B,C),'/Functional#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('[')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/Functional#func'(B,D)))),'.'('/bootstrap#label'(!(']')),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#type'))),'.'('/bootstrap#label'(!('(')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),'.'('/bootstrap#label'(!(')')),[]))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),:-('/Functional#eval'('/Functional#apply'(A,B,C),D,E),','('builtin#copyTerm'(::(A,'/Functional#expr'('/Functional#func'(B,D))),::(F,'/Functional#expr'('/Functional#func'(B,D)))),','('/Functional#eval'(F,'/Functional#func'(B,D),'/Functional#lambda'(C,G)),'/Functional#eval'(G,D,E)))),'.'('builtin#varName'(::(A,H),!('LambdaExpr')),'.'('builtin#varName'(::(B,I),!('T1')),'.'('builtin#varName'(::(C,J),!('X')),'.'('builtin#varName'(::(D,K),!('T2')),'.'('builtin#varName'(::(E,L),!('V')),'.'('builtin#varName'(::(F,M),!('LambdaExprPrime')),'.'('builtin#varName'(::(G,N),!('Expr')),[])))))))),'builtin#true'). :-('/Functional#eval'('/Functional#apply'(A,B,C),D,E),','('builtin#copyTerm'(::(A,'/Functional#expr'('/Functional#func'(B,D))),::(F,'/Functional#expr'('/Functional#func'(B,D)))),','('/Functional#eval'(F,'/Functional#func'(B,D),'/Functional#lambda'(C,G)),'/Functional#eval'(G,D,E)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#signature'(::('/Functional#g'(A),'/Functional#expr'('/Functional#func'('/bootstrap#number','/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#g'(A),'/Functional#expr'('/Functional#func'('/bootstrap#number','/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/Functional#def'('/Functional#g'(A),'/Functional#func'('/bootstrap#number','/bootstrap#number'),'/Functional#const'('/Functional#lambda'(B,'/Functional#plus'(A,B)))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/Functional#def'('/Functional#g'(A),'/Functional#func'('/bootstrap#number','/bootstrap#number'),'/Functional#const'('/Functional#lambda'(B,'/Functional#plus'(A,B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#apply'('/Functional#g'('/Functional#wrap'(3)),'/bootstrap#number','/Functional#wrap'(2)),'/bootstrap#number',5)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#apply'('/Functional#g'('/Functional#wrap'(3)),'/bootstrap#number','/Functional#wrap'(2)),'/bootstrap#number',5)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#disabled'('/Functional#def'('/Functional#plus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#plus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E)))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T1')),'.'('builtin#varName'(::(D,I),!('T2')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/bootstrap#disabled'('/Functional#def'('/Functional#plus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#plus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/Functional#def'('/Functional#plus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#plus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T1')),'.'('builtin#varName'(::(D,I),!('T2')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/Functional#def'('/Functional#plus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#plus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/Functional#def'('/Functional#minus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#minus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T1')),'.'('builtin#varName'(::(D,I),!('T2')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/Functional#def'('/Functional#minus'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#minus'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/Functional#def'('/Functional#mult'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#mult'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T1')),'.'('builtin#varName'(::(D,I),!('T2')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/Functional#def'('/Functional#mult'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#mult'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/Functional#def'('/Functional#div'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#div'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T1')),'.'('builtin#varName'(::(D,I),!('T2')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/Functional#def'('/Functional#div'(A,B),'/Functional#func'(C,D),'/Functional#wrap'('/Functional#lambda'(E,'/Functional#div'('/Functional#apply'(A,C,E),'/Functional#apply'(B,C,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/lambda.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#apply'('/Functional#plus'('/Functional#g'('/Functional#wrap'(3)),'/Functional#g'('/Functional#wrap'(2))),'/bootstrap#number','/Functional#wrap'(2)),'/bootstrap#number',9)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#apply'('/Functional#plus'('/Functional#g'('/Functional#wrap'(3)),'/Functional#g'('/Functional#wrap'(2))),'/bootstrap#number','/Functional#wrap'(2)),'/bootstrap#number',9)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/Functional#def'('/Functional#plus'(A,B),'/bootstrap#list'(C),'/Functional#switch'(A,'/bootstrap#list'(C),'/Functional#case'('.'(D,E),'/Functional#wrap'('.'(D,'/Functional#unwrap'('/Functional#plus'('/Functional#wrap'(E),B)))),'/Functional#otherwise'(B)))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('F')),'.'('builtin#varName'(::(E,J),!('R')),[])))))),'builtin#true'). '/Functional#def'('/Functional#plus'(A,B),'/bootstrap#list'(C),'/Functional#switch'(A,'/bootstrap#list'(C),'/Functional#case'('.'(D,E),'/Functional#wrap'('.'(D,'/Functional#unwrap'('/Functional#plus'('/Functional#wrap'(E),B)))),'/Functional#otherwise'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/bootstrap#signature'(::('/Functional#map'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(C))),'.'(::(B,'/Functional#func'(C,D)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('Lambda')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#map'(A,B,C),'/Functional#expr'('/bootstrap#list'(D))),'.'(::(A,'/Functional#expr'('/bootstrap#list'(C))),'.'(::(B,'/Functional#func'(C,D)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/bootstrap#disabled'('/Functional#def'('/Functional#map'(A,B,C),'/bootstrap#list'(D),'/Functional#if'('/Functional#eval'(A,'/bootstrap#list'(C),'.'(E,F)),'/Functional#wrap'('.'('/Functional#unwrap'('/Functional#apply'('/Functional#wrap'(B),C,'/Functional#wrap'(E))),'/Functional#unwrap'('/Functional#map'('/Functional#wrap'(F),B,C)))),'/Functional#wrap'([])))),'.'('builtin#varName'(::(A,G),!('List')),'.'('builtin#varName'(::(B,H),!('Lambda')),'.'('builtin#varName'(::(C,I),!('T1')),'.'('builtin#varName'(::(D,J),!('T2')),'.'('builtin#varName'(::(E,K),!('L1')),'.'('builtin#varName'(::(F,L),!('LPrime')),[]))))))),'builtin#true'). '/bootstrap#disabled'('/Functional#def'('/Functional#map'(A,B,C),'/bootstrap#list'(D),'/Functional#if'('/Functional#eval'(A,'/bootstrap#list'(C),'.'(E,F)),'/Functional#wrap'('.'('/Functional#unwrap'('/Functional#apply'('/Functional#wrap'(B),C,'/Functional#wrap'(E))),'/Functional#unwrap'('/Functional#map'('/Functional#wrap'(F),B,C)))),'/Functional#wrap'([])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/Functional#def'('/Functional#map'(A,B,C),'/bootstrap#list'(D),'/Functional#switch'(A,'/bootstrap#list'(C),'/Functional#case'('.'(E,F),'/Functional#where'('/Functional#const'('.'(G,H)),','('/Functional#eval'('/Functional#map'('/Functional#const'(F),B,C),'/bootstrap#list'(D),H),','('/Functional#eval'('/Functional#apply'('/Functional#const'(B),C,'/Functional#const'(E)),D,G),'builtin#true'))),'/Functional#case'([],'/Functional#wrap'([]),'/Functional#otherwise'('/Functional#failedToCompute'(A)))))),'.'('builtin#varName'(::(A,I),!('List')),'.'('builtin#varName'(::(B,J),!('Lambda')),'.'('builtin#varName'(::(C,K),!('T1')),'.'('builtin#varName'(::(D,L),!('T2')),'.'('builtin#varName'(::(E,M),!('L1')),'.'('builtin#varName'(::(F,N),!('LPrime')),'.'('builtin#varName'(::(G,O),!('M1')),'.'('builtin#varName'(::(H,P),!('MPrime')),[]))))))))),'builtin#true'). '/Functional#def'('/Functional#map'(A,B,C),'/bootstrap#list'(D),'/Functional#switch'(A,'/bootstrap#list'(C),'/Functional#case'('.'(E,F),'/Functional#where'('/Functional#const'('.'(G,H)),','('/Functional#eval'('/Functional#map'('/Functional#const'(F),B,C),'/bootstrap#list'(D),H),','('/Functional#eval'('/Functional#apply'('/Functional#const'(B),C,'/Functional#const'(E)),D,G),'builtin#true'))),'/Functional#case'([],'/Functional#wrap'([]),'/Functional#otherwise'('/Functional#failedToCompute'(A)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#map'('/Functional#wrap'('.'(1,'.'(2,'.'(3,[])))),'/Functional#lambda'(A,'/Functional#applyBinOp'(A,'/Functional#numPlus',A)),'/bootstrap#number'),'/bootstrap#list'('/bootstrap#number'),'.'(2,'.'(4,'.'(6,[]))))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#map'('/Functional#wrap'('.'(1,'.'(2,'.'(3,[])))),'/Functional#lambda'(A,'/Functional#applyBinOp'(A,'/Functional#numPlus',A)),'/bootstrap#number'),'/bootstrap#list'('/bootstrap#number'),'.'(2,'.'(4,'.'(6,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/list.ced'),'/bootstrap#sandbox'(::('/Functional#map'('/Functional#wrap'('.'(1,'.'(2,'.'(3,[])))),'/Functional#lambda'(A,'/Functional#applyBinOp'(A,'/Functional#numPlus',A)),'/bootstrap#number'),'/Functional#expr'('/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#sandbox'(::('/Functional#map'('/Functional#wrap'('.'(1,'.'(2,'.'(3,[])))),'/Functional#lambda'(A,'/Functional#applyBinOp'(A,'/Functional#numPlus',A)),'/bootstrap#number'),'/Functional#expr'('/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/pair.ced'),'/bootstrap#signature'(::('/Functional#pairType'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('TA')),'.'('builtin#varName'(::(B,D),!('TB')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#pairType'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/pair.ced'),'/bootstrap#projection'(::('/Functional#pairType'(A,B),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#type')),'.'('/bootstrap#symbol'(10799),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))),'.'('builtin#varName'(::(A,C),!('TA')),'.'('builtin#varName'(::(B,D),!('TB')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#pairType'(A,B),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#type')),'.'('/bootstrap#symbol'(10799),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/pair.ced'),'/bootstrap#alias'(::('/Functional#pairType'(A,B),'/bootstrap#type'),!(*)),'.'('builtin#varName'(::(A,C),!('TA')),'.'('builtin#varName'(::(B,D),!('TB')),[]))),'builtin#true'). '/bootstrap#alias'(::('/Functional#pairType'(A,B),'/bootstrap#type'),!(*)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/pair.ced'),'/bootstrap#signature'(::('/Functional#pair'(A,B),'/Functional#pairType'(C,D)),'.'(::(A,C),'.'(::(B,D),[]))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('TA')),'.'('builtin#varName'(::(D,H),!('TB')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/Functional#pair'(A,B),'/Functional#pairType'(C,D)),'.'(::(A,C),'.'(::(B,D),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/pair.ced'),'/bootstrap#projection'(::('/Functional#pair'(A,B),'/Functional#pairType'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,D)),[]))))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('TA')),'.'('builtin#varName'(::(D,H),!('TB')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/Functional#pair'(A,B),'/Functional#pairType'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,D)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/plus.ced'),'/bootstrap#signature'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/plus.ced'),'/bootstrap#projection'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/plus.ced'),'/bootstrap#alias'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),!(+)),'.'('builtin#varName'(::(A,D),!('Alpha')),'.'('builtin#varName'(::(B,E),!('Beta')),'.'('builtin#varName'(::(C,F),!('Tau')),[])))),'builtin#true'). '/bootstrap#alias'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),!(+)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/plus.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#plus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),!('Succeeds if C equals (numerically) AlphaPrime+BetaPrime')),'.'('builtin#varName'(::(A,D),!('AlphaPrime')),'.'('builtin#varName'(::(B,E),!('BetaPrime')),'.'('builtin#varName'(::(C,F),!('C')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#plus'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/plus.ced'),:-('/Functional#eval'('/Functional#plus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#plus'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('Alpha')),'.'('builtin#varName'(::(B,G),!('Beta')),'.'('builtin#varName'(::(C,H),!('Gamma')),'.'('builtin#varName'(::(D,I),!('AlphaPrime')),'.'('builtin#varName'(::(E,J),!('BetaPrime')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#plus'(A,B),'/bootstrap#number',C),','('/Functional#eval'(A,'/bootstrap#number',D),','('/Functional#eval'(B,'/bootstrap#number',E),'builtin#plus'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#seq'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#seq'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#seq'(A,B),'/Functional#seq'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'('/Functional#seq'(C))),[]))),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Next')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#seq'(A,B),'/Functional#seq'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'('/Functional#seq'(C))),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#first'(A),'/Functional#expr'(B)),'.'(::(A,'/Functional#expr'('/Functional#seq'(B))),[])),'.'('builtin#varName'(::(A,C),!('SeqExpr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#first'(A),'/Functional#expr'(B)),'.'(::(A,'/Functional#expr'('/Functional#seq'(B))),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),:-('/Functional#eval'('/Functional#first'(A),B,C),','('/Functional#eval'(A,'/Functional#seq'(B),'/Functional#seq'(D,E)),'/Functional#eval'(D,B,C))),'.'('builtin#varName'(::(A,F),!('SeqExpr')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('V')),'.'('builtin#varName'(::(D,I),!('First')),'.'('builtin#varName'(::(E,J),!('Next')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#first'(A),B,C),','('/Functional#eval'(A,'/Functional#seq'(B),'/Functional#seq'(D,E)),'/Functional#eval'(D,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#next'(A),'/Functional#expr'('/Functional#seq'(B))),'.'(::(A,'/Functional#expr'('/Functional#seq'(B))),[])),'.'('builtin#varName'(::(A,C),!('SeqExpr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#next'(A),'/Functional#expr'('/Functional#seq'(B))),'.'(::(A,'/Functional#expr'('/Functional#seq'(B))),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),:-('/Functional#eval'('/Functional#next'(A),'/Functional#seq'(B),C),','('/Functional#eval'(A,'/Functional#seq'(B),'/Functional#seq'(D,E)),'/Functional#eval'(E,'/Functional#seq'(B),C))),'.'('builtin#varName'(::(A,F),!('SeqExpr')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('V')),'.'('builtin#varName'(::(D,I),!('First')),'.'('builtin#varName'(::(E,J),!('Next')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#next'(A),'/Functional#seq'(B),C),','('/Functional#eval'(A,'/Functional#seq'(B),'/Functional#seq'(D,E)),'/Functional#eval'(E,'/Functional#seq'(B),C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#element'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'('/Functional#seq'(C))),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,D),!('Seq')),'.'('builtin#varName'(::(B,E),!('Index')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#element'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'('/Functional#seq'(C))),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#projection'(::('/Functional#element'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/Functional#seq'(C)))),'.'('/bootstrap#label'(!('[')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(']')),[])))))),'.'('builtin#varName'(::(A,D),!('Seq')),'.'('builtin#varName'(::(B,E),!('Index')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#element'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/Functional#seq'(C)))),'.'('/bootstrap#label'(!('[')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(']')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#element'(A,B),C,'/Functional#if'('/Functional#gt'(B,'/Functional#wrap'(0),'/bootstrap#number'),'/Functional#element'('/Functional#next'(A),'/Functional#minus'(B,'/Functional#wrap'(1))),'/Functional#first'(A))),'.'('builtin#varName'(::(A,D),!('Seq')),'.'('builtin#varName'(::(B,E),!('Index')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#element'(A,B),C,'/Functional#if'('/Functional#gt'(B,'/Functional#wrap'(0),'/bootstrap#number'),'/Functional#element'('/Functional#next'(A),'/Functional#minus'(B,'/Functional#wrap'(1))),'/Functional#first'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#defAtom'(::('/Functional#fib','/Functional#expr'('/Functional#seq'('/bootstrap#number')))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#fib','/Functional#expr'('/Functional#seq'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#fib','/Functional#seq'('/bootstrap#number'),'/Functional#fib'('/Functional#const'(1),'/Functional#const'(1))),[]),'builtin#true'). '/Functional#def'('/Functional#fib','/Functional#seq'('/bootstrap#number'),'/Functional#fib'('/Functional#const'(1),'/Functional#const'(1))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#fib'(A,B),'/Functional#expr'('/Functional#seq'('/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#fib'(A,B),'/Functional#expr'('/Functional#seq'('/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#fib'(A,B),'/Functional#seq'('/bootstrap#number'),'/Functional#const'('/Functional#seq'(A,'/Functional#fib'(B,'/Functional#plus'(A,B))))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/Functional#def'('/Functional#fib'(A,B),'/Functional#seq'('/bootstrap#number'),'/Functional#const'('/Functional#seq'(A,'/Functional#fib'(B,'/Functional#plus'(A,B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#fib','/Functional#wrap'(5)),'/bootstrap#number',8)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#fib','/Functional#wrap'(5)),'/bootstrap#number',8)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#plus'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#plus'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#plus'('/Functional#next'(A),'/Functional#next'(B))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#plus'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#plus'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#plus'('/Functional#next'(A),'/Functional#next'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#minus'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#minus'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#minus'('/Functional#next'(A),'/Functional#next'(B))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#minus'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#minus'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#minus'('/Functional#next'(A),'/Functional#next'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#mult'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#mult'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#mult'('/Functional#next'(A),'/Functional#next'(B))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#mult'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#mult'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#mult'('/Functional#next'(A),'/Functional#next'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#div'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#div'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#div'('/Functional#next'(A),'/Functional#next'(B))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/Functional#def'('/Functional#div'(A,B),'/Functional#seq'(C),'/Functional#wrap'('/Functional#seq'('/Functional#div'('/Functional#first'(A),'/Functional#first'(B)),'/Functional#div'('/Functional#next'(A),'/Functional#next'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#plus'('/Functional#fib','/Functional#fib'),'/Functional#wrap'(6)),'/bootstrap#number',26)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#plus'('/Functional#fib','/Functional#fib'),'/Functional#wrap'(6)),'/bootstrap#number',26)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#signature'(::('/Functional#constSeq'(A),'/Functional#expr'('/Functional#seq'(B))),'.'(::(A,'/Functional#expr'(B)),[])),'.'('builtin#varName'(::(A,C),!('C')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#constSeq'(A),'/Functional#expr'('/Functional#seq'(B))),'.'(::(A,'/Functional#expr'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#projection'(::('/Functional#constSeq'(A),'/Functional#expr'('/Functional#seq'(B))),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(seq))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))),'.'('builtin#varName'(::(A,C),!('C')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#constSeq'(A),'/Functional#expr'('/Functional#seq'(B))),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(seq))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/Functional#def'('/Functional#constSeq'(A),'/Functional#seq'(B),'/Functional#wrap'('/Functional#seq'(A,'/Functional#constSeq'(A)))),'.'('builtin#varName'(::(A,C),!('C')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/Functional#def'('/Functional#constSeq'(A),'/Functional#seq'(B),'/Functional#wrap'('/Functional#seq'(A,'/Functional#constSeq'(A)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sequence.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#plus'('/Functional#fib','/Functional#constSeq'('/Functional#wrap'(3))),'/Functional#wrap'(6)),'/bootstrap#number',16)),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#element'('/Functional#plus'('/Functional#fib','/Functional#constSeq'('/Functional#wrap'(3))),'/Functional#wrap'(6)),'/bootstrap#number',16)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/snippets.ced'),'/Test#statements'('.'('/bootstrap#signature'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('/bootstrap#projection'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('/bootstrap#alias'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),!(+)),'.'(:-('/Functional#eval'('/Functional#plus'(A,B),'/bootstrap#number',D),','('/Functional#eval'(A,'/bootstrap#number',E),','('/Functional#eval'(B,'/bootstrap#number',F),'builtin#plus'(E,F,D)))),'.'('/bootstrap#signature'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('/bootstrap#projection'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('/bootstrap#alias'(::('/Functional#div'(A,B),'/Functional#expr'(C)),!(/)),'.'(:-('/Functional#eval'('/Functional#div'(A,B),'/bootstrap#number',D),','('/Functional#eval'(A,'/bootstrap#number',E),','('/Functional#eval'(B,'/bootstrap#number',F),'builtin#div'(E,F,D)))),[]))))))))),'.'('builtin#varName'(::(A,G),!('A')),'.'('builtin#varName'(::(B,H),!('B')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('C')),'.'('builtin#varName'(::(E,K),!('AV')),'.'('builtin#varName'(::(F,L),!('BV')),[]))))))),'builtin#true'). '/Test#statements'('.'('/bootstrap#signature'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('/bootstrap#projection'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('/bootstrap#alias'(::('/Functional#plus'(A,B),'/Functional#expr'(C)),!(+)),'.'(:-('/Functional#eval'('/Functional#plus'(A,B),'/bootstrap#number',D),','('/Functional#eval'(A,'/bootstrap#number',E),','('/Functional#eval'(B,'/bootstrap#number',F),'builtin#plus'(E,F,D)))),'.'('/bootstrap#signature'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'(C)),[]))),'.'('/bootstrap#projection'(::('/Functional#div'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(C))),[]))))),'.'('/bootstrap#alias'(::('/Functional#div'(A,B),'/Functional#expr'(C)),!(/)),'.'(:-('/Functional#eval'('/Functional#div'(A,B),'/bootstrap#number',D),','('/Functional#eval'(A,'/bootstrap#number',E),','('/Functional#eval'(B,'/bootstrap#number',F),'builtin#div'(E,F,D)))),[]))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/snippets.ced'),'/Test#statements'('.'('/bootstrap#signature'(::('/Functional#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('/bootstrap#signature'(::('/Functional#eval'(B,A,C),'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(A)),'.'(::(A,'/bootstrap#type'),'.'(::(C,A),[])))),'.'('/bootstrap#projection'(::('/Functional#eval'(B,A,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,A)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#type'))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(A))),[])))))),'.'('/bootstrap#defines'(:-('/Functional#eval'(B,A,D),E),::(B,'/Functional#expr'(A)),'/bootstrap#semanticDefinition'),[]))))),'.'('builtin#varName'(::(A,F),!('T')),'.'('builtin#varName'(::(B,G),!('Expr')),'.'('builtin#varName'(::(C,H),!('Value')),[])))),'builtin#true'). '/Test#statements'('.'('/bootstrap#signature'(::('/Functional#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('/bootstrap#signature'(::('/Functional#eval'(B,A,C),'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(A)),'.'(::(A,'/bootstrap#type'),'.'(::(C,A),[])))),'.'('/bootstrap#projection'(::('/Functional#eval'(B,A,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,A)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#type'))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(A))),[])))))),'.'('/bootstrap#defines'(:-('/Functional#eval'(B,A,D),E),::(B,'/Functional#expr'(A)),'/bootstrap#semanticDefinition'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/snippets.ced'),'/Test#statements'('.'('/bootstrap#signature'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(D)),'.'(::(C,'/Functional#expr'(D)),[])))),'.'('/bootstrap#projection'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('else:')),[])),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))),[])))))),'.'(:-('/Functional#eval'('/Functional#if'(A,B,C),D,E),'builtin#if'(A,'/Functional#eval'(B,D,E),'/Functional#eval'(C,D,E))),'.'('/bootstrap#signature'(::('/Functional#eq'(F,G,D),'/bootstrap#pred'),'.'(::(F,'/Functional#expr'(D)),'.'(::(G,'/Functional#expr'(D)),'.'(::(D,'/bootstrap#type'),[])))),'.'('/bootstrap#projection'(::('/Functional#eq'(F,G,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(F,'/Functional#expr'(D))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(D,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(G,'/Functional#expr'(D))),[])))))),'.'(:-('/Functional#eq'(F,G,D),','('/Functional#eval'(F,D,H),','('/Functional#eval'(G,D,I),'builtin#equals'(::(H,D),::(I,D))))),[]))))))),'.'('builtin#varName'(::(A,J),!('Cond')),'.'('builtin#varName'(::(B,K),!('Then')),'.'('builtin#varName'(::(C,L),!('Else')),'.'('builtin#varName'(::(D,M),!('T')),'.'('builtin#varName'(::(E,N),!('V')),'.'('builtin#varName'(::(F,O),!('A')),'.'('builtin#varName'(::(G,P),!('B')),'.'('builtin#varName'(::(H,Q),!('AV')),'.'('builtin#varName'(::(I,R),!('BV')),[])))))))))),'builtin#true'). '/Test#statements'('.'('/bootstrap#signature'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/Functional#expr'(D)),'.'(::(C,'/Functional#expr'(D)),[])))),'.'('/bootstrap#projection'(::('/Functional#if'(A,B,C),'/Functional#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('else:')),[])),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(D))),[]))),[])))))),'.'(:-('/Functional#eval'('/Functional#if'(A,B,C),D,E),'builtin#if'(A,'/Functional#eval'(B,D,E),'/Functional#eval'(C,D,E))),'.'('/bootstrap#signature'(::('/Functional#eq'(F,G,D),'/bootstrap#pred'),'.'(::(F,'/Functional#expr'(D)),'.'(::(G,'/Functional#expr'(D)),'.'(::(D,'/bootstrap#type'),[])))),'.'('/bootstrap#projection'(::('/Functional#eq'(F,G,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(F,'/Functional#expr'(D))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(D,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(G,'/Functional#expr'(D))),[])))))),'.'(:-('/Functional#eq'(F,G,D),','('/Functional#eval'(F,D,H),','('/Functional#eval'(G,D,I),'builtin#equals'(::(H,D),::(I,D))))),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/snippets.ced'),'/Test#statements'('.'('/bootstrap#signature'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))),'.'('/bootstrap#projection'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),[]))))))),'.'(~>('/Functional#def'(A,B,C),:-('/Functional#eval'(A,B,D),'/Functional#eval'(C,B,D))),'.'('/bootstrap#alias'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),!('=def')),'.'('/Functional#def'('/Functional#f'(E),'/bootstrap#number','/Functional#div'('/Functional#plus'(E,'/Functional#wrap'(2)),'/Functional#wrap'(4))),'.'('/bootstrap#unitTest'('/Functional#eval'('/Functional#f'('/Functional#wrap'(5)),'/bootstrap#number',1.75)),[]))))))),'.'('builtin#varName'(::(A,F),!('Func')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Expr')),'.'('builtin#varName'(::(D,I),!('V')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/Test#statements'('.'('/bootstrap#signature'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/Functional#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/Functional#expr'(B)),[])))),'.'('/bootstrap#projection'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/Functional#expr'(B))),[]))))))),'.'(~>('/Functional#def'(A,B,C),:-('/Functional#eval'(A,B,D),'/Functional#eval'(C,B,D))),'.'('/bootstrap#alias'(::('/Functional#def'(A,B,C),'/bootstrap#statement'),!('=def')),'.'('/Functional#def'('/Functional#f'(E),'/bootstrap#number','/Functional#div'('/Functional#plus'(E,'/Functional#wrap'(2)),'/Functional#wrap'(4))),'.'('/bootstrap#unitTest'('/Functional#eval'('/Functional#f'('/Functional#wrap'(5)),'/bootstrap#number',1.75)),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#signature'(::('/Functional#num2str'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#num2str'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/bootstrap#number')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),:-('/Functional#eval'('/Functional#num2str'(A),'/bootstrap#string',B),','('/Functional#eval'(A,'/bootstrap#number',C),'builtin#termToString'(::(C,'/bootstrap#number'),[],1,[],B))),'.'('builtin#varName'(::(A,D),!('NumExpr')),'.'('builtin#varName'(::(B,E),!('Str')),'.'('builtin#varName'(::(C,F),!('Num')),[])))),'builtin#true'). :-('/Functional#eval'('/Functional#num2str'(A),'/bootstrap#string',B),','('/Functional#eval'(A,'/bootstrap#number',C),'builtin#termToString'(::(C,'/bootstrap#number'),[],1,[],B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#signature'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/bootstrap#string')),'.'(::(B,'/Functional#expr'('/bootstrap#string')),[]))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/bootstrap#string')),'.'(::(B,'/Functional#expr'('/bootstrap#string')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#projection'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#string'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#string'))),[]))))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#string'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#string'))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#alias'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),!(+)),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#alias'(::('/Functional#concat'(A,B),'/Functional#expr'('/bootstrap#string')),!(+)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),:-('/Functional#eval'('/Functional#concat'(A,B),'/bootstrap#string',C),','('/Functional#eval'(A,'/bootstrap#string',D),','('/Functional#eval'(B,'/bootstrap#string',E),'builtin#strcat'(D,E,C)))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('Str')),'.'('builtin#varName'(::(D,I),!('AV')),'.'('builtin#varName'(::(E,J),!('BV')),[])))))),'builtin#true'). :-('/Functional#eval'('/Functional#concat'(A,B),'/bootstrap#string',C),','('/Functional#eval'(A,'/bootstrap#string',D),','('/Functional#eval'(B,'/bootstrap#string',E),'builtin#strcat'(D,E,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/Functional#def'('/Functional#plus'(A,B),'/bootstrap#string','/Functional#concat'(A,B)),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/Functional#def'('/Functional#plus'(A,B),'/bootstrap#string','/Functional#concat'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#defAtom'(::('/Functional#concat','/Functional#binOp'('/bootstrap#string'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#concat','/Functional#binOp'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/bootstrap#projection'(::('/Functional#concat','/Functional#binOp'('/bootstrap#string')),'/bootstrap#label'(!(+))),[]),'builtin#true'). '/bootstrap#projection'(::('/Functional#concat','/Functional#binOp'('/bootstrap#string')),'/bootstrap#label'(!(+))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/strings.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/Functional#concat',B),'/bootstrap#string','/Functional#concat'(A,B)),'.'('builtin#varName'(::(A,C),!('S1')),'.'('builtin#varName'(::(B,D),!('S2')),[]))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/Functional#concat',B),'/bootstrap#string','/Functional#concat'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/bootstrap#signature'(::('/Functional#sum'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#sum'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/bootstrap#projection'(::('/Functional#sum'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#pivot'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),8721,0)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#pred'))),[])))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#sum'(A,B),'/Functional#expr'(C)),'/bootstrap#vert'('.'('/bootstrap#pivot'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),8721,0)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#pred'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'annotation#shrink'(:-('/Functional#eval'('/Functional#sum'(A,B),C,D),','('builtin#findall'(E,C,','(B,'/Functional#eval'(A,C,E)),F),'/Functional#eval'('/Functional#sumList'(F),C,D)))),'.'('builtin#varName'(::(A,G),!('Expr')),'.'('builtin#varName'(::(B,H),!('Goal')),'.'('builtin#varName'(::(C,I),!('Type')),'.'('builtin#varName'(::(D,J),!('Sum')),'.'('builtin#varName'(::(E,K),!('Value')),'.'('builtin#varName'(::(F,L),!('List')),[]))))))),'builtin#true'). :-('/Functional#eval'('/Functional#sum'(A,B),C,D),','('builtin#findall'(E,C,','(B,'/Functional#eval'(A,C,E)),F),'/Functional#eval'('/Functional#sumList'(F),C,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/bootstrap#signature'(::('/Functional#sumList'(A),'/Functional#expr'(B)),'.'(::(A,'/bootstrap#list'(B)),[])),'.'('builtin#varName'(::(A,C),!('List')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#sumList'(A),'/Functional#expr'(B)),'.'(::(A,'/bootstrap#list'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/Functional#def'('/Functional#sumList'([]),A,'/Functional#zero'),'.'('builtin#varName'(::(A,B),!('Type')),[])),'builtin#true'). '/Functional#def'('/Functional#sumList'([]),A,'/Functional#zero'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/Functional#def'('/Functional#sumList'('.'(A,B)),C,'/Functional#plus'('/Functional#wrap'(A),'/Functional#sumList'(B))),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/Functional#def'('/Functional#sumList'('.'(A,B)),C,'/Functional#plus'('/Functional#wrap'(A),'/Functional#sumList'(B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/bootstrap#defAtom'(::('/Functional#zero','/Functional#expr'(A))),'.'('builtin#varName'(::(A,B),!('Type')),[])),'builtin#true'). '/bootstrap#defAtom'(::('/Functional#zero','/Functional#expr'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/Functional#def'('/Functional#zero','/bootstrap#number','/Functional#wrap'(0)),[]),'builtin#true'). '/Functional#def'('/Functional#zero','/bootstrap#number','/Functional#wrap'(0)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/sum.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#sum'('/Functional#parentheses'('/Functional#plus'('/Functional#div'('/Functional#mult'('/Functional#wrap'(A),'/Functional#wrap'(A)),'/Functional#wrap'(2)),'/Functional#wrap'(A))),'/bootstrap#member'(A,'/bootstrap#listSet'('.'(1,'.'(2,'.'(3,'.'(4,[]))))),'/bootstrap#number')),'/bootstrap#number',25.0)),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#sum'('/Functional#parentheses'('/Functional#plus'('/Functional#div'('/Functional#mult'('/Functional#wrap'(A),'/Functional#wrap'(A)),'/Functional#wrap'(2)),'/Functional#wrap'(A))),'/bootstrap#member'(A,'/bootstrap#listSet'('.'(1,'.'(2,'.'(3,'.'(4,[]))))),'/bootstrap#number')),'/bootstrap#number',25.0)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/where.ced'),'/bootstrap#signature'(::('/Functional#where'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#signature'(::('/Functional#where'(A,B),'/Functional#expr'(C)),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/where.ced'),'/bootstrap#projection'(::('/Functional#where'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#projection'(::('/Functional#where'(A,B),'/Functional#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/where.ced'),:-('/Functional#eval'('/Functional#where'(A,B),C,D),','(B,'/Functional#eval'(A,C,D))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('Goal')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Val')),[]))))),'builtin#true'). :-('/Functional#eval'('/Functional#where'(A,B),C,D),','(B,'/Functional#eval'(A,C,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#signature'(::('/Functional#wrap'(A),'/Functional#expr'(B)),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#wrap'(A),'/Functional#expr'(B)),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#projection'(::('/Functional#wrap'(A),'/Functional#expr'(B)),'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,B)),'cpi#rgb'(192,192,255)),2,'cpi#rgb'(192,192,255)))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#wrap'(A),'/Functional#expr'(B)),'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,B)),'cpi#rgb'(192,192,255)),2,'cpi#rgb'(192,192,255)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('/Functional#eval'('/Functional#wrap'(A),B,C),'builtin#if'('builtin#compound'(::(A,B)),'builtin#if'(=(::(A,B),::('/Functional#unwrap'(D),B)),'/Functional#eval'(D,B,C),','('/bootstrap#safeParseTerm'(::(A,B),E,F),','('/Functional#evalArgs'(F,G),'builtin#parseTerm'(::(C,B),E,G)))),=(::(C,B),::(A,B)))),'.'('builtin#varName'(::(A,H),!('Term')),'.'('builtin#varName'(::(B,I),!('T')),'.'('builtin#varName'(::(C,J),!('V')),'.'('builtin#varName'(::(D,K),!('Expr')),'.'('builtin#varName'(::(E,L),!('Name')),'.'('builtin#varName'(::(F,M),!('Args')),'.'('builtin#varName'(::(G,N),!('EArgs')),[])))))))),'builtin#true'). :-('/Functional#eval'('/Functional#wrap'(A),B,C),'builtin#if'('builtin#compound'(::(A,B)),'builtin#if'(=(::(A,B),::('/Functional#unwrap'(D),B)),'/Functional#eval'(D,B,C),','('/bootstrap#safeParseTerm'(::(A,B),E,F),','('/Functional#evalArgs'(F,G),'builtin#parseTerm'(::(C,B),E,G)))),=(::(C,B),::(A,B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#sandbox'(::('/bootstrap#listSet'('.'(:-('/bootstrap#checkSignature'(::('/Functional#unwrap'(A),B),'.'(::(A,'/Functional#expr'(B)),[])),'builtin#true'),[])),'/bootstrap#set'('/bootstrap#statement'))),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#sandbox'(::('/bootstrap#listSet'('.'(:-('/bootstrap#checkSignature'(::('/Functional#unwrap'(A),B),'.'(::(A,'/Functional#expr'(B)),[])),'builtin#true'),[])),'/bootstrap#set'('/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('/Functional#evalArgs'([],[]),'builtin#true'),[]),'builtin#true'). :-('/Functional#evalArgs'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#signature'(::('/Functional#evalArgs'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('Args')),'.'('builtin#varName'(::(B,D),!('ArgsV')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#evalArgs'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('/bootstrap#checkSignature'(::('/Functional#unwrap'(A),B),'.'(::(A,'/Functional#expr'(B)),[])),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/bootstrap#checkSignature'(::('/Functional#unwrap'(A),B),'.'(::(A,'/Functional#expr'(B)),[])),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#projection'(::('/Functional#unwrap'(A),B),'/bootstrap#lineBorder'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'cpi#rgb'(255,255,255))),2,'cpi#rgb'(192,192,255))),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#unwrap'(A),B),'/bootstrap#lineBorder'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),'cpi#rgb'(255,255,255))),2,'cpi#rgb'(192,192,255))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#compound'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),!('Is TTerm a compound typed-term?')),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('builtin#compound'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('/Functional#evalArgs'('.'(::(A,B),C),'.'(::(D,B),E)),','('/Functional#eval'('/Functional#wrap'(A),B,D),'/Functional#evalArgs'(C,E))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Rest')),'.'('builtin#varName'(::(D,I),!('FirstV')),'.'('builtin#varName'(::(E,J),!('RestV')),[])))))),'builtin#true'). :-('/Functional#evalArgs'('.'(::(A,B),C),'.'(::(D,B),E)),','('/Functional#eval'('/Functional#wrap'(A),B,D),'/Functional#evalArgs'(C,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#disabled'('/bootstrap#adapter'(::(A,B),::('/Functional#wrap'(A),'/Functional#expr'(B)))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#adapter'(::(A,B),::('/Functional#wrap'(A),'/Functional#expr'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#signature'(::('/Functional#range'(A,B),'/Functional#expr'('/bootstrap#list'('/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('B')),'.'('builtin#varName'(::(B,D),!('E')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#range'(A,B),'/Functional#expr'('/bootstrap#list'('/bootstrap#number'))),'.'(::(A,'/Functional#expr'('/bootstrap#number')),'.'(::(B,'/Functional#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#projection'(::('/Functional#range'(A,B),'/Functional#expr'('/bootstrap#list'('/bootstrap#number'))),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[])))),91,41),[]))),'.'('builtin#varName'(::(A,C),!('B')),'.'('builtin#varName'(::(B,D),!('E')),[]))),'builtin#true'). '/bootstrap#projection'(::('/Functional#range'(A,B),'/Functional#expr'('/bootstrap#list'('/bootstrap#number'))),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#number'))),[])))),91,41),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/Functional#def'('/Functional#range'(A,B),'/bootstrap#list'('/bootstrap#number'),'/Functional#if'('/Functional#gt'(B,A,'/bootstrap#number'),'/Functional#wrap'('.'('/Functional#unwrap'(A),'/Functional#unwrap'('/Functional#range'('/Functional#plus'(A,'/Functional#wrap'(1)),B)))),'/Functional#wrap'([]))),'.'('builtin#varName'(::(A,C),!('B')),'.'('builtin#varName'(::(B,D),!('E')),[]))),'builtin#true'). '/Functional#def'('/Functional#range'(A,B),'/bootstrap#list'('/bootstrap#number'),'/Functional#if'('/Functional#gt'(B,A,'/bootstrap#number'),'/Functional#wrap'('.'('/Functional#unwrap'(A),'/Functional#unwrap'('/Functional#range'('/Functional#plus'(A,'/Functional#wrap'(1)),B)))),'/Functional#wrap'([]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#unitTest'('/Functional#eval'('/Functional#range'('/Functional#wrap'(0),'/Functional#wrap'(3)),'/bootstrap#list'('/bootstrap#number'),'.'(0,'.'(1,'.'(2,[]))))),[]),'builtin#true'). '/bootstrap#unitTest'('/Functional#eval'('/Functional#range'('/Functional#wrap'(0),'/Functional#wrap'(3)),'/bootstrap#list'('/bootstrap#number'),'.'(0,'.'(1,'.'(2,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#signature'(::('/Functional#insertExpression'(A,B),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#insertExpression'(A,B),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('cpi#procedureCommand'('/Functional#insertExpression'(A,B),'/bootstrap#doProc'('cpi#edit'(A,::('/Functional#unwrap'(C),B),[]))),'/Functional#ancestorIsWrapper'(A)),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('T')),[]))),'builtin#true'). :-('cpi#procedureCommand'('/Functional#insertExpression'(A,B),'/bootstrap#doProc'('cpi#edit'(A,::('/Functional#unwrap'(C),B),[]))),'/Functional#ancestorIsWrapper'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#contextMenuEntry'(::(A,B),C,D,!('Insert Expression'),'/Functional#insertExpression'(D,B)),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(D,F),!('Path')),[]))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,B),C,D,!('Insert Expression'),'/Functional#insertExpression'(D,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),'/bootstrap#signature'(::('/Functional#ancestorIsWrapper'(A),'/bootstrap#pred'),'.'(::(A,'cpi#path'),[])),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#signature'(::('/Functional#ancestorIsWrapper'(A),'/bootstrap#pred'),'.'(::(A,'cpi#path'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/wrappers.ced'),:-('/Functional#ancestorIsWrapper'('cpi#path'(A,B)),','('/bootstrap#append'(C,'.'(D,E),B,'/bootstrap#number'),'cpi#termAtPath'('cpi#path'(A,C),::('/Functional#wrap'(F),'/Functional#expr'(G)),H))),'.'('builtin#varName'(::(A,I),!('Resource')),'.'('builtin#varName'(::(B,J),!('Path')),'.'('builtin#varName'(::(C,K),!('Prefix')),[])))),'builtin#true'). :-('/Functional#ancestorIsWrapper'('cpi#path'(A,B)),','('/bootstrap#append'(C,'.'(D,E),B,'/bootstrap#number'),'cpi#termAtPath'('cpi#path'(A,C),::('/Functional#wrap'(F),'/Functional#expr'(G)),H))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/xmlFile.ced'),'/bootstrap#signature'(::('/Functional#generateXMLFile'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/html#xml'),[]))),'.'('builtin#varName'(::(A,C),!('FileName')),'.'('builtin#varName'(::(B,D),!('XML')),[]))),'builtin#true'). '/bootstrap#signature'(::('/Functional#generateXMLFile'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/html#xml'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/xmlFile.ced'),:-('cpi#procedureCommand'('/Functional#generateXMLFile'(A,B),'/bootstrap#doProc'('/bootstrap#generateFileForSet'(A,'/bootstrap#singleton'(C)))),'/Functional#eval'('/Functional#plus'('/Functional#wrap'(!('\n')),'/html#toText'(::(B,'/html#xml'))),'/bootstrap#string',C)),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('XML')),'.'('builtin#varName'(::(C,F),!('XmlText')),[])))),'builtin#true'). :-('cpi#procedureCommand'('/Functional#generateXMLFile'(A,B),'/bootstrap#doProc'('/bootstrap#generateFileForSet'(A,'/bootstrap#singleton'(C)))),'/Functional#eval'('/Functional#plus'('/Functional#wrap'(!('\n')),'/html#toText'(::(B,'/html#xml'))),'/bootstrap#string',C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/xmlFile.ced'),'/bootstrap#contextMenuEntry'(::(A,'/html#xml'),B,C,!('Generate XML File'),'/Functional#generateXMLFile'(!('gen.xml'),A)),'.'('builtin#varName'(::(A,D),!('XML')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/html#xml'),B,C,!('Generate XML File'),'/Functional#generateXMLFile'(!('gen.xml'),A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#signature'(::('/bootstrap#adapter'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('WrappedTTerm')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#adapter'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#projection'(::('/bootstrap#adapter'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(use)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('as adapter for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('WrappedTTerm')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#adapter'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(use)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('as adapter for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#signature'(::('/bootstrap#checkAdapter'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkAdapter'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),:-('/bootstrap#checkAdapter'(A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#checkAdapter'(A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),~>('/bootstrap#adapter'(::(A,B),::(C,D)),:-('/bootstrap#checkAdapter'(::(A,B),::(C,D)),\+(=(::(B,'/bootstrap#type'),::(D,'/bootstrap#type'))))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('T1')),'.'('builtin#varName'(::(C,G),!('Y')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). :-('/bootstrap#checkAdapter'(::(A,B),::(C,D)),','('/bootstrap#adapter'(::(A,B),::(C,D)),\+(=(::(B,'/bootstrap#type'),::(D,'/bootstrap#type'))))). :-('/bootstrap#adapter'(::(A,B),::(C,D)),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#adapter'(::(A,B),::(::(A,B),'/bootstrap#typedTerm')),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,B),::(::(A,B),'/bootstrap#typedTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#pred'),::(:-(A,'builtin#true'),'/bootstrap#statement')),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#pred'),::(:-(A,'builtin#true'),'/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),:-('/bootstrap#errorSolution'('/bootstrap#typeMimatch'(A,B,C),D,'cpi#edit'(C,::(E,B),F)),','('cpi#termAtPath'(C,::(G,H),F),'/bootstrap#checkAdapter'(::(G,A),::(E,B)))),'.'('builtin#varName'(::(A,I),!('Given')),'.'('builtin#varName'(::(B,J),!('Expected')),'.'('builtin#varName'(::(C,K),!('Path')),'.'('builtin#varName'(::(E,L),!('Wrapped')),'.'('builtin#varName'(::(F,M),!('VarNames')),'.'('builtin#varName'(::(G,N),!('Original')),[]))))))),'builtin#true'). :-('/bootstrap#errorSolution'('/bootstrap#typeMimatch'(A,B,C),D,'cpi#edit'(C,::(E,B),F)),','('cpi#termAtPath'(C,::(G,H),F),'/bootstrap#checkAdapter'(::(G,A),::(E,B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),'/bootstrap#signature'(::('/bootstrap#setAtPathAndNotify'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#setAtPathAndNotify'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),:-('cpi#procedureCommand'('/bootstrap#setAtPathAndNotify'(A,B,C),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'(A,B,C)),'.'('/bootstrap#notify'(::(D,'cpi#path')),[])))),'/bootstrap#containingStatementPath'(A,D)),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('StatementPath')),[]))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#setAtPathAndNotify'(A,B,C),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'(A,B,C)),'.'('/bootstrap#notify'(::(D,'cpi#path')),[])))),'/bootstrap#containingStatementPath'(A,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/adapter.ced'),:-('/bootstrap#autoFix'('/bootstrap#typeMimatch'(A,B,C),D,'/bootstrap#setAtPathAndNotify'(C,::(E,B),F)),','('cpi#termAtPath'(C,::(G,H),F),'/bootstrap#checkAdapter'(::(G,A),::(E,B)))),'.'('builtin#varName'(::(A,I),!('Given')),'.'('builtin#varName'(::(B,J),!('Expected')),'.'('builtin#varName'(::(C,K),!('Path')),'.'('builtin#varName'(::(E,L),!('Wrapped')),'.'('builtin#varName'(::(F,M),!('VarNames')),'.'('builtin#varName'(::(G,N),!('Original')),[]))))))),'builtin#true'). :-('/bootstrap#autoFix'('/bootstrap#typeMimatch'(A,B,C),D,'/bootstrap#setAtPathAndNotify'(C,::(E,B),F)),','('cpi#termAtPath'(C,::(G,H),F),'/bootstrap#checkAdapter'(::(G,A),::(E,B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#signature'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#projection'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(use)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('as alias for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(use)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('as alias for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#signature'(::('/bootstrap#aliasString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#aliasString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),~>('/bootstrap#alias'(A,B),:-('/bootstrap#aliasString'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). :-('/bootstrap#aliasString'(A,B),','('/bootstrap#alias'(A,B),'builtin#true')). :-('/bootstrap#alias'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#signature'(::('/bootstrap#localString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Func')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#localString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#doc'(!('Codes are the ASCII codes of Str'),'/bootstrap#signature'(::('builtin#charCodes'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),[])))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Codes')),[]))),'builtin#true'). '/bootstrap#doc'(!('Codes are the ASCII codes of Str'),'/bootstrap#signature'(::('builtin#charCodes'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#sigProj'(::('/bootstrap#append'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'(D)),'.'(::(B,'/bootstrap#list'(D)),'.'(::(C,'/bootstrap#list'(D)),'.'(::(D,'/bootstrap#type'),[])))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!('is the concatenation of')),'.'('/bootstrap#vis'(::(A,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!(and)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!('of type')),'.'('/bootstrap#vis'(::(D,'/bootstrap#type')),[]))))))))),'.'('builtin#varName'(::(A,E),!('L1')),'.'('builtin#varName'(::(B,F),!('L2')),'.'('builtin#varName'(::(C,G),!('L3')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#sigProj'(::('/bootstrap#append'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'(D)),'.'(::(B,'/bootstrap#list'(D)),'.'(::(C,'/bootstrap#list'(D)),'.'(::(D,'/bootstrap#type'),[])))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!('is the concatenation of')),'.'('/bootstrap#vis'(::(A,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!(and)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(D))),'.'('/bootstrap#label'(!('of type')),'.'('/bootstrap#vis'(::(D,'/bootstrap#type')),[]))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),:-('/bootstrap#localString'(A,B),','('builtin#charCodes'(!(#),'.'(C,[])),','('builtin#charCodes'(A,D),','('/bootstrap#append'(E,'.'(C,F),D,'/bootstrap#number'),'builtin#charCodes'(B,F))))),'.'('builtin#varName'(::(A,G),!('Func')),'.'('builtin#varName'(::(B,H),!('String')),'.'('builtin#varName'(::(C,I),!('HashCode')),'.'('builtin#varName'(::(D,J),!('FuncCodes')),'.'('builtin#varName'(::(F,K),!('StringCodes')),[])))))),'builtin#true'). :-('/bootstrap#localString'(A,B),','('builtin#charCodes'(!(#),'.'(C,[])),','('builtin#charCodes'(A,D),','('/bootstrap#append'(E,'.'(C,F),D,'/bootstrap#number'),'builtin#charCodes'(B,F))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),:-('/bootstrap#aliasString'(A,B),','('builtin#parseTerm'(A,C,D),'/bootstrap#localString'(C,B))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('String')),'.'('builtin#varName'(::(C,G),!('Func')),[])))),'builtin#true'). :-('/bootstrap#aliasString'(A,B),','('builtin#parseTerm'(A,C,D),'/bootstrap#localString'(C,B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#unitTest'('/bootstrap#localString'(!('aa#bb'),!(bb))),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#localString'(!('aa#bb'),!(bb))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#unitTest'('/bootstrap#aliasString'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),!(alias))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('String')),[]))),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#aliasString'(::('/bootstrap#alias'(A,B),'/bootstrap#statement'),!(alias))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#alias'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),!(->>)),[]),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),!(->>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#alias'(::(\+(A),'/bootstrap#pred'),!(not)),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#alias'(::(\+(A),'/bootstrap#pred'),!(not)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#alias'(::(\+(A),'/bootstrap#pred'),!(\+)),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#alias'(::(\+(A),'/bootstrap#pred'),!(\+)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),~>('/bootstrap#projection'(A,'/bootstrap#label'(B)),'/bootstrap#alias'(A,B)),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Alias')),[]))),'builtin#true'). :-('/bootstrap#alias'(A,B),','('/bootstrap#projection'(A,'/bootstrap#label'(B)),'builtin#true')). :-('/bootstrap#projection'(A,'/bootstrap#label'(B)),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),~>('/bootstrap#projection'(A,'/bootstrap#horiz'('.'('/bootstrap#label'(B),C))),'/bootstrap#alias'(A,B)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Alias')),[]))),'builtin#true'). :-('/bootstrap#alias'(A,B),','('/bootstrap#projection'(A,'/bootstrap#horiz'('.'('/bootstrap#label'(B),C))),'builtin#true')). :-('/bootstrap#projection'(A,'/bootstrap#horiz'('.'('/bootstrap#label'(B),C))),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),~>('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(B,'.'('/bootstrap#label'(C),D)))),'/bootstrap#alias'(A,C)),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('Alias')),[]))),'builtin#true'). :-('/bootstrap#alias'(A,B),','('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(C,'.'('/bootstrap#label'(B),D)))),'builtin#true')). :-('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(B,'.'('/bootstrap#label'(C),D)))),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,[]),B),'/bootstrap#list'('/bootstrap#statement')),C,D,!('Create an alias'),'cpi#edit'(D,::('.'('/bootstrap#signature'(A,[]),'.'('/bootstrap#projection'(A,'/bootstrap#label'(!(alias))),B)),'/bootstrap#list'('/bootstrap#statement')),C)),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('OtherStatements')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,[]),B),'/bootstrap#list'('/bootstrap#statement')),C,D,!('Create an alias'),'cpi#edit'(D,::('.'('/bootstrap#signature'(A,[]),'.'('/bootstrap#projection'(A,'/bootstrap#label'(!(alias))),B)),'/bootstrap#list'('/bootstrap#statement')),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Define projection'),'/bootstrap#defineProjection'(A,B,C,D,E)),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Body')),'.'('builtin#varName'(::(C,H),!('OtherStatements')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Define projection'),'/bootstrap#defineProjection'(A,B,C,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#signature'(::('/bootstrap#defineProjection'(A,B,C,D,E),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#list'('/bootstrap#statement')),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'cpi#path'),[])))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Body')),'.'('builtin#varName'(::(C,H),!('OtherStatements')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defineProjection'(A,B,C,D,E),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#list'('/bootstrap#statement')),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'cpi#path'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),'/bootstrap#signature'(::('/bootstrap#visListForBody'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#visualization')),[]))),'.'('builtin#varName'(::(A,C),!('Body')),'.'('builtin#varName'(::(B,D),!('VisList')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#visListForBody'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#visualization')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),:-('cpi#procedureCommand'('/bootstrap#defineProjection'(A,B,C,D,E),'/bootstrap#doProc'('cpi#edit'(E,::('annotation#changeMode'('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,'/bootstrap#horiz'(F)),C)),'/bootstrap#vert'),'/bootstrap#list'('/bootstrap#statement')),D))),'/bootstrap#visListForBody'(B,F)),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('Body')),'.'('builtin#varName'(::(C,I),!('OtherStatements')),'.'('builtin#varName'(::(D,J),!('VNs')),'.'('builtin#varName'(::(E,K),!('Path')),'.'('builtin#varName'(::(F,L),!('VisList')),[]))))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#defineProjection'(A,B,C,D,E),'/bootstrap#doProc'('cpi#edit'(E,::('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,'/bootstrap#horiz'(F)),C)),'/bootstrap#list'('/bootstrap#statement')),D))),'/bootstrap#visListForBody'(B,F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),:-('/bootstrap#visListForBody'([],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#visListForBody'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alias.ced'),:-('/bootstrap#visListForBody'('.'(A,B),'.'('/bootstrap#vis'(A),C)),'/bootstrap#visListForBody'(B,C)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('TTerms')),'.'('builtin#varName'(::(C,F),!('VisList')),[])))),'builtin#true'). :-('/bootstrap#visListForBody'('.'(A,B),'.'('/bootstrap#vis'(A),C)),'/bootstrap#visListForBody'(B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#defAtom'(::('/bootstrap#alignment','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#alignment','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#defAtom'(::('cpi#bottom','/bootstrap#alignment')),[]),'builtin#true'). '/bootstrap#defAtom'(::('cpi#bottom','/bootstrap#alignment')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#projection'(::('cpi#bottom','/bootstrap#alignment'),'/bootstrap#symbol'(10515)),[]),'builtin#true'). '/bootstrap#projection'(::('cpi#bottom','/bootstrap#alignment'),'/bootstrap#symbol'(10515)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#defAtom'(::('cpi#top','/bootstrap#alignment')),[]),'builtin#true'). '/bootstrap#defAtom'(::('cpi#top','/bootstrap#alignment')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#projection'(::('cpi#top','/bootstrap#alignment'),'/bootstrap#symbol'(10514)),[]),'builtin#true'). '/bootstrap#projection'(::('cpi#top','/bootstrap#alignment'),'/bootstrap#symbol'(10514)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#defAtom'(::('cpi#middle','/bootstrap#alignment')),[]),'builtin#true'). '/bootstrap#defAtom'(::('cpi#middle','/bootstrap#alignment')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#projection'(::('cpi#middle','/bootstrap#alignment'),'/bootstrap#symbol'(8597)),[]),'builtin#true'). '/bootstrap#projection'(::('cpi#middle','/bootstrap#alignment'),'/bootstrap#symbol'(8597)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/alignment.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),B,C,!('Set alignment'),'cpi#edit'(C,::('/bootstrap#horiz'(A,'cpi#top'),'/bootstrap#visualization'),B)),'.'('builtin#varName'(::(A,D),!('List')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),B,C,!('Set alignment'),'cpi#edit'(C,::('/bootstrap#horiz'(A,'cpi#top'),'/bootstrap#visualization'),B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#escape'(A)),B),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('annotation#escape'(A),B),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#parentheses'(A)),B),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('annotation#parentheses'(A),B),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#alias'(::('annotation#escape'('annotation#parentheses'(A)),B),!('()')),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('annotation#parentheses'(A),B),!('()')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#projection'(::('annotation#escape'('annotation#parentheses'(A)),B),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),40,41),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('annotation#parentheses'(A),B),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),40,41),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#comment'(A,B)),C),'.'(::(A,C),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,D),!('Body')),'.'('builtin#varName'(::(B,E),!('Comment')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('annotation#comment'(A,B),C),'.'(::(A,C),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#projection'(::('annotation#escape'('annotation#comment'(A,B)),C),'/bootstrap#vert'('.'('/bootstrap#background'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),'cpi#rgb'(255,255,128)),'.'('/bootstrap#pivot'('/bootstrap#vis'(::(A,C))),[])))),'.'('builtin#varName'(::(A,D),!('Body')),'.'('builtin#varName'(::(B,E),!('Comment')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('annotation#comment'(A,B),C),'/bootstrap#vert'('.'('/bootstrap#background'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),'cpi#rgb'(255,255,128)),'.'('/bootstrap#pivot'('/bootstrap#vis'(::(A,C))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#alias'(::('annotation#escape'('annotation#comment'(A,B)),C),!(//)),'.'('builtin#varName'(::(A,D),!('Body')),'.'('builtin#varName'(::(B,E),!('Comment')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#alias'(::('annotation#comment'(A,B),C),!(//)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#minComment'(A,B)),C),'.'(::(A,C),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,D),!('Body')),'.'('builtin#varName'(::(B,E),!('Comment')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('annotation#minComment'(A,B),C),'.'(::(A,C),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#projection'(::('annotation#escape'('annotation#minComment'(A,B)),C),'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#smaller'('/bootstrap#color'('/bootstrap#symbol'(9873),'cpi#rgb'(200,200,0))),'.'('/bootstrap#vis'(::(A,C)),[])),'cpi#top'),'/bootstrap#vis'(::(B,'/bootstrap#string')))),'.'('builtin#varName'(::(A,D),!('Body')),'.'('builtin#varName'(::(B,E),!('Comment')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('annotation#minComment'(A,B),C),'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#smaller'('/bootstrap#color'('/bootstrap#symbol'(9873),'cpi#rgb'(200,200,0))),'.'('/bootstrap#vis'(::(A,C)),[])),'cpi#top'),'/bootstrap#vis'(::(B,'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#defAtom'(::('/bootstrap#Yellow tag.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Yellow tag.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(::('annotation#escape'('annotation#comment'(A,B)),C),D,E,!('Minimize comment'),'cpi#edit'(E,::('annotation#escape'('annotation#minComment'(A,B)),C),D),'/bootstrap#Yellow tag.png'),'.'('builtin#varName'(::(A,F),!('Body')),'.'('builtin#varName'(::(B,G),!('Comment')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('annotation#comment'(A,B),C),D,E,!('Minimize comment'),'cpi#edit'(E,::('annotation#minComment'(A,B),C),D),'/bootstrap#Yellow tag.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(::('annotation#escape'('annotation#minComment'(A,B)),C),D,E,!('Restore comment'),'cpi#edit'(E,::('annotation#escape'('annotation#comment'(A,B)),C),D),'/bootstrap#Yellow tag.png'),'.'('builtin#varName'(::(A,F),!('Body')),'.'('builtin#varName'(::(B,G),!('Comment')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('annotation#minComment'(A,B),C),D,E,!('Restore comment'),'cpi#edit'(E,::('annotation#comment'(A,B),C),D),'/bootstrap#Yellow tag.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#changeMode'(A,B)),C),'.'(::(A,C),'.'(::(B,'/bootstrap#mode'),[]))),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('Mode')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#signature'(::('annotation#changeMode'(A,B),C),'.'(::(A,C),'.'(::(B,'/bootstrap#mode'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#projection'(::('annotation#escape'('annotation#changeMode'(A,B)),C),'/bootstrap#horiz'('.'('/bootstrap#color'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#mode'))),'cpi#rgb'(192,192,192)),'.'('/bootstrap#vis'(::(A,C)),[])))),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('Mode')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#projection'(::('annotation#changeMode'(A,B),C),'/bootstrap#horiz'('.'('/bootstrap#color'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#mode'))),'cpi#rgb'(192,192,192)),'.'('/bootstrap#vis'(::(A,C)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),:-('/bootstrap#userVisualization'(::('annotation#escape'('annotation#changeMode'(A,B)),C),D,[],'/bootstrap#horiz'('.'('/bootstrap#color'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#mode'))),'cpi#rgb'(192,192,192)),'.'('cpi#vis'(::(A,C),E),[])))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#mode'),::('cpi#default','/bootstrap#mode'),::(E,'/bootstrap#mode'),F)),'.'('builtin#varName'(::(A,G),!('Term')),'.'('builtin#varName'(::(B,H),!('Mode')),'.'('builtin#varName'(::(C,I),!('Type')),'.'('builtin#varName'(::(E,J),!('ModeVal')),[]))))),'builtin#true'). :-('/bootstrap#userVisualization'(::('annotation#changeMode'(A,B),C),D,[],'/bootstrap#horiz'('.'('/bootstrap#color'('/bootstrap#halfSize'('/bootstrap#vis'(::(B,'/bootstrap#mode'))),'cpi#rgb'(192,192,192)),'.'('cpi#vis'(::(A,C),E),[])))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#mode'),::('cpi#default','/bootstrap#mode'),::(E,'/bootstrap#mode'),F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(::(A,B),C,D,!('Change projection mode'),'cpi#edit'(D,'annotation#escape'(::('annotation#changeMode'(A,'cpi#default'),B)),C)),'.'('builtin#varName'(::(A,E),!('Term')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,B),C,D,!('Change projection mode'),'cpi#edit'(D,::('annotation#changeMode'(A,'cpi#default'),B),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Display horizontally'),'cpi#edit'(E,'annotation#escape'(::('annotation#changeMode'('.'(A,B),'/bootstrap#horiz'),'/bootstrap#list'(C))),D)),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Display horizontally'),'cpi#edit'(E,::('annotation#changeMode'('.'(A,B),'/bootstrap#horiz'),'/bootstrap#list'(C)),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Display vertically'),'cpi#edit'(E,'annotation#escape'(::('annotation#changeMode'('.'(A,B),'/bootstrap#vert'),'/bootstrap#list'(C))),D)),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Display vertically'),'cpi#edit'(E,::('annotation#changeMode'('.'(A,B),'/bootstrap#vert'),'/bootstrap#list'(C)),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#contextMenuEntry'(A,B,C,!('Remove annotation'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(C,D,B)),','(\+('builtin#var'(A)),','('/bootstrap#safeParseTerm'(A,E,'.'(D,F)),'builtin#strcat'(!('annotation#'),G,E)))),'/bootstrap#Delete.png'),'.'('builtin#varName'(::(A,H),!('Annotated')),'.'('builtin#varName'(::(B,I),!('VNs')),'.'('builtin#varName'(::(C,J),!('Path')),'.'('builtin#varName'(::(D,K),!('Unannotated')),'.'('builtin#varName'(::(E,L),!('Func')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(A,B,C,!('Remove annotation'),'/bootstrap#where'('/bootstrap#doProc'('cpi#edit'(C,D,B)),','(\+('builtin#var'(A)),','('/bootstrap#safeParseTerm'(A,E,'.'(D,F)),'builtin#strcat'(!('annotation#'),G,E)))),'/bootstrap#Delete.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'annotation#comment'('/bootstrap#deprecated'(::('/bootstrap#doc'(A,B),'/bootstrap#statement')),!('The annotation comment replaces the declaration documentation')),'.'('builtin#varName'(::(A,C),!('Doc')),'.'('builtin#varName'(::(B,D),!('Signature')),[]))),'builtin#true'). '/bootstrap#deprecated'(::('/bootstrap#doc'(A,B),'/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/annotation.ced'),'/bootstrap#deprecationReplacement'('/bootstrap#doc'(A,B),'/bootstrap#statement','annotation#escape'('annotation#comment'(B,A))),'.'('builtin#varName'(::(A,C),!('Doc')),'.'('builtin#varName'(::(B,D),!('Signature')),[]))),'builtin#true'). '/bootstrap#deprecationReplacement'('/bootstrap#doc'(A,B),'/bootstrap#statement','annotation#comment'(B,A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),'/bootstrap#signature'(::('/bootstrap#defAtom'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defAtom'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),'/bootstrap#projection'(::('/bootstrap#defAtom'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#defAtom'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),~>('/bootstrap#defAtom'(A),'/bootstrap#signature'(A,[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#signature'(A,[]),','('/bootstrap#defAtom'(A),'builtin#true')). :-('/bootstrap#defAtom'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),'/bootstrap#signature'(::('/bootstrap#wrongAtomicSignature'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#wrongAtomicSignature'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),:-('/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),D,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#wrongAtomicSignature'(B,A,D),D))),','(\+('builtin#var'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')))),','(=(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::([],'/bootstrap#list'('/bootstrap#typedTerm'))),','(\+('builtin#var'(::(B,'/bootstrap#typedTerm'))),'/bootstrap#statementPath'(A))))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('Empty')),'.'('builtin#varName'(::(D,H),!('VNs')),[]))))),'builtin#true'). :-('/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),D,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#wrongAtomicSignature'(B,A,D),D))),','(\+('builtin#var'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')))),','(=(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::([],'/bootstrap#list'('/bootstrap#typedTerm'))),','(\+('builtin#var'(::(B,'/bootstrap#typedTerm'))),'/bootstrap#statementPath'(A))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),:-('/bootstrap#autoFix'('/bootstrap#wrongAtomicSignature'(A,B,C),D,'cpi#edit'(B,::('/bootstrap#defAtom'(A),'/bootstrap#statement'),C)),'builtin#true'),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('VNs')),[])))),'builtin#true'). :-('/bootstrap#autoFix'('/bootstrap#wrongAtomicSignature'(A,B,C),D,'cpi#edit'(B,::('/bootstrap#defAtom'(A),'/bootstrap#statement'),C)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/atom.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#defAtom'(A),B),'/bootstrap#list'('/bootstrap#statement')),C,D,!('Define projection'),'cpi#edit'(D,::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,'/bootstrap#horiz'([])),B)),'/bootstrap#list'('/bootstrap#statement')),C)),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Rest')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#defAtom'(A),B),'/bootstrap#list'('/bootstrap#statement')),C,D,!('Define projection'),'cpi#edit'(D,::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,'/bootstrap#horiz'([])),B)),'/bootstrap#list'('/bootstrap#statement')),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#autocomplete'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#string'),'.'(::(C,A),'.'(::(D,'/bootstrap#string'),[]))))),'.'('builtin#varName'(::(A,E),!('Type')),'.'('builtin#varName'(::(B,F),!('Prefix')),'.'('builtin#varName'(::(C,G),!('Completion')),'.'('builtin#varName'(::(D,H),!('Alias')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#autocomplete'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#string'),'.'(::(C,A),'.'(::(D,'/bootstrap#string'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#strcat'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))),!('Z is a concatenation of strings X and Y')),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#strcat'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#defaultRepresentation'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defaultRepresentation'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#autocomplete'(A,B,C,D),','('/bootstrap#checkSignature'(::(E,F),G),','('/bootstrap#checkAdapter'(::(E,F),::(C,A)),','('/bootstrap#aliasString'(::(E,F),D),','('builtin#strcat'(B,H,D),','('builtin#if'('/bootstrap#defaultRepresentation'(::(E,F)),'builtin#true','builtin#true'),'builtin#true')))))),'.'('builtin#varName'(::(A,I),!('Type')),'.'('builtin#varName'(::(B,J),!('Prefix')),'.'('builtin#varName'(::(C,K),!('Completion')),'.'('builtin#varName'(::(D,L),!('Alias')),'.'('builtin#varName'(::(E,M),!('Internal')),'.'('builtin#varName'(::(F,N),!('InternalType')),[]))))))),'builtin#true'). :-('/bootstrap#autocomplete'(A,B,C,D),','('/bootstrap#checkSignature'(::(E,F),G),','('/bootstrap#checkAdapter'(::(E,F),::(C,A)),','('/bootstrap#aliasString'(::(E,F),D),','('builtin#strcat'(B,H,D),','('builtin#if'('/bootstrap#defaultRepresentation'(::(E,F)),'builtin#true','builtin#true'),'builtin#true')))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#autocomplete'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#string'),[]))))),!('Provide auto-complete solutions for TTerm, where the user has already entered Prefix. CompletionString is to contain the full completion term, and Alias will contain the alias to be displayed')),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Prefix')),'.'('builtin#varName'(::(C,G),!('CompletionString')),'.'('builtin#varName'(::(D,H),!('Alias')),[]))))),'builtin#true'). '/bootstrap#signature'(::('cpi#autocomplete'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#string'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('cpi#autocomplete'(::(A,B),C,D,E),','('/bootstrap#fixType'(::(B,'/bootstrap#type'),::(F,'/bootstrap#type')),','('/bootstrap#autocomplete'(F,C,G,E),','('/bootstrap#descriptorContent'(::(A,F),::(H,F),I),','('builtin#if'('/bootstrap#injectContent'(G,H,F,I),'builtin#true','builtin#true'),','('/bootstrap#safeParseTerm'(::(G,F),J,K),','('/bootstrap#defaultRepresentationForAll'(K),'builtin#termToString'(::(G,F),I,5,[],D)))))))),'.'('builtin#varName'(::(A,L),!('Desc')),'.'('builtin#varName'(::(B,M),!('Type1')),'.'('builtin#varName'(::(C,N),!('Prefix')),'.'('builtin#varName'(::(D,O),!('CompletionString')),'.'('builtin#varName'(::(E,P),!('Alias')),'.'('builtin#varName'(::(F,Q),!('Type')),'.'('builtin#varName'(::(G,R),!('Completion')),'.'('builtin#varName'(::(H,S),!('Content')),'.'('builtin#varName'(::(I,T),!('VarNames')),'.'('builtin#varName'(::(K,U),!('InternalArgs')),[]))))))))))),'builtin#true'). :-('cpi#autocomplete'(::(A,B),C,D,E),','('/bootstrap#fixType'(::(B,'/bootstrap#type'),::(F,'/bootstrap#type')),','('/bootstrap#autocomplete'(F,C,G,E),','('/bootstrap#descriptorContent'(::(A,F),::(H,F),I),','('builtin#if'('/bootstrap#injectContent'(G,H,F,I),'builtin#true','builtin#true'),','('/bootstrap#safeParseTerm'(::(G,F),J,K),','('/bootstrap#defaultRepresentationForAll'(K),'builtin#termToString'(::(G,F),I,5,[],D)))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#disabled'(:-('cpi#autocomplete'(::('cpi#descriptor'(A,B,C),D),E,F,G),','('/bootstrap#fixType'(::(D,'/bootstrap#type'),::(H,'/bootstrap#type')),','('/bootstrap#containingStatementPath'(A,I),','('cpi#termAtPath'(I,::(J,'/bootstrap#statement'),K),','('/bootstrap#validateVarNames'(J,K),','('/bootstrap#checkAdapter'(::(L,M),::(N,H)),','('/bootstrap#listMember'('builtin#varName'(::(L,M),G),'/bootstrap#varName',K),','('builtin#strcat'(E,O,G),'builtin#termToString'(::(N,H),K,5,[],F)))))))))),'.'('builtin#varName'(::(A,P),!('Path')),'.'('builtin#varName'(::(D,Q),!('Type1')),'.'('builtin#varName'(::(E,R),!('Prefix')),'.'('builtin#varName'(::(F,S),!('CompletionString')),'.'('builtin#varName'(::(G,T),!('Alias')),'.'('builtin#varName'(::(H,U),!('Type')),'.'('builtin#varName'(::(I,V),!('StatementPath')),'.'('builtin#varName'(::(J,W),!('Statement')),'.'('builtin#varName'(::(K,X),!('VarNames')),'.'('builtin#varName'(::(L,Y),!('Var')),'.'('builtin#varName'(::(M,Z),!('VarType')),'.'('builtin#varName'(::(N,A1),!('Completion')),[]))))))))))))),'builtin#true'). '/bootstrap#disabled'(:-('cpi#autocomplete'(::('cpi#descriptor'(A,B,C),D),E,F,G),','('/bootstrap#fixType'(::(D,'/bootstrap#type'),::(H,'/bootstrap#type')),','('/bootstrap#containingStatementPath'(A,I),','('cpi#termAtPath'(I,::(J,'/bootstrap#statement'),K),','('/bootstrap#validateVarNames'(J,K),','('/bootstrap#checkAdapter'(::(L,M),::(N,H)),','('/bootstrap#listMember'('builtin#varName'(::(L,M),G),'/bootstrap#varName',K),','('builtin#strcat'(E,O,G),'builtin#termToString'(::(N,H),K,5,[],F)))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#validateVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('Statement')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#validateVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#validateVarNames'(A,[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#validateVarNames'(A,[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#validateVarNames'(A,'.'('builtin#varName'(B,C),D)),','('/bootstrap#safeVarIn'(B,::(A,'/bootstrap#statement')),'/bootstrap#validateVarNames'(A,D))),'.'('builtin#varName'(::(A,E),!('Statement')),'.'('builtin#varName'(::(B,F),!('TVar')),'.'('builtin#varName'(::(D,G),!('Rest')),[])))),'builtin#true'). :-('/bootstrap#validateVarNames'(A,'.'('builtin#varName'(B,C),D)),','('/bootstrap#safeVarIn'(B,::(A,'/bootstrap#statement')),'/bootstrap#validateVarNames'(A,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#safeVarIn'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('TTerm')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#safeVarIn'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#safeVarIn'(::(A,B),::(C,D)),'builtin#if'('builtin#var'(::(C,D)),','('builtin#equals'(::(A,B),::(C,D)),=(::(B,'/bootstrap#type'),::(D,'/bootstrap#type'))),','('/bootstrap#safeParseTerm'(::(C,D),E,F),'/bootstrap#safeVarInList'(::(A,B),F)))),'.'('builtin#varName'(::(A,G),!('Var')),'.'('builtin#varName'(::(B,H),!('VarType')),'.'('builtin#varName'(::(C,I),!('Term')),'.'('builtin#varName'(::(D,J),!('TermType')),'.'('builtin#varName'(::(F,K),!('Args')),[])))))),'builtin#true'). :-('/bootstrap#safeVarIn'(::(A,B),::(C,D)),'builtin#if'('builtin#var'(::(C,D)),','('builtin#equals'(::(A,B),::(C,D)),=(::(B,'/bootstrap#type'),::(D,'/bootstrap#type'))),','('/bootstrap#safeParseTerm'(::(C,D),E,F),'/bootstrap#safeVarInList'(::(A,B),F)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#safeVarInList'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('TTerms')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#safeVarInList'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#safeVarInList'(A,'.'(B,C)),'/bootstrap#safeVarIn'(A,B)),'.'('builtin#varName'(::(A,D),!('TVar')),'.'('builtin#varName'(::(B,E),!('TTerm')),[]))),'builtin#true'). :-('/bootstrap#safeVarInList'(A,'.'(B,C)),'/bootstrap#safeVarIn'(A,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#safeVarInList'(A,'.'(B,C)),'/bootstrap#safeVarInList'(A,C)),'.'('builtin#varName'(::(A,D),!('TVar')),'.'('builtin#varName'(::(C,E),!('TTerms')),[]))),'builtin#true'). :-('/bootstrap#safeVarInList'(A,'.'(B,C)),'/bootstrap#safeVarInList'(A,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#injectContent'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,E),!('Completion')),'.'('builtin#varName'(::(B,F),!('Content')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('VarNames')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#injectContent'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#injectContent'(A,B,C,D),','(\+('annotation#parentheses'(','('builtin#var'(::(B,C)),\+('/bootstrap#varInVarNames'(::(B,C),D))))),','('/bootstrap#checkSignature'(::(A,C),'.'(::(E,F),G)),'/bootstrap#checkAdapter'(::(B,C),::(E,F))))),'.'('builtin#varName'(::(A,H),!('Completion')),'.'('builtin#varName'(::(B,I),!('Content')),'.'('builtin#varName'(::(C,J),!('Type')),'.'('builtin#varName'(::(D,K),!('VarNames')),'.'('builtin#varName'(::(E,L),!('FirstArg')),'.'('builtin#varName'(::(F,M),!('ArgType')),'.'('builtin#varName'(::(G,N),!('Args')),[])))))))),'builtin#true'). :-('/bootstrap#injectContent'(A,B,C,D),','(\+(','('builtin#var'(::(B,C)),\+('/bootstrap#varInVarNames'(::(B,C),D)))),','('/bootstrap#checkSignature'(::(A,C),'.'(::(E,F),G)),'/bootstrap#checkAdapter'(::(B,C),::(E,F))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#default'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#default'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),~>('/bootstrap#default'(A),:-('/bootstrap#defaultRepresentation'(A),'builtin#true')),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). :-('/bootstrap#defaultRepresentation'(A),','('/bootstrap#default'(A),'builtin#true')). :-('/bootstrap#default'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#default'(::([],'/bootstrap#list'(A))),[]),'builtin#true'). '/bootstrap#default'(::([],'/bootstrap#list'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#projection'(::('/bootstrap#default'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Use')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('by default')),[]))))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#default'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Use')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('by default')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),'/bootstrap#signature'(::('/bootstrap#defaultRepresentationForAll'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),[])),'.'('builtin#varName'(::(A,B),!('InternalArgs')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defaultRepresentationForAll'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#defaultRepresentationForAll'([]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#defaultRepresentationForAll'([]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/autocomplete.ced'),:-('/bootstrap#defaultRepresentationForAll'('.'(::(A,B),C)),','('builtin#if'(','(\+('builtin#var'(::(B,'/bootstrap#type'))),'/bootstrap#defaultRepresentation'(::(A,B))),'builtin#true','builtin#true'),'/bootstrap#defaultRepresentationForAll'(C))),'.'('builtin#varName'(::(A,D),!('Var')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('TArgs')),[])))),'builtin#true'). :-('/bootstrap#defaultRepresentationForAll'('.'(::(A,B),C)),','('builtin#if'(','(\+('builtin#var'(::(B,'/bootstrap#type'))),'/bootstrap#defaultRepresentation'(::(A,B))),'builtin#true','builtin#true'),'/bootstrap#defaultRepresentationForAll'(C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#signature'(::('annotation#parentheses'('/bootstrap#signature'(A,B)),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('TArgs')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#signature'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::('annotation#parentheses'(::(A,B)),'/bootstrap#typedTerm'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[]))),!('A typed term pair. This is a way to pass terms regardless of their type. Having the type encapsulated along with the term allows Cedalion to maintain type safety.')),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#signature'(::(::(A,B),'/bootstrap#typedTerm'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#alias'(::(::(A,B),'/bootstrap#typedTerm'),!(::)),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#alias'(::(::(A,B),'/bootstrap#typedTerm'),!(::)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::(:-(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))),!('A prolog-like deduction rule. Means that Head holds for every assignment for which Body holds')),'.'('builtin#varName'(::(A,C),!('Head')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#signature'(::(:-(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::(','(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))),!('Conjunction. Means that A and B must hold. A is evaluated first, and for each successful assignment of the variables in A, B is tested. Basic logic programming...')),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::(','(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::(~>(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),[]))),!('Rewrite rule. It provides statements based on Body for every statement that matches Head.')),'.'('builtin#varName'(::(A,C),!('Head')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#signature'(::(~>(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::([],'/bootstrap#list'(A)),[]),!('Empty list (or the end of a list)')),[]),'builtin#true'). '/bootstrap#signature'(::([],'/bootstrap#list'(A)),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::('.'(A,B),'/bootstrap#list'(C)),'.'(::(A,C),'.'(::(B,'/bootstrap#list'(C)),[]))),!('A list with at-least one element, or a link in a list')),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('L')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('.'(A,B),'/bootstrap#list'(C)),'.'(::(A,C),'.'(::(B,'/bootstrap#list'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#defAtom'(::('/bootstrap#type','/bootstrap#type')),!('The type of all types... Types are first-class citizens in Cedalion')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#type','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#defAtom'(::('/bootstrap#string','/bootstrap#type')),!('The type of strings')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#string','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::('/bootstrap#pred','/bootstrap#type'),[]),!('The type of predicates. Predicates are first-class citizens in Cedalion, and therefore they are typed')),[]),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#pred','/bootstrap#type'),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::('/bootstrap#list'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),!('The types of lists. T represents the type of each element on the list (note that all elements must be of the same type).')),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#list'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#comment'('/bootstrap#signature'(::('/bootstrap#horiz','/bootstrap#mode'),[]),!('This mode orders Cedalion to present a list as a horizontal list, bound by []')),[]),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horiz','/bootstrap#mode'),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(h))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#horizontal'('/bootstrap#label'(!(' ')),'/bootstrap#label'(!([])))),[])),'cpi#top')),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(h))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#horizontal'('/bootstrap#label'(!(' ')),'/bootstrap#label'(!([])))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#signature'(::('/bootstrap#horiz'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'.'(::(B,'/bootstrap#alignment'),[]))),'.'('builtin#varName'(::(A,C),!('List')),'.'('builtin#varName'(::(B,D),!('Alignment')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horiz'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'.'(::(B,'/bootstrap#alignment'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::('/bootstrap#horiz'(A,B),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(h))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#alignment')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(' ')),'/bootstrap#label'(!([])))),[]))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('List')),'.'('builtin#varName'(::(B,D),!('Alignment')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#horiz'(A,B),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(h))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#alignment')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(' ')),'/bootstrap#label'(!([])))),[]))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'annotation#shrink'('/bootstrap#projection'(::('annotation#parentheses'('/bootstrap#projection'(A,B)),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(display)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[]))))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(display)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#defAtom'(::('/bootstrap#horizCont','/bootstrap#mode')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#horizCont','/bootstrap#mode')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizCont','/bootstrap#horiz'([])),[]),'builtin#true'). '/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizCont','/bootstrap#horiz'([])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizCont','/bootstrap#horiz'('.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizCont'),[]))))),'.'('builtin#varName'(::(A,D),!('F')),'.'('builtin#varName'(::(B,E),!('R')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizCont','/bootstrap#horiz'('.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizCont'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#defAtom'(::('/bootstrap#wavy-arrow.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#wavy-arrow.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::(~>(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#symbol'(8605),'.'('/bootstrap#vis'(::(B,'/bootstrap#statement')),[]))))),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::(~>(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#symbol'(8605),'.'('/bootstrap#vis'(::(B,'/bootstrap#statement')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#alias'(::(~>(A,B),'/bootstrap#statement'),!(~>)),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#alias'(::(~>(A,B),'/bootstrap#statement'),!(~>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::(::(A,B),'/bootstrap#typedTerm'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#projection'(::(::(A,B),'/bootstrap#typedTerm'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::(','(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::(','(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#alias'(::(','(A,B),'/bootstrap#pred'),!(',')),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#alias'(::(','(A,B),'/bootstrap#pred'),!(',')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::(:-(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::(:-(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::('annotation#parentheses'('/bootstrap#signature'(A,B)),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'('/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[])))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('TArgs')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#signature'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'('/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#signature'(::('/bootstrap#or'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#or'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),'/bootstrap#projection'(::('/bootstrap#or'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#symbol'(8744),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#or'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#symbol'(8744),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),:-('/bootstrap#or'(A,B),A),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). :-('/bootstrap#or'(A,B),A). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/base.ced'),:-('/bootstrap#or'(A,B),B),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). :-('/bootstrap#or'(A,B),B). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#defAtom'(::('/bootstrap#statements','/bootstrap#set'('/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#statements','/bootstrap#set'('/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#setDef'('/bootstrap#statements','/bootstrap#set'(A,'builtin#loadedStatement'(B,A,C)),'/bootstrap#statement'),'.'('builtin#varName'(::(A,D),!('Statement')),[])),'builtin#true'). '/bootstrap#setDef'('/bootstrap#statements','/bootstrap#set'(A,'builtin#loadedStatement'(B,A,C)),'/bootstrap#statement'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#signature'(::('/bootstrap#closure'(A),'/bootstrap#set'('/bootstrap#statement')),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('S')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#closure'(A),'/bootstrap#set'('/bootstrap#statement')),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#setDef'('/bootstrap#closure'(A),'/bootstrap#union'('/bootstrap#singleton'(A),'/bootstrap#set'(B,','('/bootstrap#member'(~>(A,C),'/bootstrap#statements','/bootstrap#statement'),'/bootstrap#member'(B,'/bootstrap#closure'(C),'/bootstrap#statement')))),'/bootstrap#statement'),'.'('builtin#varName'(::(A,D),!('S')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#closure'(A),'/bootstrap#union'('/bootstrap#singleton'(A),'/bootstrap#set'(B,','('/bootstrap#member'(~>(A,C),'/bootstrap#statements','/bootstrap#statement'),'/bootstrap#member'(B,'/bootstrap#closure'(C),'/bootstrap#statement')))),'/bootstrap#statement'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#defAtom'(::('/bootstrap#closure','/bootstrap#set'('/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#closure','/bootstrap#set'('/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#setDef'('/bootstrap#closure','/bootstrap#set'(A,','('/bootstrap#member'(B,'/bootstrap#statements','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#closure'(B),'/bootstrap#statement'))),'/bootstrap#statement'),'.'('builtin#varName'(::(A,C),!('Y')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#closure','/bootstrap#set'(A,','('/bootstrap#member'(B,'/bootstrap#statements','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#closure'(B),'/bootstrap#statement'))),'/bootstrap#statement'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#defAtom'(::('/bootstrap#myStatementSet','/bootstrap#set'('/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#myStatementSet','/bootstrap#set'('/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#member'(:-('/bootstrap#member'(A,'/bootstrap#myStatementSet','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#singleton'('/bootstrap#setDef'(B,C,D)),'/bootstrap#statement')),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(E,F,G)),'/bootstrap#statement')),'/bootstrap#statement'))),'.'('builtin#varName'(::(A,H),!('X')),[])),'builtin#true'). '/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#member'(:-('/bootstrap#member'(A,'/bootstrap#myStatementSet','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#singleton'('/bootstrap#setDef'(B,C,D)),'/bootstrap#statement')),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(E,F,G)),'/bootstrap#statement')),'/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#member'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(A,B,C)),'/bootstrap#statement'),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(D,E,F)),'/bootstrap#statement')),'/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#member'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(A,B,C)),'/bootstrap#statement'),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(D,E,F)),'/bootstrap#statement')),'/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closure.ced'),'/bootstrap#disabled'('/bootstrap#unitTest'(\+('/bootstrap#member'(:-('/bootstrap#member'(A,'/bootstrap#myStatementSet','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#singleton'(:-(B,C)),'/bootstrap#statement')),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(D,E,F)),'/bootstrap#statement')),'/bootstrap#statement')))),'.'('builtin#varName'(::(A,G),!('X')),[])),'builtin#true'). '/bootstrap#disabled'('/bootstrap#unitTest'(\+('/bootstrap#member'(:-('/bootstrap#member'(A,'/bootstrap#myStatementSet','/bootstrap#statement'),'/bootstrap#member'(A,'/bootstrap#singleton'(:-(B,C)),'/bootstrap#statement')),'/bootstrap#closure'('/bootstrap#setDef'('/bootstrap#myStatementSet','/bootstrap#singleton'('/bootstrap#setDef'(D,E,F)),'/bootstrap#statement')),'/bootstrap#statement')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closureChecker.ced'),'/bootstrap#signature'(::('/bootstrap#checkClosure'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#mark'),[]))))),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('S')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('Mark')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkClosure'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#mark'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closureChecker.ced'),rem(:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,D)),'/bootstrap#statementPath'(A)),'/bootstrap#member'(E,'/bootstrap#closure'(B),'/bootstrap#statement'),'/bootstrap#checkClosure'(E,B,C,D)),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('S')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('Mark')),'.'('builtin#varName'(::(E,J),!('S1')),[])))))),'builtin#true'). rem(:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,D)),'/bootstrap#statementPath'(A)),'/bootstrap#member'(E,'/bootstrap#closure'(B),'/bootstrap#statement'),'/bootstrap#checkClosure'(E,B,C,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/closureChecker.ced'),:-('/bootstrap#checkClosure'(A,B,C,D),'builtin#fail'),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('S')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('Mark')),[]))))),'builtin#true'). :-('/bootstrap#checkClosure'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#signature'(::('/bootstrap#generateFile'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#pred'),[])))),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Var')),'.'('builtin#varName'(::(C,F),!('Goal')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#generateFile'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#pred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#commandClass'('/bootstrap#generateFile'(A,B,C),!('net.nansore.cedalion.cmd.GenerateFile')),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Var')),'.'('builtin#varName'(::(C,F),!('Goal')),[])))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#generateFile'(A,B,C),!('net.nansore.cedalion.cmd.GenerateFile')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#signature'(::('/bootstrap#generateFileForSet'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#set'('/bootstrap#string')),[]))),'.'('builtin#varName'(::(A,C),!('FileName')),'.'('builtin#varName'(::(B,D),!('Set')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#generateFileForSet'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#set'('/bootstrap#string')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#projection'(::('/bootstrap#generateFileForSet'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Generate file')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('with string set')),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'('/bootstrap#string'))),[])))))),'.'('builtin#varName'(::(A,C),!('FileName')),'.'('builtin#varName'(::(B,D),!('Set')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#generateFileForSet'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Generate file')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('with string set')),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'('/bootstrap#string'))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#procedure'('/bootstrap#generateFileForSet'(A,B),'/bootstrap#generateFile'(A,C,'/bootstrap#member'(C,B,'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Set')),'.'('builtin#varName'(::(C,F),!('Var')),[])))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#generateFileForSet'(A,B),'/bootstrap#generateFile'(A,C,'/bootstrap#member'(C,B,'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/codeGeneration.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#procedure'),::('/bootstrap#doProc'(A),'/bootstrap#command')),'.'('builtin#varName'(::(A,B),!('Proc')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#procedure'),::('/bootstrap#doProc'(A),'/bootstrap#command')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#signature'(::('/bootstrap#requires'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),[]))),'.'('builtin#varName'(::(A,C),!('S1')),'.'('builtin#varName'(::(B,D),!('S2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#requires'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#projection'(::('/bootstrap#requires'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#symbol'(8826),'.'('/bootstrap#vis'(::(B,'/bootstrap#statement')),[]))))),'.'('builtin#varName'(::(A,C),!('S1')),'.'('builtin#varName'(::(B,D),!('S2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#requires'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#symbol'(8826),'.'('/bootstrap#vis'(::(B,'/bootstrap#statement')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#signature'(::('/bootstrap#missing'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('S2')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#missing'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#projection'(::('/bootstrap#missing'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing statement:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[])))),'.'('builtin#varName'(::(A,B),!('S2')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#missing'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing statement:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#signature'(::('/bootstrap#saturate'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('IndexIn')),'.'('builtin#varName'(::(C,F),!('IndexOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#saturate'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),:-('/bootstrap#checkClosure'(A,B,C,'/bootstrap#error'('/bootstrap#missing'(D),C)),','('/bootstrap#member'('/bootstrap#requires'(A,D),'/bootstrap#statements','/bootstrap#statement'),','('/bootstrap#saturate'(::(A,'/bootstrap#statement'),0,E),\+('/bootstrap#member'(D,'/bootstrap#closure','/bootstrap#statement'))))),'.'('builtin#varName'(::(A,F),!('S1')),'.'('builtin#varName'(::(B,G),!('S')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('S2')),[]))))),'builtin#true'). :-('/bootstrap#checkClosure'(A,B,C,'/bootstrap#error'('/bootstrap#missing'(D),C)),','('/bootstrap#member'('/bootstrap#requires'(A,D),'/bootstrap#statements','/bootstrap#statement'),','('/bootstrap#saturate'(::(A,'/bootstrap#statement'),0,E),\+('/bootstrap#member'(D,'/bootstrap#closure','/bootstrap#statement'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#signature'(::('/bootstrap#saturateList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('TArgs')),'.'('builtin#varName'(::(B,E),!('IndexIn')),'.'('builtin#varName'(::(C,F),!('IndexOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#saturateList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),'/bootstrap#signature'(::('/bootstrap#$SAT$'(A),B),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,C),!('Index')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#$SAT$'(A),B),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),:-('/bootstrap#saturate'(A,B,C),'builtin#if'('builtin#var'(A),','(=(A,::('/bootstrap#$SAT$'(B),D)),'builtin#succ'(B,C)),'builtin#if'('builtin#compound'(A),','('builtin#parseTerm'(A,E,F),'/bootstrap#saturateList'(F,B,C)),=(::(C,'/bootstrap#number'),::(B,'/bootstrap#number'))))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('IndexIn')),'.'('builtin#varName'(::(C,I),!('IndexOut')),'.'('builtin#varName'(::(F,J),!('TArgs')),[]))))),'builtin#true'). :-('/bootstrap#saturate'(A,B,C),'builtin#if'('builtin#var'(A),','(=(A,::('/bootstrap#$SAT$'(B),D)),'builtin#succ'(B,C)),'builtin#if'('builtin#compound'(A),','('builtin#parseTerm'(A,E,F),'/bootstrap#saturateList'(F,B,C)),=(::(C,'/bootstrap#number'),::(B,'/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),:-('/bootstrap#saturateList'([],A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Index')),[])),'builtin#true'). :-('/bootstrap#saturateList'([],A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/completeness.ced'),:-('/bootstrap#saturateList'('.'(A,B),C,D),','('/bootstrap#saturate'(A,C,E),'/bootstrap#saturateList'(B,E,D))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('IndexIn')),'.'('builtin#varName'(::(D,I),!('IndexOut')),'.'('builtin#varName'(::(E,J),!('IndexMid')),[])))))),'builtin#true'). :-('/bootstrap#saturateList'('.'(A,B),C,D),','('/bootstrap#saturate'(A,C,E),'/bootstrap#saturateList'(B,E,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),'/bootstrap#signature'(::('/bootstrap#context','/bootstrap#type'),[]),[]),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#context','/bootstrap#type'),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),'/bootstrap#signature'(::('/bootstrap#checkContext'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#context'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Context')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkContext'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#context'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#checkContext'(A,B),'builtin#fail'),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Context')),[]))),'builtin#true'). :-('/bootstrap#checkContext'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),'/bootstrap#signature'(::('/bootstrap#subTerm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,E),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Path')),'.'('builtin#varName'(::(C,H),!('SubTTerm')),'.'('builtin#varName'(::(D,I),!('SubPath')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#subTerm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,E),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#subTerm'(A,B,A,B),'builtin#true'),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). :-('/bootstrap#subTerm'(A,B,A,B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),'/bootstrap#signature'(::('/bootstrap#subElement'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,E),!('Args')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('Arg')),'.'('builtin#varName'(::(D,H),!('Path1')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#subElement'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#subElement'('.'(A,B),'cpi#path'(C,D),A,'cpi#path'(C,'.'(1,D))),'builtin#true'),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('File')),'.'('builtin#varName'(::(D,G),!('Path')),[])))),'builtin#true'). :-('/bootstrap#subElement'('.'(A,B),'cpi#path'(C,D),A,'cpi#path'(C,'.'(1,D))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#subElement'('.'(A,B),'cpi#path'(C,D),E,'cpi#path'(C,'.'(F,D))),','('/bootstrap#subElement'(B,'cpi#path'(C,D),E,'cpi#path'(C,'.'(G,D))),'builtin#succ'(G,F))),'.'('builtin#varName'(::(B,H),!('TTerms')),'.'('builtin#varName'(::(C,I),!('File')),'.'('builtin#varName'(::(D,J),!('Path')),'.'('builtin#varName'(::(E,K),!('TTerm')),'.'('builtin#varName'(::(F,L),!('N')),'.'('builtin#varName'(::(G,M),!('N1')),[]))))))),'builtin#true'). :-('/bootstrap#subElement'('.'(A,B),'cpi#path'(C,D),E,'cpi#path'(C,'.'(F,D))),','('/bootstrap#subElement'(B,'cpi#path'(C,D),E,'cpi#path'(C,'.'(G,D))),'builtin#succ'(G,F))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#subTerm'(::(A,B),C,D,E),','('builtin#compound'(::(A,B)),','('/bootstrap#safeParseTerm'(::(A,B),F,G),','('/bootstrap#subElement'(G,C,H,I),'/bootstrap#subTerm'(H,I,D,E))))),'.'('builtin#varName'(::(A,J),!('Term')),'.'('builtin#varName'(::(B,K),!('Type')),'.'('builtin#varName'(::(C,L),!('Path')),'.'('builtin#varName'(::(D,M),!('SubTTerm')),'.'('builtin#varName'(::(E,N),!('SubPath')),'.'('builtin#varName'(::(G,O),!('Args')),'.'('builtin#varName'(::(H,P),!('Arg')),'.'('builtin#varName'(::(I,Q),!('Path1')),[]))))))))),'builtin#true'). :-('/bootstrap#subTerm'(::(A,B),C,D,E),','('builtin#compound'(::(A,B)),','('/bootstrap#safeParseTerm'(::(A,B),F,G),','('/bootstrap#subElement'(G,C,H,I),'/bootstrap#subTerm'(H,I,D,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#checkWithContext'(A,B,C,D),'builtin#fail'),'.'('builtin#varName'(::(A,E),!('Context')),'.'('builtin#varName'(::(B,F),!('SubTTerm')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Marker')),[]))))),'builtin#true'). :-('/bootstrap#checkWithContext'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),'/bootstrap#signature'(::('/bootstrap#checkWithContext'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#context'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#marker'),[]))))),'.'('builtin#varName'(::(A,E),!('Context')),'.'('builtin#varName'(::(B,F),!('SubTTerm')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Marker')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkWithContext'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#context'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#marker'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextCheck.ced'),:-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(D,E)),','('/bootstrap#checkContext'(B,F),','('/bootstrap#subTerm'(B,A,G,D),'/bootstrap#checkWithContext'(F,G,C,E)))),'.'('builtin#varName'(::(A,H),!('Path')),'.'('builtin#varName'(::(B,I),!('TTerm')),'.'('builtin#varName'(::(C,J),!('VNs')),'.'('builtin#varName'(::(D,K),!('SubPath')),'.'('builtin#varName'(::(E,L),!('Marker')),'.'('builtin#varName'(::(F,M),!('Context')),'.'('builtin#varName'(::(G,N),!('SubTTerm')),[])))))))),'builtin#true'). :-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(D,E)),','('/bootstrap#checkContext'(B,F),','('/bootstrap#subTerm'(B,A,G,D),'/bootstrap#checkWithContext'(F,G,C,E)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('/bootstrap#menuEntry','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#menuEntry','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#contextMenuEntry'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#menuEntry'),[]))),!('Succeeds for every context menu entry provided for Descriptor. MenuItem is bound to a description of the menu item to display')),'.'('builtin#varName'(::(A,C),!('Descriptor')),'.'('builtin#varName'(::(B,D),!('MenuItem')),[]))),'builtin#true'). '/bootstrap#signature'(::('cpi#contextMenuEntry'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#menuEntry'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('/bootstrap#noop','/bootstrap#procedure')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#noop','/bootstrap#procedure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#procedure'('/bootstrap#noop','/bootstrap#doAll'([])),[]),'builtin#true'). '/bootstrap#procedure'('/bootstrap#noop','/bootstrap#doAll'([])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#isShortcutKey'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('BaseCaption')),'.'('builtin#varName'(::(B,D),!('Shortcut')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#isShortcutKey'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),~>('/bootstrap#shortcutKey'(A,B),:-('/bootstrap#isShortcutKey'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Command')),'.'('builtin#varName'(::(B,D),!('Shortcut')),[]))),'builtin#true'). :-('/bootstrap#isShortcutKey'(A,B),','('/bootstrap#shortcutKey'(A,B),'builtin#true')). :-('/bootstrap#shortcutKey'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#procedure'),'.'(::(F,'/bootstrap#image'),[]))))))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('VarNames')),'.'('builtin#varName'(::(C,I),!('Path')),'.'('builtin#varName'(::(D,J),!('Name')),'.'('builtin#varName'(::(E,K),!('Proc')),'.'('builtin#varName'(::(F,L),!('Icon')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#procedure'),'.'(::(F,'/bootstrap#image'),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#projection'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Context menu entry')),'.'('/bootstrap#vis'(::(D,'/bootstrap#string')),'.'('/bootstrap#label'(!('with icon')),'.'('/bootstrap#vis'(::(F,'/bootstrap#image')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#varName'))),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(C,'cpi#path')),[]))))))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/bootstrap#procedure')),[])))),[])))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('VarNames')),'.'('builtin#varName'(::(C,I),!('Path')),'.'('builtin#varName'(::(D,J),!('Name')),'.'('builtin#varName'(::(E,K),!('Proc')),'.'('builtin#varName'(::(F,L),!('Icon')),[]))))))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Context menu entry')),'.'('/bootstrap#vis'(::(D,'/bootstrap#string')),'.'('/bootstrap#label'(!('with icon')),'.'('/bootstrap#vis'(::(F,'/bootstrap#image')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#varName'))),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(C,'cpi#path')),[]))))))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/bootstrap#procedure')),[])))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#procedure'),[])))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('Caption')),'.'('builtin#varName'(::(E,J),!('Proc')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#procedure'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#projection'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Context menu entry')),'.'('/bootstrap#vis'(::(D,'/bootstrap#string')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#varName'))),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(C,'cpi#path')),[]))))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/bootstrap#procedure')),[])))),[])))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('Caption')),'.'('builtin#varName'(::(E,J),!('Proc')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Context menu entry')),'.'('/bootstrap#vis'(::(D,'/bootstrap#string')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#varName'))),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(C,'cpi#path')),[]))))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/bootstrap#procedure')),[])))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('cpi#none','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('cpi#none','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),~>('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#contextMenuEntry'(A,B,C,D,E,'cpi#none')),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('Name')),'.'('builtin#varName'(::(E,J),!('Proc')),[])))))),'builtin#true'). :-('/bootstrap#contextMenuEntry'(A,B,C,D,E,'cpi#none'),','('/bootstrap#contextMenuEntry'(A,B,C,D,E),'builtin#true')). :-('/bootstrap#contextMenuEntry'(A,B,C,D,E),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'annotation#shrink'(~>('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'annotation#shrink'(:-('cpi#contextMenuEntry'(::('cpi#descriptor'(C,G,H),I),'/bootstrap#menuItem'(J,K,F)),','('cpi#termAtPath'(C,A,B),','('annotation#comment'('builtin#catch'(','('cpi#procedureCommand'(E,L),','(=(::(M,'/bootstrap#string'),::(D,'/bootstrap#string')),=(::(K,'/bootstrap#procedure'),::(E,'/bootstrap#procedure')))),N,'annotation#comment'(','('builtin#strcat'(!(': '),D,M),=(::(K,'/bootstrap#procedure'),::(E,'/bootstrap#procedure'))),!('Prepend "" where an exception occured in the execution'))),!('Check that the proceduere\'s preconditions hold')),'annotation#comment'('builtin#if'('/bootstrap#isShortcutKey'(M,O),','('builtin#strcat'(M,!('\t'),P),'builtin#strcat'(P,O,J)),=(::(J,'/bootstrap#string'),::(M,'/bootstrap#string'))),!('Add the shortcut key to the caption, if exists')))))))),'.'('builtin#varName'(::(A,Q),!('TTerm')),'.'('builtin#varName'(::(B,R),!('VarNames')),'.'('builtin#varName'(::(C,S),!('Path')),'.'('builtin#varName'(::(D,T),!('Name')),'.'('builtin#varName'(::(E,U),!('Proc')),'.'('builtin#varName'(::(F,V),!('Icon')),'.'('builtin#varName'(::(J,W),!('Caption')),'.'('builtin#varName'(::(K,X),!('WhatToDo')),'.'('builtin#varName'(::(M,Y),!('BaseCaption')),'.'('builtin#varName'(::(O,Z),!('Shortcut')),'.'('builtin#varName'(::(P,A1),!('BaseCaptionTab')),[])))))))))))),'builtin#true'). :-('cpi#contextMenuEntry'(::('cpi#descriptor'(A,B,C),D),'/bootstrap#menuItem'(E,F,G)),','('/bootstrap#contextMenuEntry'(H,I,A,J,K,G),','('cpi#termAtPath'(A,H,I),','('builtin#catch'(','('cpi#procedureCommand'(K,L),','(=(::(M,'/bootstrap#string'),::(J,'/bootstrap#string')),=(::(F,'/bootstrap#procedure'),::(K,'/bootstrap#procedure')))),N,','('builtin#strcat'(!(': '),J,M),=(::(F,'/bootstrap#procedure'),::(K,'/bootstrap#procedure')))),'builtin#if'('/bootstrap#isShortcutKey'(M,O),','('builtin#strcat'(M,!('\t'),P),'builtin#strcat'(P,O,E)),=(::(E,'/bootstrap#string'),::(M,'/bootstrap#string'))))))). :-('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('/bootstrap#noPath','cpi#path')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#noPath','cpi#path')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),~>('/bootstrap#contextMenuEntry'(::(A,B),C,'/bootstrap#noPath',D,E,F),:-('cpi#contextMenuEntry'(::('cpi#immediateDescriptor'(A,C),B),'/bootstrap#menuItem'(D,E,F)),'cpi#procedureCommand'(E,G))),'.'('builtin#varName'(::(A,H),!('Term')),'.'('builtin#varName'(::(B,I),!('Type')),'.'('builtin#varName'(::(C,J),!('VarNames')),'.'('builtin#varName'(::(D,K),!('Name')),'.'('builtin#varName'(::(E,L),!('Proc')),'.'('builtin#varName'(::(F,M),!('Icon')),[]))))))),'builtin#true'). :-('cpi#contextMenuEntry'(::('cpi#immediateDescriptor'(A,B),C),'/bootstrap#menuItem'(D,E,F)),','('/bootstrap#contextMenuEntry'(::(A,C),B,'/bootstrap#noPath',D,E,F),'cpi#procedureCommand'(E,G))). :-('/bootstrap#contextMenuEntry'(::(A,B),C,'/bootstrap#noPath',D,E,F),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#menuItem'(A,B,C),'/bootstrap#menuEntry'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#procedure'),'.'(::(C,'/bootstrap#image'),[])))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('Proc')),'.'('builtin#varName'(::(C,F),!('Icon')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#menuItem'(A,B,C),'/bootstrap#menuEntry'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#procedure'),'.'(::(C,'/bootstrap#image'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),:-('cpi#termClass'(::('/bootstrap#menuItem'(A,B,C),'/bootstrap#menuEntry'),!('net.nansore.cedalion.eclipse.CedalionMenuItem')),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('Proc')),'.'('builtin#varName'(::(C,F),!('Icon')),[])))),'builtin#true'). :-('cpi#termClass'(::('/bootstrap#menuItem'(A,B,C),'/bootstrap#menuEntry'),!('net.nansore.cedalion.eclipse.CedalionMenuItem')),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('/bootstrap#Undo.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Undo.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#contextMenuEntry'(A,B,'cpi#path'(C,D),!('Undo'),'cpi#undo'(C),'/bootstrap#Undo.png'),'.'('builtin#varName'(::(C,E),!('Res')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(A,B,'cpi#path'(C,D),!('Undo'),'cpi#undo'(C),'/bootstrap#Undo.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),!('Deprecated. Moved to the /bootstrap namespace')),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#signature'(::('cpi#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#deprecated'(::('cpi#redo'(A),'/bootstrap#procedure')),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#deprecated'(::('cpi#redo'(A),'/bootstrap#procedure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#deprecationReplacement'('cpi#redo'(A),'/bootstrap#procedure','/bootstrap#redo'(A)),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#deprecationReplacement'('cpi#redo'(A),'/bootstrap#procedure','/bootstrap#redo'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#procedure'('cpi#redo'(A),'/bootstrap#doProc'('/bootstrap#redo'(A))),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#procedure'('cpi#redo'(A),'/bootstrap#doProc'('/bootstrap#redo'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#signature'(::('/bootstrap#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#redo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#defAtom'(::('/bootstrap#Redo.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Redo.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#contextMenuEntry'(A,B,'cpi#path'(C,D),!('Redo'),'/bootstrap#redo'(C),'/bootstrap#Redo.png'),'.'('builtin#varName'(::(C,E),!('Res')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(A,B,'cpi#path'(C,D),!('Redo'),'/bootstrap#redo'(C),'/bootstrap#Redo.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/contextmenu.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),F,G,!('Add Icon'),'cpi#edit'(G,::('/bootstrap#contextMenuEntry'(A,B,C,D,E,H),'/bootstrap#statement'),F)),'.'('builtin#varName'(::(A,I),!('TTerm')),'.'('builtin#varName'(::(B,J),!('VarNames')),'.'('builtin#varName'(::(C,K),!('Path')),'.'('builtin#varName'(::(D,L),!('Name')),'.'('builtin#varName'(::(E,M),!('Proc')),'.'('builtin#varName'(::(F,N),!('VNs')),'.'('builtin#varName'(::(G,O),!('P')),'.'('builtin#varName'(::(H,P),!('Icon')),[]))))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#contextMenuEntry'(A,B,C,D,E),'/bootstrap#statement'),F,G,!('Add Icon'),'cpi#edit'(G,::('/bootstrap#contextMenuEntry'(A,B,C,D,E,H),'/bootstrap#statement'),F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#inClipboard'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('VNs')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#inClipboard'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#clipboard'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('VNs')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#clipboard'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),~>('/bootstrap#clipboard'(A,B),:-('/bootstrap#inClipboard'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('VNs')),[]))),'builtin#true'). :-('/bootstrap#inClipboard'(A,B),','('/bootstrap#clipboard'(A,B),'builtin#true')). :-('/bootstrap#clipboard'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#cut'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#cut'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#procedure'('/bootstrap#cut'('.'(A,B),C,D,E),'/bootstrap#doAll'('.'('/bootstrap#dbInsert'('/bootstrap#clipboard'(::(A,C),D)),'.'('/bootstrap#doProc'('cpi#edit'(E,::(B,'/bootstrap#list'(C)),D)),[])))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#cut'('.'(A,B),C,D,E),'/bootstrap#doAll'('.'('/bootstrap#dbInsert'('/bootstrap#clipboard'(::(A,C),D)),'.'('/bootstrap#doProc'('cpi#edit'(E,::(B,'/bootstrap#list'(C)),D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#defAtom'(::('/bootstrap#Cut.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Cut.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Cut'),'/bootstrap#cut'('.'(A,B),C,D,E),'/bootstrap#Cut.png'),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Cut'),'/bootstrap#cut'('.'(A,B),C,D,E),'/bootstrap#Cut.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#paste'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#paste'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#pairType'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('TA')),'.'('builtin#varName'(::(B,D),!('TB')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#pairType'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#pair'(A,B),'/bootstrap#pairType'(C,D)),'.'(::(A,C),'.'(::(B,D),[]))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('TA')),'.'('builtin#varName'(::(D,H),!('TB')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#pair'(A,B),'/bootstrap#pairType'(C,D)),'.'(::(A,C),'.'(::(B,D),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#projection'(::('/bootstrap#pair'(A,B),'/bootstrap#pairType'(C,D)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,D)),[])))),60,62)),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('TA')),'.'('builtin#varName'(::(D,H),!('TB')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#pair'(A,B),'/bootstrap#pairType'(C,D)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,D)),[])))),60,62)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#procedure'('/bootstrap#paste'(A,B,C,D),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#edit'(D,::(E,'/bootstrap#list'(B)),F)),'.'('/bootstrap#doAll'(G),[]))),','('builtin#findall'('/bootstrap#dbRemove'('/bootstrap#clipboard'(::(H,B),I)),'/bootstrap#command','/bootstrap#inClipboard'(::(H,B),I),G),','('builtin#findall'('/bootstrap#pair'(J,K),'/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')),'/bootstrap#inClipboard'(::(J,B),K),L),','(=(::(L,'/bootstrap#list'('/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')))),::('.'(M,N),'/bootstrap#list'(O))),'/bootstrap#calculatePasteItems'(L,B,A,C,E,F))))))),'.'('builtin#varName'(::(A,P),!('List')),'.'('builtin#varName'(::(B,Q),!('T')),'.'('builtin#varName'(::(C,R),!('VNs')),'.'('builtin#varName'(::(D,S),!('Path')),'.'('builtin#varName'(::(E,T),!('NewList')),'.'('builtin#varName'(::(F,U),!('NewVNs')),'.'('builtin#varName'(::(G,V),!('RemoveFromClipboard')),'.'('builtin#varName'(::(H,W),!('Term')),'.'('builtin#varName'(::(I,X),!('RemVNs')),'.'('builtin#varName'(::(J,Y),!('Item')),'.'('builtin#varName'(::(K,Z),!('ItemVNs')),'.'('builtin#varName'(::(L,A1),!('ItemList')),[]))))))))))))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#paste'(A,B,C,D),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#edit'(D,::(E,'/bootstrap#list'(B)),F)),'.'('/bootstrap#doAll'(G),[]))),','('builtin#findall'('/bootstrap#dbRemove'('/bootstrap#clipboard'(::(H,B),I)),'/bootstrap#command','/bootstrap#inClipboard'(::(H,B),I),G),','('builtin#findall'('/bootstrap#pair'(J,K),'/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')),'/bootstrap#inClipboard'(::(J,B),K),L),','(=(::(L,'/bootstrap#list'('/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')))),::('.'(M,N),'/bootstrap#list'(O))),'/bootstrap#calculatePasteItems'(L,B,A,C,E,F))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#contextMenuEntry'(::(A,'/bootstrap#list'(B)),C,D,!('Paste'),'/bootstrap#paste'(A,B,C,D),'/bootstrap#Paste.png'),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/bootstrap#list'(B)),C,D,!('Paste'),'/bootstrap#paste'(A,B,C,D),'/bootstrap#Paste.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),'/bootstrap#signature'(::('/bootstrap#calculatePasteItems'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')))),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'(B)),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),[]))))))),'.'('builtin#varName'(::(A,G),!('ItemList')),'.'('builtin#varName'(::(B,H),!('T')),'.'('builtin#varName'(::(C,I),!('List')),'.'('builtin#varName'(::(D,J),!('VNs')),'.'('builtin#varName'(::(E,K),!('NewList')),'.'('builtin#varName'(::(F,L),!('NewVNs')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#calculatePasteItems'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#pairType'(B,'/bootstrap#list'('/bootstrap#varName')))),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'(B)),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),:-('/bootstrap#calculatePasteItems'([],A,B,C,B,C),'builtin#true'),'.'('builtin#varName'(::(A,D),!('T')),'.'('builtin#varName'(::(B,E),!('List')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). :-('/bootstrap#calculatePasteItems'([],A,B,C,B,C),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/cutAndPaste.ced'),:-('/bootstrap#calculatePasteItems'('.'('/bootstrap#pair'(A,B),C),D,E,F,'.'(A,G),H),','('/bootstrap#mergeVarNames'(F,B,I),'/bootstrap#calculatePasteItems'(C,D,E,I,G,H))),'.'('builtin#varName'(::(A,J),!('Item')),'.'('builtin#varName'(::(B,K),!('ItemVNs')),'.'('builtin#varName'(::(C,L),!('Rest')),'.'('builtin#varName'(::(D,M),!('T')),'.'('builtin#varName'(::(E,N),!('List')),'.'('builtin#varName'(::(F,O),!('VNs')),'.'('builtin#varName'(::(G,P),!('NewList')),'.'('builtin#varName'(::(H,Q),!('NewVNs')),'.'('builtin#varName'(::(I,R),!('MidVNs')),[])))))))))),'builtin#true'). :-('/bootstrap#calculatePasteItems'('.'('/bootstrap#pair'(A,B),C),D,E,F,'.'(A,G),H),','('/bootstrap#mergeVarNames'(F,B,I),'/bootstrap#calculatePasteItems'(C,D,E,I,G,H))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defAtom'(::('/bootstrap#definitionType','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#definitionType','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defAtom'(::('/bootstrap#semanticDefinition','/bootstrap#definitionType')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#semanticDefinition','/bootstrap#definitionType')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#projection'(::('/bootstrap#semanticDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Semantic Definition'))),[]),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#semanticDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Semantic Definition'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#defines'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#definitionType'),[])))),'.'('builtin#varName'(::(A,D),!('Definition')),'.'('builtin#varName'(::(B,E),!('Defined')),'.'('builtin#varName'(::(C,F),!('DefType')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defines'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#definitionType'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#projection'(::('/bootstrap#defines'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#label'(!(defines)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(C,'/bootstrap#definitionType')),[]))))))),'.'('builtin#varName'(::(A,D),!('Definition')),'.'('builtin#varName'(::(B,E),!('Defined')),'.'('builtin#varName'(::(C,F),!('DefType')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#defines'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),'.'('/bootstrap#label'(!(defines)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(C,'/bootstrap#definitionType')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#canDefine'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#definitionType'),[])))),'.'('builtin#varName'(::(A,D),!('Definition')),'.'('builtin#varName'(::(B,E),!('Defined')),'.'('builtin#varName'(::(C,F),!('DefType')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#canDefine'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#definitionType'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),~>('/bootstrap#defines'(A,B,C),:-('/bootstrap#canDefine'(A,B,C),'builtin#true')),'.'('builtin#varName'(::(A,D),!('Definition')),'.'('builtin#varName'(::(B,E),!('Defined')),'.'('builtin#varName'(::(C,F),!('DefType')),[])))),'builtin#true'). :-('/bootstrap#canDefine'(A,B,C),','('/bootstrap#defines'(A,B,C),'builtin#true')). :-('/bootstrap#defines'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#definitionOf'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#definitionType'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),[])))))),'.'('builtin#varName'(::(A,F),!('Defined')),'.'('builtin#varName'(::(B,G),!('Definition')),'.'('builtin#varName'(::(C,H),!('DefType')),'.'('builtin#varName'(::(D,I),!('FileName')),'.'('builtin#varName'(::(E,J),!('VarNames')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#definitionOf'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#definitionType'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#list'('/bootstrap#varName')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#definitionOf'(A,B,C,D,E),','(\+('builtin#var'(A)),','('/bootstrap#canDefine'(F,A,C),','('/bootstrap#checkSignature'(A,G),','('builtin#loadedStatement'(D,B,E),'builtin#removeAnnotations'(::(B,'/bootstrap#statement'),::(F,'/bootstrap#statement'))))))),'.'('builtin#varName'(::(A,H),!('Defined')),'.'('builtin#varName'(::(B,I),!('AnnotDefinition')),'.'('builtin#varName'(::(C,J),!('DefType')),'.'('builtin#varName'(::(D,K),!('FileName')),'.'('builtin#varName'(::(E,L),!('VarNames')),'.'('builtin#varName'(::(F,M),!('Definition')),[]))))))),'builtin#true'). :-('/bootstrap#definitionOf'(A,B,C,D,E),','(\+('builtin#var'(A)),','('/bootstrap#canDefine'(F,A,C),','('/bootstrap#checkSignature'(A,G),','('builtin#loadedStatement'(D,B,E),'builtin#removeAnnotations'(::(B,'/bootstrap#statement'),::(F,'/bootstrap#statement'))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defines'(:-(A,B),::(A,'/bootstrap#pred'),'/bootstrap#requiredSemanticDefinition'),'.'('builtin#varName'(::(A,C),!('Pred')),[])),'builtin#true'). '/bootstrap#defines'(:-(A,B),::(A,'/bootstrap#pred'),'/bootstrap#requiredSemanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defAtom'(::('/bootstrap#typeSignature','/bootstrap#definitionType')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#typeSignature','/bootstrap#definitionType')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#projection'(::('/bootstrap#typeSignature','/bootstrap#definitionType'),'/bootstrap#label'(!('Type Signature'))),[]),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#typeSignature','/bootstrap#definitionType'),'/bootstrap#label'(!('Type Signature'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defines'('/bootstrap#signature'(A,B),A,'/bootstrap#typeSignature'),'.'('builtin#varName'(::(A,C),!('TTerm')),[])),'builtin#true'). '/bootstrap#defines'('/bootstrap#signature'(A,B),A,'/bootstrap#typeSignature'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defAtom'(::('/bootstrap#projectionDefinition','/bootstrap#definitionType')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#projectionDefinition','/bootstrap#definitionType')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#projection'(::('/bootstrap#projectionDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Projection Definition'))),[]),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#projectionDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Projection Definition'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defines'('/bootstrap#projection'(A,B),A,'/bootstrap#projectionDefinition'),'.'('builtin#varName'(::(A,C),!('TTerm')),[])),'builtin#true'). '/bootstrap#defines'('/bootstrap#projection'(A,B),A,'/bootstrap#projectionDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#showDefinitions'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('VNs')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showDefinitions'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#definitionsVisualization'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#definitionsVisualization'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#definitionsVisualization'(A,B,'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!('Aliases:'))),'.'('cpi#vis'(::('cpi#immediateDescriptor'(C,[]),'/bootstrap#list'('/bootstrap#string')),'/bootstrap#vert'),[]))),D)),'cpi#rgb'(192,255,192)),5,'cpi#rgb'(192,255,192)))),','('builtin#findall'('/bootstrap#vert'('.'('/bootstrap#bold'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,B),'/bootstrap#definitionType'))),'.'('/bootstrap#lineBorder'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vert'(F),'cpi#rgb'(255,255,255))),5,'cpi#rgb'(192,255,192)),[]))),'/bootstrap#visualization','/bootstrap#definitionCategory'(A,E,F),D),'builtin#findall'(G,'/bootstrap#string','/bootstrap#aliasString'(A,G),C))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('VNs')),'.'('builtin#varName'(::(C,J),!('Aliases')),'.'('builtin#varName'(::(D,K),!('Types')),'.'('builtin#varName'(::(E,L),!('DefType')),'.'('builtin#varName'(::(F,M),!('Defs')),'.'('builtin#varName'(::(G,N),!('Alias')),[])))))))),'builtin#true'). :-('/bootstrap#definitionsVisualization'(A,B,'/bootstrap#raised'('/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!('Aliases:'))),'.'('cpi#vis'(::('cpi#immediateDescriptor'(C,[]),'/bootstrap#list'('/bootstrap#string')),'/bootstrap#vert'),[]))),D)),'cpi#rgb'(192,255,192)),5,'cpi#rgb'(192,255,192)))),','('builtin#findall'('/bootstrap#vert'('.'('/bootstrap#bold'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,B),'/bootstrap#definitionType'))),'.'('/bootstrap#lineBorder'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vert'(F),'cpi#rgb'(255,255,255))),5,'cpi#rgb'(192,255,192)),[]))),'/bootstrap#visualization','/bootstrap#definitionCategory'(A,E,F),D),'builtin#findall'(G,'/bootstrap#string','/bootstrap#aliasString'(A,G),C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#definitionCategory'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#definitionType'),'.'(::(C,'/bootstrap#list'('/bootstrap#visualization')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('DefType')),'.'('builtin#varName'(::(C,F),!('Defs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#definitionCategory'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#definitionType'),'.'(::(C,'/bootstrap#list'('/bootstrap#visualization')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#definitionCategory'(A,B,C),','('/bootstrap#checkSignature'(::(B,'/bootstrap#definitionType'),[]),'builtin#findall'('/bootstrap#link'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#label'(D)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,F),'/bootstrap#statement')),[]))),D),'/bootstrap#visualization','/bootstrap#definitionOf'(A,E,B,D,F),C))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('DefType')),'.'('builtin#varName'(::(C,I),!('Defs')),'.'('builtin#varName'(::(D,J),!('FileName')),'.'('builtin#varName'(::(E,K),!('Definition')),'.'('builtin#varName'(::(F,L),!('VarNames')),[]))))))),'builtin#true'). :-('/bootstrap#definitionCategory'(A,B,C),','('/bootstrap#checkSignature'(::(B,'/bootstrap#definitionType'),[]),'builtin#findall'('/bootstrap#link'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#label'(D)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,F),'/bootstrap#statement')),[]))),D),'/bootstrap#visualization','/bootstrap#definitionOf'(A,E,B,D,F),C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#showDefinitions'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showDefinitions'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#procedure'('/bootstrap#showDefinitions'(A),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#searchForDef'(B)),'.'('/bootstrap#dbInsert'('/bootstrap#searchForDef'(C)),'.'('/bootstrap#showView'(D),[])))),','(\+('builtin#var'(A)),','('/bootstrap#safeParseTerm'(A,E,F),','('/bootstrap#blankList'(F,G),','('builtin#parseTerm'(C,E,G),'/bootstrap#definitionsVisualization'(C,[],D)))))))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(C,I),!('BlankTTerm')),'.'('builtin#varName'(::(D,J),!('View')),'.'('builtin#varName'(::(E,K),!('Func')),'.'('builtin#varName'(::(F,L),!('Args')),'.'('builtin#varName'(::(G,M),!('BlankArgs')),[]))))))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#showDefinitions'(A),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#searchForDef'(B)),'.'('/bootstrap#dbInsert'('/bootstrap#searchForDef'(C)),'.'('/bootstrap#showView'(D),[])))),','(\+('builtin#var'(A)),','('/bootstrap#safeParseTerm'(A,E,F),','('/bootstrap#blankList'(F,G),','('builtin#parseTerm'(C,E,G),'/bootstrap#definitionsVisualization'(C,[],D)))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#searchForDef'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#searchForDef'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#doShowDefinitions'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#doShowDefinitions'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#procedure'('/bootstrap#doShowDefinitions'(A),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doProc'('/bootstrap#showDefinitions'(A)),\+('builtin#var'(A))))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#procedure'('/bootstrap#doShowDefinitions'(A),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doProc'('/bootstrap#showDefinitions'(A)),\+('builtin#var'(A))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defAtom'(::('/bootstrap#Search.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Search.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#contextMenuEntry'(A,B,C,!('Show Definitions'),'/bootstrap#doShowDefinitions'(A),'/bootstrap#Search.png'),'.'('builtin#varName'(::(A,D),!('TTerm')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(A,B,C,!('Show Definitions'),'/bootstrap#doShowDefinitions'(A),'/bootstrap#Search.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#blankList'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('List1')),'.'('builtin#varName'(::(B,D),!('List2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#blankList'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#blankList'([],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#blankList'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#blankList'('.'(::(A,B),C),'.'(::(D,B),E)),'/bootstrap#blankList'(C,E)),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('List1')),'.'('builtin#varName'(::(E,H),!('List2')),[])))),'builtin#true'). :-('/bootstrap#blankList'('.'(::(A,B),C),'.'(::(D,B),E)),'/bootstrap#blankList'(C,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defines'(~>(A,B),::(A,'/bootstrap#statement'),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,C),!('S1')),'.'('builtin#varName'(::(B,D),!('S2')),[]))),'builtin#true'). '/bootstrap#defines'(~>(A,B),::(A,'/bootstrap#statement'),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#loadedStatement'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),!('Succeeds for all Statements loaded from file FileName. VarNames is bound to a list of variable name bindings')),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Statement')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#loadedStatement'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),:-('/bootstrap#canDefine'(A,B,C),','('builtin#loadedStatement'(D,~>(A,E),F),'/bootstrap#canDefine'(E,B,C))),'.'('builtin#varName'(::(A,G),!('S1')),'.'('builtin#varName'(::(B,H),!('TTerm')),'.'('builtin#varName'(::(C,I),!('DefType')),'.'('builtin#varName'(::(E,J),!('S2')),[]))))),'builtin#true'). :-('/bootstrap#canDefine'(A,B,C),','('builtin#loadedStatement'(D,~>(A,E),F),'/bootstrap#canDefine'(E,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#defines'('/bootstrap#signature'(::(A,B),C),::(B,'/bootstrap#type'),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('Type')),[]))),'builtin#true'). '/bootstrap#defines'('/bootstrap#signature'(::(A,B),C),::(B,'/bootstrap#type'),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#signature'(::('/bootstrap#definitionMarker'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#definitionType'),[])),'.'('builtin#varName'(::(A,B),!('DefType')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#definitionMarker'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#definitionType'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),~>('/bootstrap#searchForDef'(A),:-('/bootstrap#check'(B,::(C,'/bootstrap#statement'),D,'/bootstrap#marker'(B,'/bootstrap#definitionMarker'(E))),','('/bootstrap#statementPath'(B),'/bootstrap#definitionOf'(A,C,E,F,G)))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('Path')),'.'('builtin#varName'(::(C,J),!('Statement')),'.'('builtin#varName'(::(E,K),!('DefType')),[]))))),'builtin#true'). :-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#definitionMarker'(D))),','('/bootstrap#searchForDef'(E),','('/bootstrap#statementPath'(A),'/bootstrap#definitionOf'(E,B,D,F,G)))). :-('/bootstrap#searchForDef'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/definition.ced'),'/bootstrap#markerVis'('/bootstrap#definitionMarker'(A),B,'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#image'('/bootstrap#Search.png'),'.'(B,[]))),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#definitionType')))),'.'('builtin#varName'(::(A,C),!('DefType')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#definitionMarker'(A),B,'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#image'('/bootstrap#Search.png'),'.'(B,[]))),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#definitionType')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#sigProj'(::('/bootstrap#error'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#error'),[])))),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Error')),'.'('/bootstrap#vis'(::(D,'/bootstrap#error')),'.'('/bootstrap#label'(!('for term')),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(A,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))))))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Error')),[]))))),'builtin#true'). '/bootstrap#sigProj'(::('/bootstrap#error'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#error'),[])))),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Error')),'.'('/bootstrap#vis'(::(D,'/bootstrap#error')),'.'('/bootstrap#label'(!('for term')),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(A,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),:-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),'builtin#catch'('/bootstrap#error'(A,B,C,D),E,=(::(D,'/bootstrap#error'),::('/bootstrap#exceptionThrown'(E),'/bootstrap#error')))),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('TTerm')),'.'('builtin#varName'(::(C,H),!('VNs')),'.'('builtin#varName'(::(D,I),!('Error')),'.'('builtin#varName'(::(E,J),!('Exception')),[])))))),'builtin#true'). :-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),'builtin#catch'('/bootstrap#error'(A,B,C,D),E,=(::(D,'/bootstrap#error'),::('/bootstrap#exceptionThrown'(E),'/bootstrap#error')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),:-('/bootstrap#error'(A,B,C,D),'builtin#fail'),[]),'builtin#true'). :-('/bootstrap#error'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#signature'(::('/bootstrap#missingDefinition'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Def')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#missingDefinition'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#projection'(::('/bootstrap#missingDefinition'(A,B,C),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing definition:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('At path')),'.'('/bootstrap#vis'(::(B,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))),[])))),'.'('builtin#varName'(::(A,D),!('Def')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#missingDefinition'(A,B,C),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing definition:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('At path')),'.'('/bootstrap#vis'(::(B,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#signature'(::('/bootstrap#requiredSemanticDefinition','/bootstrap#definitionType'),[]),[]),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#requiredSemanticDefinition','/bootstrap#definitionType'),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#projection'(::('/bootstrap#requiredSemanticDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Required Semantic Definition'))),[]),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#requiredSemanticDefinition','/bootstrap#definitionType'),'/bootstrap#label'(!('Required Semantic Definition'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/dependencies.ced'),'/bootstrap#disabled'(:-('/bootstrap#error'(A,B,C,'/bootstrap#missingDefinition'(D,A,C)),','(\+('builtin#var'(B)),','('/bootstrap#canDefine'(D,B,'/bootstrap#requiredSemanticDefinition'),','('/bootstrap#checkSignature'(B,E),\+('builtin#loadedStatement'(F,D,G))))))),'.'('builtin#varName'(::(A,H),!('Path')),'.'('builtin#varName'(::(B,I),!('TTerm')),'.'('builtin#varName'(::(C,J),!('VNs')),'.'('builtin#varName'(::(D,K),!('Definition')),[]))))),'builtin#true'). '/bootstrap#disabled'(:-('/bootstrap#error'(A,B,C,'/bootstrap#missingDefinition'(D,A,C)),','(\+('builtin#var'(B)),','('/bootstrap#canDefine'(D,B,'/bootstrap#requiredSemanticDefinition'),','('/bootstrap#checkSignature'(B,E),\+('builtin#loadedStatement'(F,D,G))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#signature'(::('/bootstrap#deprecated'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#deprecated'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#projection'(::('/bootstrap#deprecated'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('is deprecated')),[])))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#deprecated'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('is deprecated')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#signature'(::('/bootstrap#conceptIsDeprecated'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#conceptIsDeprecated'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#projection'(::('/bootstrap#conceptIsDeprecated'(A,B),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('is Deprecated')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('at path:')),'.'('/bootstrap#vis'(::(B,'cpi#path')),[])))),[])))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#conceptIsDeprecated'(A,B),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('is Deprecated')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('at path:')),'.'('/bootstrap#vis'(::(B,'cpi#path')),[])))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#signature'(::('/bootstrap#isDeprecated'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#isDeprecated'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),~>('/bootstrap#deprecated'(A),:-('/bootstrap#isDeprecated'(A),'builtin#true')),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#isDeprecated'(A),','('/bootstrap#deprecated'(A),'builtin#true')). :-('/bootstrap#deprecated'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),:-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#conceptIsDeprecated'(B,A),C))),','(\+('builtin#var'(B)),'/bootstrap#isDeprecated'(B))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). :-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#conceptIsDeprecated'(B,A),C))),','(\+('builtin#var'(B)),'/bootstrap#isDeprecated'(B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#signature'(::('/bootstrap#deprecationReplacement'(A,B,C),'/bootstrap#statement'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))),'.'('builtin#varName'(::(A,D),!('Deprecated')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('Replacement')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#deprecationReplacement'(A,B,C),'/bootstrap#statement'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),'/bootstrap#projection'(::('/bootstrap#deprecationReplacement'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Deprecated')),'.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('is replaced by')),'.'('/bootstrap#vis'(::(C,B)),[])))))))),'.'('builtin#varName'(::(A,D),!('Deprecated')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('Replacement')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#deprecationReplacement'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Deprecated')),'.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('is replaced by')),'.'('/bootstrap#vis'(::(C,B)),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/deprecation.ced'),~>('/bootstrap#deprecationReplacement'(A,B,C),:-('/bootstrap#errorSolution'('/bootstrap#conceptIsDeprecated'(::(A,B),D),E,'cpi#edit'(D,::(C,B),E)),'builtin#true')),'.'('builtin#varName'(::(A,F),!('Deprecated')),'.'('builtin#varName'(::(B,G),!('Type')),'.'('builtin#varName'(::(C,H),!('Replacement')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('VNs')),[])))))),'builtin#true'). :-('/bootstrap#errorSolution'('/bootstrap#conceptIsDeprecated'(::(A,B),C),D,'cpi#edit'(C,::(E,B),D)),','('/bootstrap#deprecationReplacement'(A,B,E),'builtin#true')). :-('/bootstrap#deprecationReplacement'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),'/bootstrap#signature'(::('/bootstrap#descriptorContent'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('TDesc')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#descriptorContent'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),:-('/bootstrap#descriptorContent'(::('cpi#descriptor'(A,B,C),D),::(E,D),F),'cpi#termAtPath'(A,::(E,D),F)),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Type')),'.'('builtin#varName'(::(E,I),!('Term')),'.'('builtin#varName'(::(F,J),!('VNs')),[]))))),'builtin#true'). :-('/bootstrap#descriptorContent'(::('cpi#descriptor'(A,B,C),D),::(E,D),F),'cpi#termAtPath'(A,::(E,D),F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),:-('/bootstrap#descriptorContent'(::('cpi#immediateDescriptor'(A,B),C),::(A,C),B),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). :-('/bootstrap#descriptorContent'(::('cpi#immediateDescriptor'(A,B),C),::(A,C),B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),'/bootstrap#signature'(::('/bootstrap#descriptorContentWithDefault'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,E),!('TDesc')),'.'('builtin#varName'(::(B,F),!('Default')),'.'('builtin#varName'(::(C,G),!('TTerm')),'.'('builtin#varName'(::(D,H),!('VNs')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#descriptorContentWithDefault'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),:-('/bootstrap#descriptorContentWithDefault'(A,B,C,D),','('/bootstrap#descriptorContent'(A,E,D),'builtin#if'('/bootstrap#notConcrete'(E),=(C,B),=(C,E)))),'.'('builtin#varName'(::(A,F),!('TDesc')),'.'('builtin#varName'(::(B,G),!('Default')),'.'('builtin#varName'(::(C,H),!('TTerm')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('TTerm1')),[])))))),'builtin#true'). :-('/bootstrap#descriptorContentWithDefault'(A,B,C,D),','('/bootstrap#descriptorContent'(A,E,D),'builtin#if'('/bootstrap#notConcrete'(E),=(C,B),=(C,E)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),'/bootstrap#signature'(::('/bootstrap#notConcrete'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#notConcrete'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/descriptor.ced'),:-('/bootstrap#notConcrete'(A),'builtin#var'(A)),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#notConcrete'(A),'builtin#var'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/disable.ced'),'/bootstrap#signature'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/disable.ced'),'/bootstrap#projection'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),'/bootstrap#color'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),'cpi#rgb'(128,128,128))),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),'/bootstrap#color'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),'cpi#rgb'(128,128,128))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/disable.ced'),'/bootstrap#alias'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),!(//)),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),!(//)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/disable.ced'),'/bootstrap#contextMenuEntry'(::(A,'/bootstrap#statement'),B,C,!('Disable'),'cpi#edit'(C,::('/bootstrap#disabled'(A),'/bootstrap#statement'),B)),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/bootstrap#statement'),B,C,!('Disable'),'cpi#edit'(C,::('/bootstrap#disabled'(A),'/bootstrap#statement'),B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/disable.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),B,C,!('Enable'),'cpi#edit'(C,::(A,'/bootstrap#statement'),B)),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#disabled'(A),'/bootstrap#statement'),B,C,!('Enable'),'cpi#edit'(C,::(A,'/bootstrap#statement'),B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#doc'(!('This is a type signature with a textual description'),'/bootstrap#signature'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[]))))),'.'('builtin#varName'(::(A,D),!('Head')),'.'('builtin#varName'(::(B,E),!('Body')),'.'('builtin#varName'(::(C,F),!('Doc')),[])))),'builtin#true'). '/bootstrap#doc'(!('This is a type signature with a textual description'),'/bootstrap#signature'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#projection'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#background'('/bootstrap#italic'('/bootstrap#vis'(::(C,'/bootstrap#string'))),'cpi#rgb'(255,255,180)),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#symbol'(8618),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horiz'),[])))),[])))),'.'('builtin#varName'(::(A,D),!('Head')),'.'('builtin#varName'(::(B,E),!('Body')),'.'('builtin#varName'(::(C,F),!('Doc')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#background'('/bootstrap#italic'('/bootstrap#vis'(::(C,'/bootstrap#string'))),'cpi#rgb'(255,255,180)),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#symbol'(8618),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horiz'),[])))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#alias'(::('/bootstrap#doc'(A,'/bootstrap#signature'(B,C)),'/bootstrap#statement'),!(//)),'.'('builtin#varName'(::(A,D),!('Doc')),'.'('builtin#varName'(::(B,E),!('Head')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#doc'(A,'/bootstrap#signature'(B,C)),'/bootstrap#statement'),!(//)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),~>('/bootstrap#docSignature'(A,B,C),'/bootstrap#signature'(A,B)),'.'('builtin#varName'(::(A,D),!('Head')),'.'('builtin#varName'(::(B,E),!('Body')),'.'('builtin#varName'(::(C,F),!('Doc')),[])))),'builtin#true'). :-('/bootstrap#signature'(A,B),','('/bootstrap#docSignature'(A,B,C),'builtin#true')). :-('/bootstrap#docSignature'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#signature'(A,B),'/bootstrap#statement'),C,D,!('Add Description'),'cpi#edit'(D,::('/bootstrap#doc'(E,'/bootstrap#signature'(A,B)),'/bootstrap#statement'),C)),'.'('builtin#varName'(::(A,F),!('Head')),'.'('builtin#varName'(::(B,G),!('Body')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('Doc')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#signature'(A,B),'/bootstrap#statement'),C,D,!('Add Description'),'cpi#edit'(D,::('/bootstrap#doc'(E,'/bootstrap#signature'(A,B)),'/bootstrap#statement'),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#deprecated'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement')),[]),'builtin#true'). '/bootstrap#deprecated'(::('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#signature'(::('/bootstrap#doc'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#statement'),[]))),'.'('builtin#varName'(::(A,C),!('Doc')),'.'('builtin#varName'(::(B,D),!('Signature')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#doc'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#statement'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#projection'(::('/bootstrap#doc'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#color'('/bootstrap#background'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#italic'('/bootstrap#vis'(::(A,'/bootstrap#string'))),[]))),'cpi#rgb'(255,255,180)),'cpi#rgb'(0,0,0)),'.'('/bootstrap#pivot'('/bootstrap#vis'(::(B,'/bootstrap#statement'))),[])))),'.'('builtin#varName'(::(A,C),!('Doc')),'.'('builtin#varName'(::(B,D),!('Signature')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#doc'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#color'('/bootstrap#background'('/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#italic'('/bootstrap#vis'(::(A,'/bootstrap#string'))),[]))),'cpi#rgb'(255,255,180)),'cpi#rgb'(0,0,0)),'.'('/bootstrap#pivot'('/bootstrap#vis'(::(B,'/bootstrap#statement'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),~>('/bootstrap#doc'(A,'/bootstrap#signature'(B,C)),'/bootstrap#signature'(B,C)),'.'('builtin#varName'(::(A,D),!('Doc')),'.'('builtin#varName'(::(B,E),!('Head')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). :-('/bootstrap#signature'(A,B),','('/bootstrap#doc'(C,'/bootstrap#signature'(A,B)),'builtin#true')). :-('/bootstrap#doc'(A,'/bootstrap#signature'(B,C)),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/documentation.ced'),'/bootstrap#deprecationReplacement'('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement','/bootstrap#doc'(C,'/bootstrap#signature'(A,B))),'.'('builtin#varName'(::(A,D),!('Head')),'.'('builtin#varName'(::(B,E),!('Body')),'.'('builtin#varName'(::(C,F),!('Doc')),[])))),'builtin#true'). '/bootstrap#deprecationReplacement'('/bootstrap#docSignature'(A,B,C),'/bootstrap#statement','/bootstrap#doc'(C,'/bootstrap#signature'(A,B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Type for a path to a code element'),'/bootstrap#signature'(::('cpi#path','/bootstrap#type'),[])),[]),'builtin#true'). '/bootstrap#doc'(!('Type for a path to a code element'),'/bootstrap#signature'(::('cpi#path','/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('A path to a code element. Consists of ResourceName - the file name, and Path - a list of numbers representing the one-based index of nested argument to take to reach the code element'),'/bootstrap#signature'(::('cpi#path'(A,B),'cpi#path'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),[])))),'.'('builtin#varName'(::(A,C),!('ResourceName')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#doc'(!('A path to a code element. Consists of ResourceName - the file name, and Path - a list of numbers representing the one-based index of nested argument to take to reach the code element'),'/bootstrap#signature'(::('cpi#path'(A,B),'cpi#path'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::('cpi#path'(A,B),'cpi#path'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(/)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#number')),'/bootstrap#horiz'),[]))))),'.'('builtin#varName'(::(A,C),!('ResourceName')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#projection'(::('cpi#path'(A,B),'cpi#path'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(/)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#number')),'/bootstrap#horiz'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Retrieves a code element (TTerm), based on its Path. VarNames contains variable name bindings for TTerm'),'/bootstrap#signature'(::('cpi#termAtPath'(A,B,C),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#doc'(!('Retrieves a code element (TTerm), based on its Path. VarNames contains variable name bindings for TTerm'),'/bootstrap#signature'(::('cpi#termAtPath'(A,B,C),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#termAtPath'('cpi#path'(A,B),C,D),','('/bootstrap#fileIsLoaded'(A,E,'/bootstrap#model'(F,G,H)),','('/bootstrap#subTerm'(::(F,'/bootstrap#list'('/bootstrap#statement')),B,C),'/bootstrap#selectVarNamesFor'(C,G,D)))),'.'('builtin#varName'(::(A,I),!('ResourceName')),'.'('builtin#varName'(::(B,J),!('Path')),'.'('builtin#varName'(::(C,K),!('TTerm')),'.'('builtin#varName'(::(D,L),!('VarNames')),'.'('builtin#varName'(::(F,M),!('Statements')),'.'('builtin#varName'(::(G,N),!('AllVarNames')),[]))))))),'builtin#true'). :-('cpi#termAtPath'('cpi#path'(A,B),C,D),','('/bootstrap#fileIsLoaded'(A,E,'/bootstrap#model'(F,G,H)),','('/bootstrap#subTerm'(::(F,'/bootstrap#list'('/bootstrap#statement')),B,C),'/bootstrap#selectVarNamesFor'(C,G,D)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#subTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),'.'(::(C,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('TSubTerm')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#subTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),'.'(::(C,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#subTerm'(A,[],A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#subTerm'(A,[],A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Parse a typed term (TTerm) into a Name and a list of typed arguments (TArgs). Can also be used to construct a typed term out of a name and typed args. This predicate is not type-safe. Use safeParseTerm instead.'),'/bootstrap#signature'(::('builtin#parseTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[]))))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Func')),'.'('builtin#varName'(::(C,F),!('TArgs')),[])))),'builtin#true'). '/bootstrap#doc'(!('Parse a typed term (TTerm) into a Name and a list of typed arguments (TArgs). Can also be used to construct a typed term out of a name and typed args. This predicate is not type-safe. Use safeParseTerm instead.'),'/bootstrap#signature'(::('builtin#parseTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#subTerm'(A,'.'(B,C),D),','('/bootstrap#safeParseTerm'(A,E,F),','('/bootstrap#element'(G,B,F,'/bootstrap#typedTerm'),'/bootstrap#subTerm'(G,C,D)))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('First')),'.'('builtin#varName'(::(C,J),!('Path')),'.'('builtin#varName'(::(D,K),!('TSubTerm')),'.'('builtin#varName'(::(F,L),!('TArgs')),'.'('builtin#varName'(::(G,M),!('TSubTerm1')),[]))))))),'builtin#true'). :-('/bootstrap#subTerm'(A,'.'(B,C),D),','('/bootstrap#safeParseTerm'(A,E,F),','('/bootstrap#element'(G,B,F,'/bootstrap#typedTerm'),'/bootstrap#subTerm'(G,C,D)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#safeParseTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Name')),'.'('builtin#varName'(::(C,F),!('TArgs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#safeParseTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#safeParseTerm'(::(A,B),C,D),','('builtin#parseTerm'(::(A,B),C,E),'builtin#if'(','('builtin#compound'(::(A,B)),','('/bootstrap#checkSignature'(::(A,B),D),','(\+('/bootstrap#checkSignature'(E,D,'/bootstrap#signaturePlaceMismatch'(F,G))),\+('/bootstrap#checkSignature'(E,D,'/bootstrap#signatureSizeMismatch'))))),'annotation#comment'('/bootstrap#checkSignature'(::(A,B),D),!('Temporary fix, until fixing the if behavior in Javascript')),=(::(D,'/bootstrap#list'('/bootstrap#typedTerm')),::(E,'/bootstrap#list'('/bootstrap#typedTerm')))))),'.'('builtin#varName'(::(A,H),!('Term')),'.'('builtin#varName'(::(B,I),!('Type')),'.'('builtin#varName'(::(C,J),!('Name')),'.'('builtin#varName'(::(D,K),!('TArgs')),'.'('builtin#varName'(::(E,L),!('TRawArgs')),[])))))),'builtin#true'). :-('/bootstrap#safeParseTerm'(::(A,B),C,D),','('builtin#parseTerm'(::(A,B),C,E),'builtin#if'(','('builtin#compound'(::(A,B)),','('/bootstrap#checkSignature'(::(A,B),D),','(\+('/bootstrap#checkSignature'(E,D,'/bootstrap#signaturePlaceMismatch'(F,G))),\+('/bootstrap#checkSignature'(E,D,'/bootstrap#signatureSizeMismatch'))))),'/bootstrap#checkSignature'(::(A,B),D),=(::(D,'/bootstrap#list'('/bootstrap#typedTerm')),::(E,'/bootstrap#list'('/bootstrap#typedTerm')))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#element'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,D),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'(D)),'.'(::(D,'/bootstrap#type'),[]))))),'.'('builtin#varName'(::(A,E),!('Elem')),'.'('builtin#varName'(::(B,F),!('Index')),'.'('builtin#varName'(::(C,G),!('List')),'.'('builtin#varName'(::(D,H),!('Type')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#element'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,D),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'(D)),'.'(::(D,'/bootstrap#type'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#element'(A,1,'.'(A,B),C),'builtin#true'),'.'('builtin#varName'(::(A,D),!('First')),[])),'builtin#true'). :-('/bootstrap#element'(A,1,'.'(A,B),C),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Calculate the next of previous integer'),'/bootstrap#signature'(::('builtin#succ'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,C),!('IndexMinusOne')),'.'('builtin#varName'(::(B,D),!('Index')),[]))),'builtin#true'). '/bootstrap#doc'(!('Calculate the next of previous integer'),'/bootstrap#signature'(::('builtin#succ'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::('builtin#succ'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!('+1')),[])))))),'.'('builtin#varName'(::(A,C),!('IndexMinusOne')),'.'('builtin#varName'(::(B,D),!('Index')),[]))),'builtin#true'). '/bootstrap#projection'(::('builtin#succ'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!('+1')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#element'(A,B,'.'(C,D),E),','('builtin#succ'(F,B),'/bootstrap#element'(A,F,D,E))),'.'('builtin#varName'(::(A,G),!('Elem')),'.'('builtin#varName'(::(B,H),!('Index')),'.'('builtin#varName'(::(D,I),!('Rest')),'.'('builtin#varName'(::(E,J),!('Type')),'.'('builtin#varName'(::(F,K),!('IndexMinusOne')),[])))))),'builtin#true'). :-('/bootstrap#element'(A,B,'.'(C,D),E),','('builtin#succ'(F,B),'/bootstrap#element'(A,F,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#setElement'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#list'(E)),'.'(::(C,E),'.'(::(D,'/bootstrap#list'(E)),'.'(::(E,'/bootstrap#type'),[])))))),'.'('builtin#varName'(::(A,F),!('Index')),'.'('builtin#varName'(::(B,G),!('List')),'.'('builtin#varName'(::(C,H),!('Elem')),'.'('builtin#varName'(::(D,I),!('NewList')),'.'('builtin#varName'(::(E,J),!('Type')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#setElement'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#list'(E)),'.'(::(C,E),'.'(::(D,'/bootstrap#list'(E)),'.'(::(E,'/bootstrap#type'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#setElement'(1,'.'(A,B),C,'.'(C,B),D),'builtin#true'),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('Elem')),[]))),'builtin#true'). :-('/bootstrap#setElement'(1,'.'(A,B),C,'.'(C,B),D),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#setElement'(A,'.'(B,C),D,'.'(B,E),F),','('builtin#succ'(G,A),'/bootstrap#setElement'(G,C,D,E,F))),'.'('builtin#varName'(::(A,H),!('Index')),'.'('builtin#varName'(::(B,I),!('First')),'.'('builtin#varName'(::(C,J),!('Rest')),'.'('builtin#varName'(::(D,K),!('Elem')),'.'('builtin#varName'(::(E,L),!('ModRest')),'.'('builtin#varName'(::(F,M),!('Type')),'.'('builtin#varName'(::(G,N),!('IndexMinusOne')),[])))))))),'builtin#true'). :-('/bootstrap#setElement'(A,'.'(B,C),D,'.'(B,E),F),','('builtin#succ'(G,A),'/bootstrap#setElement'(G,C,D,E,F))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Replaces the code element at Path with TTerm. VarNames hold the variable name bindings'),'/bootstrap#signature'(::('cpi#setAtPath'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#doc'(!('Replaces the code element at Path with TTerm. VarNames hold the variable name bindings'),'/bootstrap#signature'(::('cpi#setAtPath'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#replaceSubterm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#typedTerm'),[]))))),'.'('builtin#varName'(::(A,E),!('OldTTerm')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('RepTTerm')),'.'('builtin#varName'(::(D,H),!('TTerm')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#replaceSubterm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#number')),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#typedTerm'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('cpi#setAtPath'('cpi#path'(A,B),C,D),'/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#loadedFile'(A,E,F)),'.'('/bootstrap#dbInsert'('/bootstrap#loadedFile'(A,G,'/bootstrap#model'(H,I,J))),[])))),','('/bootstrap#fileIsLoaded'(A,G,'/bootstrap#model'(K,L,J)),','('/bootstrap#replaceSubterm'(::(K,'/bootstrap#list'('/bootstrap#statement')),B,C,::(H,'/bootstrap#list'('/bootstrap#statement'))),'/bootstrap#mergeVarNames'(L,D,I)))),'.'('builtin#varName'(::(A,M),!('ResourceName')),'.'('builtin#varName'(::(B,N),!('Path')),'.'('builtin#varName'(::(C,O),!('TTerm')),'.'('builtin#varName'(::(D,P),!('VarNames2')),'.'('builtin#varName'(::(G,Q),!('FileName')),'.'('builtin#varName'(::(H,R),!('Statements')),'.'('builtin#varName'(::(I,S),!('VarNames')),'.'('builtin#varName'(::(J,T),!('NsList')),'.'('builtin#varName'(::(K,U),!('OldStatements')),'.'('builtin#varName'(::(L,V),!('VarNames1')),[]))))))))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#setAtPath'('cpi#path'(A,B),C,D),'/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#loadedFile'(A,E,F)),'.'('/bootstrap#dbInsert'('/bootstrap#loadedFile'(A,G,'/bootstrap#model'(H,I,J))),[])))),','('/bootstrap#fileIsLoaded'(A,G,'/bootstrap#model'(K,L,J)),','('/bootstrap#replaceSubterm'(::(K,'/bootstrap#list'('/bootstrap#statement')),B,C,::(H,'/bootstrap#list'('/bootstrap#statement'))),'/bootstrap#mergeVarNames'(L,D,I)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#replaceSubterm'(A,[],B,B),'builtin#true'),'.'('builtin#varName'(::(B,C),!('TTerm')),[])),'builtin#true'). :-('/bootstrap#replaceSubterm'(A,[],B,B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#replaceNthSubterm'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'('/bootstrap#number')),'.'(::(D,'/bootstrap#typedTerm'),'.'(::(E,'/bootstrap#list'('/bootstrap#typedTerm')),[])))))),'.'('builtin#varName'(::(A,F),!('OldTArgs')),'.'('builtin#varName'(::(B,G),!('First')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('RepTTerm')),'.'('builtin#varName'(::(E,J),!('NewTArgs')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#replaceNthSubterm'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'('/bootstrap#number')),'.'(::(D,'/bootstrap#typedTerm'),'.'(::(E,'/bootstrap#list'('/bootstrap#typedTerm')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#replaceSubterm'(A,'.'(B,C),D,E),','('builtin#parseTerm'(A,F,G),','('/bootstrap#replaceNthSubterm'(G,B,C,D,H),'builtin#parseTerm'(E,F,H)))),'.'('builtin#varName'(::(A,I),!('OldTTerm')),'.'('builtin#varName'(::(B,J),!('First')),'.'('builtin#varName'(::(C,K),!('Path')),'.'('builtin#varName'(::(D,L),!('RepTTerm')),'.'('builtin#varName'(::(E,M),!('TTerm')),'.'('builtin#varName'(::(F,N),!('Func')),'.'('builtin#varName'(::(G,O),!('OldTArgs')),'.'('builtin#varName'(::(H,P),!('NewTArgs')),[]))))))))),'builtin#true'). :-('/bootstrap#replaceSubterm'(A,'.'(B,C),D,E),','('builtin#parseTerm'(A,F,G),','('/bootstrap#replaceNthSubterm'(G,B,C,D,H),'builtin#parseTerm'(E,F,H)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#replaceNthSubterm'('.'(A,B),1,C,D,'.'(E,B)),'/bootstrap#replaceSubterm'(A,C,D,E)),'.'('builtin#varName'(::(A,F),!('OldTTerm')),'.'('builtin#varName'(::(B,G),!('TArgs')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('RepTTerm')),'.'('builtin#varName'(::(E,J),!('TTerm')),[])))))),'builtin#true'). :-('/bootstrap#replaceNthSubterm'('.'(A,B),1,C,D,'.'(E,B)),'/bootstrap#replaceSubterm'(A,C,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::(>(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::(>(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::(>(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::(>(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('/bootstrap#replaceNthSubterm'('.'(A,B),C,D,E,'.'(A,F)),','(>(C,1),','('builtin#succ'(G,C),'/bootstrap#replaceNthSubterm'(B,G,D,E,F)))),'.'('builtin#varName'(::(A,H),!('First')),'.'('builtin#varName'(::(B,I),!('TArgs')),'.'('builtin#varName'(::(C,J),!('N')),'.'('builtin#varName'(::(D,K),!('Path')),'.'('builtin#varName'(::(E,L),!('RepTTerm')),'.'('builtin#varName'(::(F,M),!('TNewArgs')),'.'('builtin#varName'(::(G,N),!('NMinus1')),[])))))))),'builtin#true'). :-('/bootstrap#replaceNthSubterm'('.'(A,B),C,D,E,'.'(A,F)),','(>(C,1),','('builtin#succ'(G,C),'/bootstrap#replaceNthSubterm'(B,G,D,E,F)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::('builtin#if'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),[]))),[])))))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#projection'(::('builtin#if'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Conditional predicate. If Cond succeeds, Then applies. Otherwise Else applies.'),'/bootstrap#signature'(::('builtin#if'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#pred'),[]))))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#doc'(!('Conditional predicate. If Cond succeeds, Then applies. Otherwise Else applies.'),'/bootstrap#signature'(::('builtin#if'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#pred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::(=(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm1')),'.'('builtin#varName'(::(B,D),!('TTerm2')),[]))),'builtin#true'). '/bootstrap#signature'(::(=(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::(=(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))))),'.'('builtin#varName'(::(A,C),!('TTerm1')),'.'('builtin#varName'(::(B,D),!('TTerm2')),[]))),'builtin#true'). '/bootstrap#projection'(::(=(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Edit the content in Path to host TTerm. This action is undoable'),'/bootstrap#signature'(::('cpi#edit'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#doc'(!('Edit the content in Path to host TTerm. This action is undoable'),'/bootstrap#signature'(::('cpi#edit'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::('cpi#edit'(A,B,C),'/bootstrap#procedure'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Edit:')),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('At path:')),'.'('/bootstrap#vis'(::(A,'cpi#path')),'.'('/bootstrap#label'(!('with varnames:')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))),[])))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#projection'(::('cpi#edit'(A,B,C),'/bootstrap#procedure'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Edit:')),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!('At path:')),'.'('/bootstrap#vis'(::(A,'cpi#path')),'.'('/bootstrap#label'(!('with varnames:')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#editOp'(A,B,C),'/bootstrap#undoFrame'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('OldTypedContent')),'.'('builtin#varName'(::(C,F),!('OldVarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#editOp'(A,B,C),'/bootstrap#undoFrame'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#containingStatementPath'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('StatementPath')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#containingStatementPath'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'annotation#shrink'(:-('cpi#procedureCommand'('cpi#edit'('cpi#path'(A,B),C,D),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,E)),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,F,G,H)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),I,J),K),[],L)),'.'('/bootstrap#notify'(::('cpi#path'(A,M),'cpi#path')),[])))))),','('/bootstrap#editStateIs'(A,K,N,O),','('cpi#termAtPath'('cpi#path'(A,B),I,J),','('builtin#if'(>(0,O),=(::(L,'/bootstrap#number'),::(99999,'/bootstrap#number')),'builtin#succ'(O,L)),','('/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,M)),'/bootstrap#sanitizeVarNames'(D,E))))))),'.'('builtin#varName'(::(A,P),!('ResourceName')),'.'('builtin#varName'(::(B,Q),!('Path')),'.'('builtin#varName'(::(C,R),!('TTerm')),'.'('builtin#varName'(::(D,S),!('VarNames')),'.'('builtin#varName'(::(E,T),!('SVarNames')),'.'('builtin#varName'(::(I,U),!('OldTypedContent')),'.'('builtin#varName'(::(J,V),!('OldVarNames')),'.'('builtin#varName'(::(K,W),!('UndoStack')),'.'('builtin#varName'(::(L,X),!('NewModifiedCounter')),'.'('builtin#varName'(::(M,Y),!('StatementPath')),'.'('builtin#varName'(::(O,Z),!('OldModifiedCounter')),[])))))))))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#edit'('cpi#path'(A,B),C,D),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,E)),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,F,G,H)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),I,J),K),[],L)),'.'('/bootstrap#notify'(::('cpi#path'(A,M),'cpi#path')),[])))))),','('/bootstrap#editStateIs'(A,K,N,O),','('cpi#termAtPath'('cpi#path'(A,B),I,J),','('builtin#if'(>(0,O),=(::(L,'/bootstrap#number'),::(99999,'/bootstrap#number')),'builtin#succ'(O,L)),','('/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,M)),'/bootstrap#sanitizeVarNames'(D,E)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Deprecated, moved to the /builtin namespace'),'/bootstrap#signature'(::('cpi#undo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#doc'(!('Deprecated, moved to the /builtin namespace'),'/bootstrap#signature'(::('cpi#undo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#deprecated'(::('cpi#undo'(A),'/bootstrap#procedure')),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#deprecated'(::('cpi#undo'(A),'/bootstrap#procedure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#deprecationReplacement'('cpi#undo'(A),'/bootstrap#procedure','/bootstrap#undo'(A)),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#deprecationReplacement'('cpi#undo'(A),'/bootstrap#procedure','/bootstrap#undo'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('cpi#undo'(A),B),'cpi#procedureCommand'('/bootstrap#undo'(A),B)),'.'('builtin#varName'(::(A,C),!('ResourceName')),'.'('builtin#varName'(::(B,D),!('Cmd')),[]))),'builtin#true'). :-('cpi#procedureCommand'('cpi#undo'(A),B),'cpi#procedureCommand'('/bootstrap#undo'(A),B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#undo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#undo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('/bootstrap#undo'(A),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,D)),'.'('/bootstrap#assignFinal'(E,-('cpi#constExpr'(F),'cpi#constExpr'(1)),'/bootstrap#number'),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,G,H,I)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,J,'.'('/bootstrap#editOp'('cpi#path'(A,B),K,L),M),E)),'.'('/bootstrap#notify'(::('cpi#path'(A,N),'cpi#path')),[]))))))),','('/bootstrap#editStateIs'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),C,D),J),M,F),','('cpi#termAtPath'('cpi#path'(A,B),K,L),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,N))))),'.'('builtin#varName'(::(A,O),!('ResourceName')),'.'('builtin#varName'(::(B,P),!('Path')),'.'('builtin#varName'(::(C,Q),!('TypedContent')),'.'('builtin#varName'(::(D,R),!('VarNames')),'.'('builtin#varName'(::(E,S),!('NewModifiedCounter')),'.'('builtin#varName'(::(F,T),!('OldModifiedCounter')),'.'('builtin#varName'(::(J,U),!('UndoStack')),'.'('builtin#varName'(::(K,V),!('OldTypedContent')),'.'('builtin#varName'(::(L,W),!('OldVarNames')),'.'('builtin#varName'(::(M,X),!('RedoStack')),'.'('builtin#varName'(::(N,Y),!('StatementPath')),[])))))))))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#undo'(A),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,D)),'.'('/bootstrap#assignFinal'(E,-('cpi#constExpr'(F),'cpi#constExpr'(1)),'/bootstrap#number'),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,G,H,I)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,J,'.'('/bootstrap#editOp'('cpi#path'(A,B),K,L),M),E)),'.'('/bootstrap#notify'(::('cpi#path'(A,N),'cpi#path')),[]))))))),','('/bootstrap#editStateIs'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),C,D),J),M,F),','('cpi#termAtPath'('cpi#path'(A,B),K,L),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,N))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('/bootstrap#redo'(A),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,D)),'.'('/bootstrap#assignFinal'(E,-('cpi#constExpr'(F),'cpi#constExpr'(1)),'/bootstrap#number'),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,G,H,I)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),J,K),L),M,E)),'.'('/bootstrap#notify'(::('cpi#path'(A,N),'cpi#path')),[]))))))),','('/bootstrap#editStateIs'(A,L,'.'('/bootstrap#editOp'('cpi#path'(A,B),C,D),M),F),','('cpi#termAtPath'('cpi#path'(A,B),J,K),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,N))))),'.'('builtin#varName'(::(A,O),!('ResourceName')),'.'('builtin#varName'(::(B,P),!('Path')),'.'('builtin#varName'(::(C,Q),!('TypedContent')),'.'('builtin#varName'(::(D,R),!('VarNames')),'.'('builtin#varName'(::(E,S),!('NewModifiedCounter')),'.'('builtin#varName'(::(F,T),!('OldModifiedCounter')),'.'('builtin#varName'(::(J,U),!('OldTypedContent')),'.'('builtin#varName'(::(K,V),!('OldVarNames')),'.'('builtin#varName'(::(L,W),!('UndoStack')),'.'('builtin#varName'(::(M,X),!('RedoStack')),'.'('builtin#varName'(::(N,Y),!('StatementPath')),[])))))))))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#redo'(A),'/bootstrap#doAll'('.'('/bootstrap#doProc'('cpi#setAtPath'('cpi#path'(A,B),C,D)),'.'('/bootstrap#assignFinal'(E,-('cpi#constExpr'(F),'cpi#constExpr'(1)),'/bootstrap#number'),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,G,H,I)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,'.'('/bootstrap#editOp'('cpi#path'(A,B),J,K),L),M,E)),'.'('/bootstrap#notify'(::('cpi#path'(A,N),'cpi#path')),[]))))))),','('/bootstrap#editStateIs'(A,L,'.'('/bootstrap#editOp'('cpi#path'(A,B),C,D),M),F),','('cpi#termAtPath'('cpi#path'(A,B),J,K),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,N))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Checks if a file has been modified'),'/bootstrap#signature'(::('cpi#isModified'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#doc'(!('Checks if a file has been modified'),'/bootstrap#signature'(::('cpi#isModified'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#isModified'(A),','('/bootstrap#editStateIs'(A,B,C,D),\+('builtin#equals'(::(D,'/bootstrap#number'),::(0,'/bootstrap#number'))))),'.'('builtin#varName'(::(A,E),!('ResourceName')),'.'('builtin#varName'(::(D,F),!('ModifiedCounter')),[]))),'builtin#true'). :-('cpi#isModified'(A),','('/bootstrap#editStateIs'(A,B,C,D),\+('builtin#equals'(::(D,'/bootstrap#number'),::(0,'/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::(+(A,B),'/bootstrap#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#signature'(::(+(A,B),'/bootstrap#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::(+(A,B),'/bootstrap#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'('/bootstrap#number'))),[]))))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#projection'(::(+(A,B),'/bootstrap#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'('/bootstrap#number'))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#plus'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),'.'(::(C,'/bootstrap#ref'('/bootstrap#number')),[])))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#plus'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),'.'(::(C,'/bootstrap#ref'('/bootstrap#number')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#function'(+(A,B),'/bootstrap#number',C,'/bootstrap#plus'(A,B,C)),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#function'(+(A,B),'/bootstrap#number',C,'/bootstrap#plus'(A,B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#commandClass'('/bootstrap#plus'(A,B,C),!('net.nansore.cedalion.cmd.Plus')),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#plus'(A,B,C),!('net.nansore.cedalion.cmd.Plus')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::(-(A,B),'/bootstrap#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#signature'(::(-(A,B),'/bootstrap#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#projection'(::(-(A,B),'/bootstrap#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'('/bootstrap#number'))),[]))))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#projection'(::(-(A,B),'/bootstrap#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#expr'('/bootstrap#number'))),'.'('/bootstrap#label'(!(+)),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'('/bootstrap#number'))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#signature'(::('/bootstrap#minus'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),'.'(::(C,'/bootstrap#ref'('/bootstrap#number')),[])))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#minus'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#expr'('/bootstrap#number')),'.'(::(B,'/bootstrap#expr'('/bootstrap#number')),'.'(::(C,'/bootstrap#ref'('/bootstrap#number')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#function'(-(A,B),'/bootstrap#number',C,'/bootstrap#minus'(A,B,C)),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#function'(-(A,B),'/bootstrap#number',C,'/bootstrap#minus'(A,B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#commandClass'('/bootstrap#minus'(A,B,C),!('net.nansore.cedalion.cmd.Minus')),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#minus'(A,B,C),!('net.nansore.cedalion.cmd.Minus')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Returns the term at Path as a string, trimming any child elements beyond Depth and replacing them with numbers to allow restoring them'),'/bootstrap#signature'(::('cpi#termAsString'(A,B),'/bootstrap#expr'('/bootstrap#string')),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('Depth')),[]))),'builtin#true'). '/bootstrap#doc'(!('Returns the term at Path as a string, trimming any child elements beyond Depth and replacing them with numbers to allow restoring them'),'/bootstrap#signature'(::('cpi#termAsString'(A,B),'/bootstrap#expr'('/bootstrap#string')),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('cpi#func'('cpi#termAsString'('cpi#path'(A,B),C),D,'/bootstrap#string'),'/bootstrap#termToString'(E,F,C,G,D)),','('cpi#termAtPath'('cpi#path'(A,B),E,F),'/bootstrap#fileIsLoaded'(A,H,'/bootstrap#model'(I,J,G)))),'.'('builtin#varName'(::(A,K),!('ResourceName')),'.'('builtin#varName'(::(B,L),!('Path')),'.'('builtin#varName'(::(C,M),!('Depth')),'.'('builtin#varName'(::(D,N),!('Str')),'.'('builtin#varName'(::(E,O),!('TTerm')),'.'('builtin#varName'(::(F,P),!('VarNames')),'.'('builtin#varName'(::(G,Q),!('NsList')),[])))))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#func'('cpi#termAsString'('cpi#path'(A,B),C),D,'/bootstrap#string'),'/bootstrap#termToString'(E,F,C,G,D)),','('cpi#termAtPath'('cpi#path'(A,B),E,F),'/bootstrap#fileIsLoaded'(A,H,'/bootstrap#model'(I,J,G)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),'/bootstrap#doc'(!('Set the code element at Path to the content of String. This is an undoable edit.'),'/bootstrap#signature'(::('cpi#editFromString'(A,B),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#ref'('/bootstrap#string')),[])))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('StringRef')),[]))),'builtin#true'). '/bootstrap#doc'(!('Set the code element at Path to the content of String. This is an undoable edit.'),'/bootstrap#signature'(::('cpi#editFromString'(A,B),'/bootstrap#procedure'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#ref'('/bootstrap#string')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/edit.ced'),:-('cpi#procedureCommand'('cpi#editFromString'('cpi#path'(A,B),C),'/bootstrap#doAll'('.'('/bootstrap#stringToTerm'(C,D,E,F),'.'('/bootstrap#doProc'('cpi#edit'('cpi#path'(A,B),E,F)),[])))),'/bootstrap#fileIsLoaded'(A,G,'/bootstrap#model'(H,I,D))),'.'('builtin#varName'(::(A,J),!('ResourceName')),'.'('builtin#varName'(::(B,K),!('Path')),'.'('builtin#varName'(::(C,L),!('StringRef')),'.'('builtin#varName'(::(D,M),!('NsList')),'.'('builtin#varName'(::(E,N),!('TTerm')),'.'('builtin#varName'(::(F,O),!('VarNames')),[]))))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#editFromString'('cpi#path'(A,B),C),'/bootstrap#doAll'('.'('/bootstrap#stringToTerm'(C,D,E,F),'.'('/bootstrap#doProc'('cpi#edit'('cpi#path'(A,B),E,F)),[])))),'/bootstrap#fileIsLoaded'(A,G,'/bootstrap#model'(H,I,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#signature'(::('/bootstrap#export'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#export'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#projection'(::('/bootstrap#export'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Export to:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#export'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Export to:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#export'(!('bootstrap.cedimg')),[]),'builtin#true'). '/bootstrap#export'(!('bootstrap.cedimg')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#unitTest'('builtin#true'),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#signature'(::('/bootstrap#exportTo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#exportTo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#signature'(::('/bootstrap#writeStatementsTo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#writeStatementsTo'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#procedure'('/bootstrap#exportTo'(A),'/bootstrap#doProc'('/bootstrap#writeStatementsTo'(A))),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). '/bootstrap#procedure'('/bootstrap#exportTo'(A),'/bootstrap#doProc'('/bootstrap#writeStatementsTo'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'annotation#shrink'(:-('cpi#procedureCommand'('/bootstrap#writeStatementsTo'(A),'/bootstrap#doAll'('.'('/bootstrap#writeTextFile'(A,B),'.'('/bootstrap#showView'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Exported to')),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#string')),[])))),[])))),'builtin#findall'(C,'/bootstrap#string',','('/bootstrap#member'(D,'/bootstrap#clauses','/bootstrap#statement'),'/Functional#eval'('/bootstrap#statementToLine'(D),'/bootstrap#string',C)),B))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('Lines')),'.'('builtin#varName'(::(C,G),!('Line')),'.'('builtin#varName'(::(D,H),!('Clause')),[]))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#writeStatementsTo'(A),'/bootstrap#doAll'('.'('/bootstrap#writeTextFile'(A,B),'.'('/bootstrap#showView'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Exported to')),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#string')),[])))),[])))),'builtin#findall'(C,'/bootstrap#string',','('/bootstrap#member'(D,'/bootstrap#clauses','/bootstrap#statement'),'/Functional#eval'('/bootstrap#statementToLine'(D),'/bootstrap#string',C)),B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#export'(A),'/bootstrap#statement'),B,C,!('Export'),'/bootstrap#exportTo'(A)),'.'('builtin#varName'(::(A,D),!('Path')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#export'(A),'/bootstrap#statement'),B,C,!('Export'),'/bootstrap#exportTo'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#signature'(::('/bootstrap#statementToLine'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#statementToLine'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/Functional#def'('/bootstrap#statementToLine'(A),'/bootstrap#string','/Functional#where'('/Functional#applyBinOp'('/Functional#const'(B),'/Functional#concat','/Functional#const'(!('.'))),'builtin#rawTermToString'(::(A,'/bootstrap#statement'),B))),'.'('builtin#varName'(::(A,C),!('Statement')),'.'('builtin#varName'(::(B,D),!('Str')),[]))),'builtin#true'). '/Functional#def'('/bootstrap#statementToLine'(A),'/bootstrap#string','/Functional#where'('/Functional#applyBinOp'('/Functional#const'(B),'/Functional#concat','/Functional#const'(!('.'))),'builtin#rawTermToString'(::(A,'/bootstrap#statement'),B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'annotation#shrink'('/bootstrap#signature'(::('/bootstrap#clausesForStatement'(A,B,C),'/bootstrap#set'('/bootstrap#statement')),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('File')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#clausesForStatement'(A,B,C),'/bootstrap#set'('/bootstrap#statement')),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'annotation#shrink'('/bootstrap#setDef'('/bootstrap#clausesForStatement'(A,B,C),'/bootstrap#union'('/bootstrap#singleton'(:-('builtin#loadedStatement'(B,A,C),'builtin#true')),'/bootstrap#set'(D,','('builtin#removeAnnotations'(::(A,'/bootstrap#statement'),::(E,'/bootstrap#statement')),','('/bootstrap#rewriteToClause'(E,F),'/bootstrap#listMember'(D,'/bootstrap#statement',F))))),'/bootstrap#statement')),'.'('builtin#varName'(::(A,G),!('Statement')),'.'('builtin#varName'(::(B,H),!('File')),'.'('builtin#varName'(::(C,I),!('VNs')),'.'('builtin#varName'(::(D,J),!('Clause')),'.'('builtin#varName'(::(E,K),!('StatementWithoutAnnotations')),'.'('builtin#varName'(::(F,L),!('Clauses')),[]))))))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#clausesForStatement'(A,B,C),'/bootstrap#union'('/bootstrap#singleton'(:-('builtin#loadedStatement'(B,A,C),'builtin#true')),'/bootstrap#set'(D,','('builtin#removeAnnotations'(::(A,'/bootstrap#statement'),::(E,'/bootstrap#statement')),','('/bootstrap#rewriteToClause'(E,F),'/bootstrap#listMember'(D,'/bootstrap#statement',F))))),'/bootstrap#statement'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#defAtom'(::('/bootstrap#clauses','/bootstrap#set'('/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#clauses','/bootstrap#set'('/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/export.ced'),'/bootstrap#setDef'('/bootstrap#clauses','/bootstrap#set'(A,','('builtin#loadedStatement'(B,C,D),'/bootstrap#member'(A,'/bootstrap#clausesForStatement'(C,B,D),'/bootstrap#statement'))),'/bootstrap#statement'),'.'('builtin#varName'(::(A,E),!('Clause')),'.'('builtin#varName'(::(B,F),!('File')),'.'('builtin#varName'(::(C,G),!('Stmnt')),'.'('builtin#varName'(::(D,H),!('VNs')),[]))))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#clauses','/bootstrap#set'(A,','('builtin#loadedStatement'(B,C,D),'/bootstrap#member'(A,'/bootstrap#clausesForStatement'(C,B,D),'/bootstrap#statement'))),'/bootstrap#statement'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('Load a file named FileName into memory. ResourceName is to be used for the paths, and Namespace is the default namespace to be used'),'/bootstrap#signature'(::('cpi#openFile'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[]))))),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('ResourceName')),'.'('builtin#varName'(::(C,F),!('Namespace')),[])))),'builtin#true'). '/bootstrap#doc'(!('Load a file named FileName into memory. ResourceName is to be used for the paths, and Namespace is the default namespace to be used'),'/bootstrap#signature'(::('cpi#openFile'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#loadedFile'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#model'),[])))),'.'('builtin#varName'(::(A,D),!('ResourceName')),'.'('builtin#varName'(::(B,E),!('FileName')),'.'('builtin#varName'(::(C,F),!('Model')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#loadedFile'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#model'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#defAtom'(::('/bootstrap#undoFrame','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#undoFrame','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#editState'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(C,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(D,'/bootstrap#number'),[]))))),'.'('builtin#varName'(::(A,E),!('ResourceName')),'.'('builtin#varName'(::(B,F),!('UndoStack')),'.'('builtin#varName'(::(C,G),!('RedoStack')),'.'('builtin#varName'(::(D,H),!('DirtyFlag')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#editState'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(C,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(D,'/bootstrap#number'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#procedure'('cpi#openFile'(A,B,C),'/bootstrap#doAll'('.'('/bootstrap#readFile'(A,C,D),'.'('/bootstrap#assignFinal'(E,'/bootstrap#fileToModel'(D),'/bootstrap#model'),'.'('/bootstrap#dbInsert'('/bootstrap#loadedFile'(B,A,E)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(B,[],[],0)),[])))))),'.'('builtin#varName'(::(A,F),!('FileName')),'.'('builtin#varName'(::(B,G),!('ResourceName')),'.'('builtin#varName'(::(C,H),!('Namespace')),'.'('builtin#varName'(::(D,I),!('FileContent')),'.'('builtin#varName'(::(E,J),!('Model')),[])))))),'builtin#true'). '/bootstrap#procedure'('cpi#openFile'(A,B,C),'/bootstrap#doAll'('.'('/bootstrap#readFile'(A,C,D),'.'('/bootstrap#assignFinal'(E,'/bootstrap#fileToModel'(D),'/bootstrap#model'),'.'('/bootstrap#dbInsert'('/bootstrap#loadedFile'(B,A,E)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(B,[],[],0)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('Close a file: remove its contents from memory'),'/bootstrap#signature'(::('cpi#closeFile'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,B),!('ResourceName')),[])),'builtin#true'). '/bootstrap#doc'(!('Close a file: remove its contents from memory'),'/bootstrap#signature'(::('cpi#closeFile'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#procedure'('cpi#closeFile'(A),'/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#loadedFile'(A,B,C)),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,D,E,F)),[])))),'.'('builtin#varName'(::(A,G),!('ResourceName')),[])),'builtin#true'). '/bootstrap#procedure'('cpi#closeFile'(A),'/bootstrap#doAll'('.'('/bootstrap#dbRemove'('/bootstrap#loadedFile'(A,B,C)),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,D,E,F)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#fileIsLoaded'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#model'),[])))),'.'('builtin#varName'(::(A,D),!('ResourceName')),'.'('builtin#varName'(::(B,E),!('FileName')),'.'('builtin#varName'(::(C,F),!('Model')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#fileIsLoaded'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#model'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),~>('/bootstrap#loadedFile'(A,B,C),:-('/bootstrap#fileIsLoaded'(A,B,C),'builtin#true')),'.'('builtin#varName'(::(A,D),!('ResourceName')),'.'('builtin#varName'(::(B,E),!('FileName')),'.'('builtin#varName'(::(C,F),!('Model')),[])))),'builtin#true'). :-('/bootstrap#fileIsLoaded'(A,B,C),','('/bootstrap#loadedFile'(A,B,C),'builtin#true')). :-('/bootstrap#loadedFile'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#editStateIs'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(C,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(D,'/bootstrap#number'),[]))))),'.'('builtin#varName'(::(A,E),!('ResourceName')),'.'('builtin#varName'(::(B,F),!('UndoStack')),'.'('builtin#varName'(::(C,G),!('RedoStack')),'.'('builtin#varName'(::(D,H),!('ModifiedCounter')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#editStateIs'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(C,'/bootstrap#list'('/bootstrap#undoFrame')),'.'(::(D,'/bootstrap#number'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),~>('/bootstrap#editState'(A,B,C,D),:-('/bootstrap#editStateIs'(A,B,C,D),'builtin#true')),'.'('builtin#varName'(::(A,E),!('ResourceName')),'.'('builtin#varName'(::(B,F),!('UndoStack')),'.'('builtin#varName'(::(C,G),!('RedoStack')),'.'('builtin#varName'(::(D,H),!('ModifiedCounter')),[]))))),'builtin#true'). :-('/bootstrap#editStateIs'(A,B,C,D),','('/bootstrap#editState'(A,B,C,D),'builtin#true')). :-('/bootstrap#editState'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#defAtom'(::('/bootstrap#model','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#model','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#fileToModel'(A),'/bootstrap#expr'('/bootstrap#model')),'.'(::(A,'/bootstrap#fileContent'),[])),'.'('builtin#varName'(::(A,B),!('Content')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#fileToModel'(A),'/bootstrap#expr'('/bootstrap#model')),'.'(::(A,'/bootstrap#fileContent'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#defAtom'(::('/bootstrap#nsElem','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#nsElem','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#defAtom'(::('/bootstrap#annotatedTerm','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#annotatedTerm','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('A data structure to hold a list of statements with variable name bindings, and a list of namespace aliases'),'/bootstrap#signature'(::('builtin#fileContent'(A,B),'/bootstrap#fileContent'),'.'(::(A,'/bootstrap#list'('/bootstrap#annotatedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#nsElem')),[])))),'.'('builtin#varName'(::(A,C),!('Terms')),'.'('builtin#varName'(::(B,D),!('NsList')),[]))),'builtin#true'). '/bootstrap#doc'(!('A data structure to hold a list of statements with variable name bindings, and a list of namespace aliases'),'/bootstrap#signature'(::('builtin#fileContent'(A,B),'/bootstrap#fileContent'),'.'(::(A,'/bootstrap#list'('/bootstrap#annotatedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#nsElem')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#model'(A,B,C),'/bootstrap#model'),'.'(::(A,'/bootstrap#list'('/bootstrap#statement')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#nsElem')),[])))),'.'('builtin#varName'(::(A,D),!('Statements')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('NsList')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#model'(A,B,C),'/bootstrap#model'),'.'(::(A,'/bootstrap#list'('/bootstrap#statement')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#nsElem')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('A simple procedural expression that returns the Constant it is given'),'/bootstrap#signature'(::('cpi#constExpr'(A),'/bootstrap#expr'(B)),'.'(::(A,B),[]))),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#doc'(!('A simple procedural expression that returns the Constant it is given'),'/bootstrap#signature'(::('cpi#constExpr'(A),'/bootstrap#expr'(B)),'.'(::(A,B),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#projection'(::('cpi#constExpr'(A),'/bootstrap#expr'(B)),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(const))),'.'('/bootstrap#vis'(::(A,B)),[])))),'.'('builtin#varName'(::(A,C),!('Const')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('cpi#constExpr'(A),'/bootstrap#expr'(B)),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(const))),'.'('/bootstrap#vis'(::(A,B)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('cpi#procedureCommand'('cpi#func'('/bootstrap#fileToModel'('builtin#fileContent'(A,B)),C,'/bootstrap#model'),'/bootstrap#assign'(C,'cpi#constExpr'('/bootstrap#model'(D,E,B)),'/bootstrap#model')),'/bootstrap#fileModel'(A,D,E)),'.'('builtin#varName'(::(A,F),!('Terms')),'.'('builtin#varName'(::(B,G),!('NsList')),'.'('builtin#varName'(::(C,H),!('ModelRef')),'.'('builtin#varName'(::(D,I),!('Statements')),'.'('builtin#varName'(::(E,J),!('VarNames')),[])))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#func'('/bootstrap#fileToModel'('builtin#fileContent'(A,B)),C,'/bootstrap#model'),'/bootstrap#assign'(C,'cpi#constExpr'('/bootstrap#model'(D,E,B)),'/bootstrap#model')),'/bootstrap#fileModel'(A,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#fileModel'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#annotatedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#statement')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Terms')),'.'('builtin#varName'(::(B,E),!('Statements')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#fileModel'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#annotatedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#statement')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#fileModel'([],[],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#fileModel'([],[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('A data structure to hold a pair of a statement along with its variable name bindings'),'/bootstrap#signature'(::('builtin#statement'(A,B),'/bootstrap#annotatedTerm'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,C),!('S')),'.'('builtin#varName'(::(B,D),!('VN')),[]))),'builtin#true'). '/bootstrap#doc'(!('A data structure to hold a pair of a statement along with its variable name bindings'),'/bootstrap#signature'(::('builtin#statement'(A,B),'/bootstrap#annotatedTerm'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#mergeVarNames'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('VN1')),'.'('builtin#varName'(::(B,E),!('VN2')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#mergeVarNames'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#fileModel'('.'('builtin#statement'(A,B),C),'.'(A,D),E),','('/bootstrap#fileModel'(C,D,F),'/bootstrap#mergeVarNames'(B,F,E))),'.'('builtin#varName'(::(A,G),!('S')),'.'('builtin#varName'(::(B,H),!('VN1')),'.'('builtin#varName'(::(C,I),!('Terms')),'.'('builtin#varName'(::(D,J),!('Statements')),'.'('builtin#varName'(::(E,K),!('VarNames')),'.'('builtin#varName'(::(F,L),!('VN2')),[]))))))),'builtin#true'). :-('/bootstrap#fileModel'('.'('builtin#statement'(A,B),C),'.'(A,D),E),','('/bootstrap#fileModel'(C,D,F),'/bootstrap#mergeVarNames'(B,F,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#mergeVarNames'([],A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('VarNames')),[])),'builtin#true'). :-('/bootstrap#mergeVarNames'([],A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('A data structure to hold a single typed variable (TVar) along with its Name'),'/bootstrap#signature'(::('builtin#varName'(A,B),'/bootstrap#varName'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('Name')),[]))),'builtin#true'). '/bootstrap#doc'(!('A data structure to hold a single typed variable (TVar) along with its Name'),'/bootstrap#signature'(::('builtin#varName'(A,B),'/bootstrap#varName'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#mergeVarNames'('.'('builtin#varName'(::(A,B),C),D),E,F),'builtin#if'('/bootstrap#listMember'('builtin#varName'(::(A,B),C),'/bootstrap#varName',E),'/bootstrap#mergeVarNames'(D,E,F),'/bootstrap#mergeVarNames'(D,'.'('builtin#varName'(::(A,B),C),E),F))),'.'('builtin#varName'(::(A,G),!('Var')),'.'('builtin#varName'(::(B,H),!('T')),'.'('builtin#varName'(::(C,I),!('Name')),'.'('builtin#varName'(::(D,J),!('VN1')),'.'('builtin#varName'(::(E,K),!('VN2')),'.'('builtin#varName'(::(F,L),!('VarNames')),[]))))))),'builtin#true'). :-('/bootstrap#mergeVarNames'('.'('builtin#varName'(::(A,B),C),D),E,F),'builtin#if'('/bootstrap#listMember'('builtin#varName'(::(A,B),C),'/bootstrap#varName',E),'/bootstrap#mergeVarNames'(D,E,F),'/bootstrap#mergeVarNames'(D,'.'('builtin#varName'(::(A,B),C),E),F))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#varInVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('VN')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varInVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('Checks if two typed terms are equal. Variables are equal if they are already bound to each other'),'/bootstrap#signature'(::('builtin#equals'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,C),!('TVar1')),'.'('builtin#varName'(::(B,D),!('TVar2')),[]))),'builtin#true'). '/bootstrap#doc'(!('Checks if two typed terms are equal. Variables are equal if they are already bound to each other'),'/bootstrap#signature'(::('builtin#equals'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#projection'(::('builtin#equals'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(==)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))))),'.'('builtin#varName'(::(A,C),!('TVar1')),'.'('builtin#varName'(::(B,D),!('TVar2')),[]))),'builtin#true'). '/bootstrap#projection'(::('builtin#equals'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(==)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#alias'(::('builtin#equals'(A,B),'/bootstrap#pred'),!(==)),'.'('builtin#varName'(::(A,C),!('TVar1')),'.'('builtin#varName'(::(B,D),!('TVar2')),[]))),'builtin#true'). '/bootstrap#alias'(::('builtin#equals'(A,B),'/bootstrap#pred'),!(==)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#varInVarNames'(::(A,B),'.'('builtin#varName'(::(C,B),D),E)),'builtin#equals'(::(C,B),::(A,B))),'.'('builtin#varName'(::(A,F),!('Var')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Var1')),[])))),'builtin#true'). :-('/bootstrap#varInVarNames'(::(A,B),'.'('builtin#varName'(::(C,B),D),E)),'builtin#equals'(::(C,B),::(A,B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#varInVarNames'(::(A,B),'.'(C,D)),'/bootstrap#varInVarNames'(::(A,B),D)),'.'('builtin#varName'(::(A,E),!('Var')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(D,G),!('VN')),[])))),'builtin#true'). :-('/bootstrap#varInVarNames'(::(A,B),'.'(C,D)),'/bootstrap#varInVarNames'(::(A,B),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('Save a file to the disk. Given are both the ResourceName by which it is represented in memory, and the FileName to be used on the disk'),'/bootstrap#signature'(::('cpi#saveFile'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,C),!('ResourceName')),'.'('builtin#varName'(::(B,D),!('FileName')),[]))),'builtin#true'). '/bootstrap#doc'(!('Save a file to the disk. Given are both the ResourceName by which it is represented in memory, and the FileName to be used on the disk'),'/bootstrap#signature'(::('cpi#saveFile'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#modelToContent'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#model'),'.'(::(B,'/bootstrap#fileContent'),[]))),'.'('builtin#varName'(::(A,C),!('Model')),'.'('builtin#varName'(::(B,D),!('Content')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#modelToContent'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#model'),'.'(::(B,'/bootstrap#fileContent'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('cpi#procedureCommand'('cpi#saveFile'(A,B),'/bootstrap#doAll'('.'('/bootstrap#writeFile'(B,C),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,D,E,F)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,G,H,0)),[]))))),','('/bootstrap#fileIsLoaded'(A,I,J),','('/bootstrap#modelToContent'(J,C),'/bootstrap#editStateIs'(A,G,H,K)))),'.'('builtin#varName'(::(A,L),!('ResourceName')),'.'('builtin#varName'(::(B,M),!('FileName')),'.'('builtin#varName'(::(C,N),!('Content')),'.'('builtin#varName'(::(G,O),!('UndoStack')),'.'('builtin#varName'(::(H,P),!('RedoStack')),'.'('builtin#varName'(::(J,Q),!('Model')),[]))))))),'builtin#true'). :-('cpi#procedureCommand'('cpi#saveFile'(A,B),'/bootstrap#doAll'('.'('/bootstrap#writeFile'(B,C),'.'('/bootstrap#dbRemove'('/bootstrap#editState'(A,D,E,F)),'.'('/bootstrap#dbInsert'('/bootstrap#editState'(A,G,H,0)),[]))))),','('/bootstrap#fileIsLoaded'(A,I,J),','('/bootstrap#modelToContent'(J,C),'/bootstrap#editStateIs'(A,G,H,K)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#annotateStatements'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#statement')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#annotatedTerm')),[])))),'.'('builtin#varName'(::(A,D),!('Statements')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('AnnoStatements')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#annotateStatements'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#statement')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#annotatedTerm')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#modelToContent'('/bootstrap#model'(A,B,C),'builtin#fileContent'(D,C)),'/bootstrap#annotateStatements'(A,B,D)),'.'('builtin#varName'(::(A,E),!('Statements')),'.'('builtin#varName'(::(B,F),!('VarNames')),'.'('builtin#varName'(::(C,G),!('NsList')),'.'('builtin#varName'(::(D,H),!('AnnoStatements')),[]))))),'builtin#true'). :-('/bootstrap#modelToContent'('/bootstrap#model'(A,B,C),'builtin#fileContent'(D,C)),'/bootstrap#annotateStatements'(A,B,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#annotateStatements'([],A,[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#annotateStatements'([],A,[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#selectVarNamesFor'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('VN1')),'.'('builtin#varName'(::(C,F),!('VN2')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#selectVarNamesFor'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#annotateStatements'('.'(A,B),C,'.'('builtin#statement'(A,D),E)),','('/bootstrap#selectVarNamesFor'(::(A,'/bootstrap#statement'),C,D),'/bootstrap#annotateStatements'(B,C,E))),'.'('builtin#varName'(::(A,F),!('Statement')),'.'('builtin#varName'(::(B,G),!('Statements')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('VN1')),'.'('builtin#varName'(::(E,J),!('AnnoStatements')),[])))))),'builtin#true'). :-('/bootstrap#annotateStatements'('.'(A,B),C,'.'('builtin#statement'(A,D),E)),','('/bootstrap#selectVarNamesFor'(::(A,'/bootstrap#statement'),C,D),'/bootstrap#annotateStatements'(B,C,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#selectVarNamesFor'(A,[],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#selectVarNamesFor'(A,[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('/bootstrap#varIn'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('TTerm')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varIn'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#selectVarNamesFor'(A,'.'('builtin#varName'(::(B,C),D),E),F),','('/bootstrap#selectVarNamesFor'(A,E,G),'builtin#if'('/bootstrap#varIn'(::(B,C),A),=(::(F,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(::(B,C),D),G),'/bootstrap#list'('/bootstrap#varName'))),=(::(F,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')))))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('Var')),'.'('builtin#varName'(::(C,J),!('T')),'.'('builtin#varName'(::(D,K),!('Name')),'.'('builtin#varName'(::(E,L),!('VarNames')),'.'('builtin#varName'(::(F,M),!('VN')),'.'('builtin#varName'(::(G,N),!('VN1')),[])))))))),'builtin#true'). :-('/bootstrap#selectVarNamesFor'(A,'.'('builtin#varName'(::(B,C),D),E),F),','('/bootstrap#selectVarNamesFor'(A,E,G),'builtin#if'('/bootstrap#varIn'(::(B,C),A),=(::(F,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(::(B,C),D),G),'/bootstrap#list'('/bootstrap#varName'))),=(::(F,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#varIn'(::(A,B),::(C,D)),'builtin#if'('builtin#var'(::(C,D)),'builtin#equals'(::(A,B),::(C,D)),','('builtin#compound'(::(C,D)),','('builtin#parseTerm'(::(C,D),E,F),'/bootstrap#varInList'(::(A,B),F))))),'.'('builtin#varName'(::(A,G),!('Var')),'.'('builtin#varName'(::(B,H),!('VarType')),'.'('builtin#varName'(::(C,I),!('Term')),'.'('builtin#varName'(::(D,J),!('TermType')),'.'('builtin#varName'(::(F,K),!('Args')),[])))))),'builtin#true'). :-('/bootstrap#varIn'(::(A,B),::(C,D)),'builtin#if'('builtin#var'(::(C,D)),'builtin#equals'(::(A,B),::(C,D)),','('builtin#compound'(::(C,D)),','('builtin#parseTerm'(::(C,D),E,F),'/bootstrap#varInList'(::(A,B),F))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#varInList'(::(A,B),'.'(::(C,D),E)),'/bootstrap#varIn'(::(A,B),::(C,D))),'.'('builtin#varName'(::(A,F),!('Var')),'.'('builtin#varName'(::(B,G),!('VarType')),'.'('builtin#varName'(::(C,H),!('First')),'.'('builtin#varName'(::(D,I),!('FirstType')),[]))))),'builtin#true'). :-('/bootstrap#varInList'(::(A,B),'.'(::(C,D),E)),'/bootstrap#varIn'(::(A,B),::(C,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('/bootstrap#varInList'(::(A,B),'.'(C,D)),'/bootstrap#varInList'(::(A,B),D)),'.'('builtin#varName'(::(A,E),!('Var')),'.'('builtin#varName'(::(B,F),!('VarType')),'.'('builtin#varName'(::(D,G),!('Tail')),[])))),'builtin#true'). :-('/bootstrap#varInList'(::(A,B),'.'(C,D)),'/bootstrap#varInList'(::(A,B),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#doc'(!('An import statement. Binds a namespace name to an alias (deprecated)'),'/bootstrap#signature'(::('builtin#import'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,C),!('Alias')),'.'('builtin#varName'(::(B,D),!('NS')),[]))),'builtin#true'). '/bootstrap#doc'(!('An import statement. Binds a namespace name to an alias (deprecated)'),'/bootstrap#signature'(::('builtin#import'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#projection'(::('builtin#import'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(import)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))))),'.'('builtin#varName'(::(A,C),!('Alias')),'.'('builtin#varName'(::(B,D),!('NS')),[]))),'builtin#true'). '/bootstrap#projection'(::('builtin#import'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(import)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('cpi#rootType'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('Type')),[])),'builtin#true'). '/bootstrap#signature'(::('cpi#rootType'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('cpi#rootType'('/bootstrap#list'('/bootstrap#statement')),'builtin#true'),[]),'builtin#true'). :-('cpi#rootType'('/bootstrap#list'('/bootstrap#statement')),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),'/bootstrap#signature'(::('cpi#rootMode'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#mode'),[])),'.'('builtin#varName'(::(A,B),!('Mode')),[])),'builtin#true'). '/bootstrap#signature'(::('cpi#rootMode'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#mode'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/file.ced'),:-('cpi#rootMode'('/bootstrap#vert'),'builtin#true'),[]),'builtin#true'). :-('cpi#rootMode'('/bootstrap#vert'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/forall.ced'),'/bootstrap#signature'(::('/bootstrap#forall'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#forall'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/forall.ced'),'/bootstrap#projection'(::('/bootstrap#forall'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(8704),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#forall'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(8704),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/forall.ced'),:-('/bootstrap#forall'(A,B),\+(','(A,\+(B)))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). :-('/bootstrap#forall'(A,B),\+(','(A,\+(B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/forall.ced'),'/bootstrap#unitTest'('/bootstrap#forall'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))),'builtin#greaterThen'(4,A))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#forall'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))),'builtin#greaterThen'(4,A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/forall.ced'),'/bootstrap#unitTest'(\+('/bootstrap#forall'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))),'builtin#greaterThen'(3,A)))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'(\+('/bootstrap#forall'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))),'builtin#greaterThen'(3,A)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/ground.ced'),'/bootstrap#signature'(::('builtin#ground'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('builtin#ground'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/ground.ced'),'/bootstrap#unitTest'('builtin#ground'(::(1,'/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#ground'(::(1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/ground.ced'),'/bootstrap#unitTest'(\+('builtin#ground'(::('.'(A,[]),'/bootstrap#list'(B))))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('builtin#ground'(::('.'(A,[]),'/bootstrap#list'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#defAtom'(::('/bootstrap#topLevel','/bootstrap#marker')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#topLevel','/bootstrap#marker')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#disabled'(:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#topLevel')),'/bootstrap#statementPath'(A))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('Statement')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#disabled'(:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#topLevel')),'/bootstrap#statementPath'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#topLevel')),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('Statement')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). :-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#topLevel')),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#markerVis'('/bootstrap#topLevel',A,'/bootstrap#color'(A,'cpi#rgb'(0,0,128))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#topLevel',A,'/bootstrap#color'(A,'cpi#rgb'(0,0,128))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#defAtom'(::('/bootstrap#notTopLevel','/bootstrap#marker')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#notTopLevel','/bootstrap#marker')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#disabled'(:-('/bootstrap#check'('cpi#path'(A,B),C,D,'/bootstrap#marker'('cpi#path'(A,B),'/bootstrap#notTopLevel')),','('/bootstrap#append'(E,'.'(F,[]),B,'/bootstrap#number'),'/bootstrap#statementPath'('cpi#path'(A,E))))),'.'('builtin#varName'(::(A,G),!('Res')),'.'('builtin#varName'(::(B,H),!('Path')),'.'('builtin#varName'(::(C,I),!('TTerm')),'.'('builtin#varName'(::(D,J),!('VNs')),'.'('builtin#varName'(::(E,K),!('PathPrime')),[])))))),'builtin#true'). '/bootstrap#disabled'(:-('/bootstrap#check'('cpi#path'(A,B),C,D,'/bootstrap#marker'('cpi#path'(A,B),'/bootstrap#notTopLevel')),','('/bootstrap#append'(E,'.'(F,[]),B,'/bootstrap#number'),'/bootstrap#statementPath'('cpi#path'(A,E))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),:-('/bootstrap#check'('cpi#path'(A,B),::(C,D),E,'/bootstrap#marker'('cpi#path'(A,B),'/bootstrap#notTopLevel')),\+(=(::(D,'/bootstrap#type'),::('/bootstrap#statement','/bootstrap#type')))),'.'('builtin#varName'(::(A,F),!('Res')),'.'('builtin#varName'(::(B,G),!('Path')),'.'('builtin#varName'(::(C,H),!('Term')),'.'('builtin#varName'(::(D,I),!('Type')),'.'('builtin#varName'(::(E,J),!('VNs')),[])))))),'builtin#true'). :-('/bootstrap#check'('cpi#path'(A,B),::(C,D),E,'/bootstrap#marker'('cpi#path'(A,B),'/bootstrap#notTopLevel')),\+(=(::(D,'/bootstrap#type'),::('/bootstrap#statement','/bootstrap#type')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/highlightStatements.ced'),'/bootstrap#markerVis'('/bootstrap#notTopLevel',A,'/bootstrap#color'(A,'cpi#rgb'(0,0,0))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#notTopLevel',A,'/bootstrap#color'(A,'cpi#rgb'(0,0,0))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),[])))),'.'('builtin#varName'(::(A,D),!('Elem')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8714),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(B))),[])))))),'.'('builtin#varName'(::(A,D),!('Elem')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8714),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(B))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#alias'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),!(in)),'.'('builtin#varName'(::(A,D),!('Elem')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#listMember'(A,B,C),'/bootstrap#pred'),!(in)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),:-('/bootstrap#listMember'(A,B,'.'(A,C)),'builtin#true'),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('T')),[]))),'builtin#true'). :-('/bootstrap#listMember'(A,B,'.'(A,C)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),:-('/bootstrap#listMember'(A,B,'.'(C,D)),'/bootstrap#listMember'(A,B,D)),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(D,G),!('L')),[])))),'builtin#true'). :-('/bootstrap#listMember'(A,B,'.'(C,D)),'/bootstrap#listMember'(A,B,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('/bootstrap#horizontalCont'(A),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('Delim')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horizontalCont'(A),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('/bootstrap#horizontal'(A,B,C,D),'/bootstrap#mode'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#visualization'),'.'(::(D,'/bootstrap#visualization'),[]))))),'.'('builtin#varName'(::(A,E),!('Start')),'.'('builtin#varName'(::(B,F),!('End')),'.'('builtin#varName'(::(C,G),!('Delim')),'.'('builtin#varName'(::(D,H),!('Empty')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horizontal'(A,B,C,D),'/bootstrap#mode'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#visualization'),'.'(::(D,'/bootstrap#visualization'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontal'(B,C,D,E),E),'.'('builtin#varName'(::(B,F),!('Start')),'.'('builtin#varName'(::(C,G),!('End')),'.'('builtin#varName'(::(D,H),!('Delim')),'.'('builtin#varName'(::(E,I),!('Empty')),[]))))),'builtin#true'). '/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontal'(B,C,D,E),E). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontal'(D,E,F,G),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(F)),[]))),D,E)),'.'('builtin#varName'(::(A,H),!('First')),'.'('builtin#varName'(::(B,I),!('Rest')),'.'('builtin#varName'(::(C,J),!('T')),'.'('builtin#varName'(::(D,K),!('Start')),'.'('builtin#varName'(::(E,L),!('End')),'.'('builtin#varName'(::(F,M),!('Delim')),'.'('builtin#varName'(::(G,N),!('Empty')),[])))))))),'builtin#true'). '/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontal'(D,E,F,G),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(F)),[]))),D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('/bootstrap#horizontal'(A,B),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Delim')),'.'('builtin#varName'(::(B,D),!('Empty')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horizontal'(A,B),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontal'(B,C),C),'.'('builtin#varName'(::(B,D),!('Delim')),'.'('builtin#varName'(::(C,E),!('Empty')),[]))),'builtin#true'). '/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontal'(B,C),C). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontal'(D,E),'/bootstrap#horiz'('.'('annotation#minComment'('/bootstrap#label'(!(' ')),!('We add this space to allow users to select the entire list')),'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D)),[]))))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Delim')),'.'('builtin#varName'(::(E,J),!('Empty')),[])))))),'builtin#true'). '/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontal'(D,E),'/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontalCont'(B),'/bootstrap#horiz'([])),'.'('builtin#varName'(::(A,C),!('T')),'.'('builtin#varName'(::(B,D),!('Delim')),[]))),'builtin#true'). '/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#horizontalCont'(B),'/bootstrap#horiz'([])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D),'/bootstrap#horiz'('.'(D,'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D)),[]))))),'.'('builtin#varName'(::(A,E),!('First')),'.'('builtin#varName'(::(B,F),!('Rest')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Delim')),[]))))),'builtin#true'). '/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D),'/bootstrap#horiz'('.'(D,'.'('/bootstrap#vis'(::(A,C)),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#horizontalCont'(D)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),:-('/bootstrap#userVisualization'(A,'/bootstrap#horiz',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#horizontal'(91,93,'/bootstrap#label'(!(',')),'/bootstrap#label'(!([]))),B,C)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Hist')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(A,'/bootstrap#horiz',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#horizontal'(91,93,'/bootstrap#label'(!(',')),'/bootstrap#label'(!([]))),B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#defAtom'(::('/bootstrap#vert','/bootstrap#mode')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#vert','/bootstrap#mode')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),:-('/bootstrap#userVisualization'(A,'/bootstrap#vert',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#vertical'('/bootstrap#symbol'(8729),'/bootstrap#label'(!([])),'/bootstrap#horiz'([])),B,C)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Hist')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(A,'/bootstrap#vert',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#vertical'('/bootstrap#symbol'(8729),'/bootstrap#label'(!([])),'/bootstrap#horiz'([])),B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('/bootstrap#vertical'(A,B,C),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('Bullet')),'.'('builtin#varName'(::(B,E),!('EmptyList')),'.'('builtin#varName'(::(C,F),!('End')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#vertical'(A,B,C),'/bootstrap#mode'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),:-('/bootstrap#userVisualization'(A,'cpi#default',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#horiz',B,C)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Hist')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(A,'cpi#default',B,C),'/bootstrap#userVisualization'(A,'/bootstrap#horiz',B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#vertical'(B,C,D),C),'.'('builtin#varName'(::(B,E),!('Bullet')),'.'('builtin#varName'(::(C,F),!('EmptyList')),'.'('builtin#varName'(::(D,G),!('End')),[])))),'builtin#true'). '/bootstrap#projection'(::([],'/bootstrap#list'(A)),'/bootstrap#vertical'(B,C,D),C). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#vertical'(D,E,F),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'(D,'.'('/bootstrap#vis'(::(A,C)),[]))),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#vertical'(D,F,F)),[])))),'.'('builtin#varName'(::(A,G),!('F')),'.'('builtin#varName'(::(B,H),!('R')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('Bullet')),'.'('builtin#varName'(::(E,K),!('EmptyList')),'.'('builtin#varName'(::(F,L),!('End')),[]))))))),'builtin#true'). '/bootstrap#projection'(::('.'(A,B),'/bootstrap#list'(C)),'/bootstrap#vertical'(D,E,F),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'(D,'.'('/bootstrap#vis'(::(A,C)),[]))),'.'('cpi#vis'(::(B,'/bootstrap#list'(C)),'/bootstrap#vertical'(D,F,F)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#signature'(::('builtin#length'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('List')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Len')),[])))),'builtin#true'). '/bootstrap#signature'(::('builtin#length'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/list.ced'),'/bootstrap#unitTest'('builtin#length'('.'(1,'.'(2,'.'(3,[]))),'/bootstrap#number',3)),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#length'('.'(1,'.'(2,'.'(3,[]))),'/bootstrap#number',3)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'annotation#shrink'('/bootstrap#signature'(::('/bootstrap#markersForPath'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),[])))))),'.'('builtin#varName'(::(A,E),!('Markers')),'.'('builtin#varName'(::(B,F),!('BasePath')),'.'('builtin#varName'(::(C,G),!('MarkersForPath')),'.'('builtin#varName'(::(D,H),!('MarkersLeft')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#markersForPath'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),:-('/bootstrap#markersForPath'([],A,[],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#markersForPath'([],A,[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'annotation#shrink'(:-('/bootstrap#markersForPath'('.'('/bootstrap#marker'(A,B),C),D,E,F),','('/bootstrap#markersForPath'(C,D,G,H),'builtin#if'('/bootstrap#pathIsPrefix'(D,A),','(=(::(E,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,B),G),'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::(H,'/bootstrap#list'('/bootstrap#locMarker')))),','(=(::(E,'/bootstrap#list'('/bootstrap#locMarker')),::(G,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,B),H),'/bootstrap#list'('/bootstrap#locMarker')))))))),'.'('builtin#varName'(::(A,I),!('Path')),'.'('builtin#varName'(::(B,J),!('Mark')),'.'('builtin#varName'(::(C,K),!('Markers')),'.'('builtin#varName'(::(D,L),!('BasePath')),'.'('builtin#varName'(::(E,M),!('MarkersForPath')),'.'('builtin#varName'(::(F,N),!('MarkersLeft')),'.'('builtin#varName'(::(G,O),!('MarkersForPath1')),'.'('builtin#varName'(::(H,P),!('MarkersLeft1')),[]))))))))),'builtin#true'). :-('/bootstrap#markersForPath'('.'('/bootstrap#marker'(A,B),C),D,E,F),','('/bootstrap#markersForPath'(C,D,G,H),'builtin#if'('/bootstrap#pathIsPrefix'(D,A),','(=(::(E,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,B),G),'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::(H,'/bootstrap#list'('/bootstrap#locMarker')))),','(=(::(E,'/bootstrap#list'('/bootstrap#locMarker')),::(G,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,B),H),'/bootstrap#list'('/bootstrap#locMarker'))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'/bootstrap#signature'(::('/bootstrap#applyMarkers'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('TDesc')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#applyMarkers'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),:-('/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,[]),C),D,D),'builtin#true'),'.'('builtin#varName'(::(D,E),!('Vis')),[])),'builtin#true'). :-('/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,[]),C),D,D),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'annotation#shrink'(:-('/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,'.'('/bootstrap#marker'(C,D),E)),F),G,H),','('builtin#if'(=(::(C,'cpi#path'),::(A,'cpi#path')),'/bootstrap#applyMarker'(D,G,I),=(::(I,'/bootstrap#visualization'),::(G,'/bootstrap#visualization'))),'/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,E),F),I,H)))),'.'('builtin#varName'(::(A,J),!('Path')),'.'('builtin#varName'(::(B,K),!('Term')),'.'('builtin#varName'(::(C,L),!('MPath')),'.'('builtin#varName'(::(D,M),!('Mark')),'.'('builtin#varName'(::(E,N),!('Markers')),'.'('builtin#varName'(::(F,O),!('Type')),'.'('builtin#varName'(::(G,P),!('Vis')),'.'('builtin#varName'(::(H,Q),!('MVis')),'.'('builtin#varName'(::(I,R),!('MVis1')),[])))))))))),'builtin#true'). :-('/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,'.'('/bootstrap#marker'(C,D),E)),F),G,H),','('builtin#if'(=(::(C,'cpi#path'),::(A,'cpi#path')),'/bootstrap#applyMarker'(D,G,I),=(::(I,'/bootstrap#visualization'),::(G,'/bootstrap#visualization'))),'/bootstrap#applyMarkers'(::('cpi#descriptor'(A,B,E),F),I,H))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'/bootstrap#signature'(::('/bootstrap#applyMarker'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('Mark')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#applyMarker'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),:-('/bootstrap#applyMarker'(A,B,C),'builtin#if'('/bootstrap#markerVisualization'(A,B,C),'builtin#true',=(::(C,'/bootstrap#visualization'),::(B,'/bootstrap#visualization')))),'.'('builtin#varName'(::(A,D),!('Mark')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). :-('/bootstrap#applyMarker'(A,B,C),'builtin#if'('/bootstrap#markerVisualization'(A,B,C),'builtin#true',=(::(C,'/bootstrap#visualization'),::(B,'/bootstrap#visualization')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'/bootstrap#signature'(::('/bootstrap#markerVis'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('Mark')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#markerVis'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'/bootstrap#signature'(::('/bootstrap#markerVisualization'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('Mark')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#markerVisualization'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#marker'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),~>('/bootstrap#markerVis'(A,B,C),:-('/bootstrap#markerVisualization'(A,B,C),'builtin#true')),'.'('builtin#varName'(::(A,D),!('Mark')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('MVis')),[])))),'builtin#true'). :-('/bootstrap#markerVisualization'(A,B,C),','('/bootstrap#markerVis'(A,B,C),'builtin#true')). :-('/bootstrap#markerVis'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),'/bootstrap#signature'(::('/bootstrap#checkError'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#error'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Error')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkError'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#error'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),:-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),'/bootstrap#checkError'(B,D)),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Error')),[]))))),'builtin#true'). :-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),'/bootstrap#checkError'(B,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/markers.ced'),:-('/bootstrap#checkError'(A,B),'builtin#fail'),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Error')),[]))),'builtin#true'). :-('/bootstrap#checkError'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#procedure','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#procedure','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#command','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#command','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#procedureCommand'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#procedure'),'.'(::(B,'/bootstrap#command'),[]))),!('Defines procedure Proc, by associating it to Command')),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#signature'(::('cpi#procedureCommand'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#procedure'),'.'(::(B,'/bootstrap#command'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('cpi#procedureCommand'(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(procedure))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(pred))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),[])))),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#projection'(::('cpi#procedureCommand'(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(procedure))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(pred))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#statement','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#statement','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('/bootstrap#procedure'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#procedure'),'.'(::(B,'/bootstrap#command'),[]))),!('Procedure definition in a statement')),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#procedure'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#procedure'),'.'(::(B,'/bootstrap#command'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#procedure'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(procedure))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),[])))),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#procedure'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(procedure))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('builtin#true','/bootstrap#pred'),[]),!('A goal that always succeeds')),[]),'builtin#true'). '/bootstrap#signature'(::('builtin#true','/bootstrap#pred'),[]). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),~>('/bootstrap#procedure'(A,B),:-('cpi#procedureCommand'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). :-('cpi#procedureCommand'(A,B),','('/bootstrap#procedure'(A,B),'builtin#true')). :-('/bootstrap#procedure'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('/bootstrap#function'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#ref'(B)),'.'(::(D,'/bootstrap#command'),[]))))),!('A procedural function. Expr is a procedure that runs Command and then evaluates to Result of type T')),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Result')),'.'('builtin#varName'(::(D,H),!('Command')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#function'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#ref'(B)),'.'(::(D,'/bootstrap#command'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#function'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(function))),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(C,'/bootstrap#ref'(B))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#expr'(B))),[])))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/bootstrap#command')),[]))),[])))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Result')),'.'('builtin#varName'(::(D,H),!('Command')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#function'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(function))),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(C,'/bootstrap#ref'(B))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#expr'(B))),[])))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/bootstrap#command')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#ref'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#ref'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#func'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#expr'(C)),'.'(::(B,'/bootstrap#ref'(C)),'.'(::(C,'/bootstrap#type'),[])))),!('This is how a procedural function looks as a procedure')),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Result')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('cpi#func'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#expr'(C)),'.'(::(B,'/bootstrap#ref'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('cpi#func'(A,B,C),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(func))),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#vis'(::(B,'/bootstrap#ref'(C))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#expr'(C))),[]))))))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Result')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('cpi#func'(A,B,C),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!(func))),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#vis'(::(B,'/bootstrap#ref'(C))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(A,'/bootstrap#expr'(C))),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),~>('/bootstrap#function'(A,B,C,D),'/bootstrap#procedure'('cpi#func'(A,C,B),D)),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Result')),'.'('builtin#varName'(::(D,H),!('Command')),[]))))),'builtin#true'). :-('/bootstrap#procedure'('cpi#func'(A,B,C),D),','('/bootstrap#function'(A,C,B,D),'builtin#true')). :-('/bootstrap#function'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#typedTerm','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#typedTerm','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'annotation#comment'('/bootstrap#signature'(::('cpi#termClass'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),!('Associating a concept (represented by TTerm) with a Java class')),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('ClassName')),[]))),'builtin#true'). '/bootstrap#signature'(::('cpi#termClass'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defines'(:-('cpi#termClass'(A,B),C),A,'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,D),!('TTerm')),[])),'builtin#true'). '/bootstrap#defines'(:-('cpi#termClass'(A,B),C),A,'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#class'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('ClassName')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#class'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#commandClass'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#command'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Cmd')),'.'('builtin#varName'(::(B,D),!('ClassName')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#commandClass'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#command'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),~>('/bootstrap#commandClass'(A,B),:-('cpi#termClass'(::(A,'/bootstrap#command'),B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Cmd')),'.'('builtin#varName'(::(B,D),!('ClassName')),[]))),'builtin#true'). :-('cpi#termClass'(::(A,'/bootstrap#command'),B),','('/bootstrap#commandClass'(A,B),'builtin#true')). :-('/bootstrap#commandClass'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#doAll'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#list'('/bootstrap#command')),[])),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#doAll'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#list'('/bootstrap#command')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#doAll'(A),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(do))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#command')),'/bootstrap#vertical'('/bootstrap#symbol'(8594),'/bootstrap#label'(!('()')),'/bootstrap#horiz'([]))),[])))),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#doAll'(A),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(do))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#command')),'/bootstrap#vertical'('/bootstrap#symbol'(8594),'/bootstrap#label'(!('()')),'/bootstrap#horiz'([]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#doAll'(A),!('net.nansore.cedalion.cmd.DoAll')),[]),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#doAll'(A),!('net.nansore.cedalion.cmd.DoAll')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#assign'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#ref'(C)),'.'(::(B,'/bootstrap#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Ref')),'.'('builtin#varName'(::(B,E),!('Expr')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#assign'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#ref'(C)),'.'(::(B,'/bootstrap#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#assign'(A,B,C),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#ref'(C))),'.'('/bootstrap#label'(!(:=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'(C))),[])))))),'.'('builtin#varName'(::(A,D),!('Ref')),'.'('builtin#varName'(::(B,E),!('Expr')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#assign'(A,B,C),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#ref'(C))),'.'('/bootstrap#label'(!(:=)),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(B,'/bootstrap#expr'(C))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#assign'(A,B,C),!('net.nansore.cedalion.cmd.Assign')),[]),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#assign'(A,B,C),!('net.nansore.cedalion.cmd.Assign')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#doProc'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#procedure'),[])),'.'('builtin#varName'(::(A,B),!('Proc')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#doProc'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#procedure'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#doProc'(A),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(p))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))),'.'('builtin#varName'(::(A,B),!('Proc')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#doProc'(A),'/bootstrap#command'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(p))),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#doProc'(A),!('net.nansore.cedalion.cmd.DoProc')),[]),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#doProc'(A),!('net.nansore.cedalion.cmd.DoProc')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#fileContent','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#fileContent','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#readFile'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#fileContent'),[])))),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Namespace')),'.'('builtin#varName'(::(C,F),!('FileContent')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#readFile'(A,B,C),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#fileContent'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#readFile'(A,B,C),!('net.nansore.cedalion.cmd.ReadFile')),'.'('builtin#varName'(::(A,D),!('FileName')),'.'('builtin#varName'(::(B,E),!('Namespace')),'.'('builtin#varName'(::(C,F),!('FileContent')),[])))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#readFile'(A,B,C),!('net.nansore.cedalion.cmd.ReadFile')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#writeFile'(A,B),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#fileContent'),[]))),'.'('builtin#varName'(::(A,C),!('FileName')),'.'('builtin#varName'(::(B,D),!('FileContent')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#writeFile'(A,B),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#fileContent'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#writeFile'(A,B),!('net.nansore.cedalion.cmd.WriteFile')),'.'('builtin#varName'(::(A,C),!('FileName')),'.'('builtin#varName'(::(B,D),!('FileContent')),[]))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#writeFile'(A,B),!('net.nansore.cedalion.cmd.WriteFile')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#assignFinal'(A,B,C),'/bootstrap#command'),'.'(::(A,C),'.'(::(B,'/bootstrap#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Var')),'.'('builtin#varName'(::(B,E),!('Expr')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#assignFinal'(A,B,C),'/bootstrap#command'),'.'(::(A,C),'.'(::(B,'/bootstrap#expr'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#assignFinal'(A,B,C),!('net.nansore.cedalion.cmd.AssignFinal')),'.'('builtin#varName'(::(A,D),!('Var')),'.'('builtin#varName'(::(B,E),!('Expr')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#assignFinal'(A,B,C),!('net.nansore.cedalion.cmd.AssignFinal')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#dbInsert'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#dbInsert'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#dbInsert'(A),!('net.nansore.cedalion.cmd.DBInsert')),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#dbInsert'(A),!('net.nansore.cedalion.cmd.DBInsert')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#dbRemove'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#statement'),[])),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#dbRemove'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#statement'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#dbRemove'(A),!('net.nansore.cedalion.cmd.DBRemove')),'.'('builtin#varName'(::(A,B),!('Statement')),[])),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#dbRemove'(A),!('net.nansore.cedalion.cmd.DBRemove')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#number','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#number','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#varName','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#varName','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#termToString'(A,B,C,D,E),'/bootstrap#command'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(E,'/bootstrap#ref'('/bootstrap#string')),[])))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Depth')),'.'('builtin#varName'(::(D,I),!('NsList')),'.'('builtin#varName'(::(E,J),!('Str')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#termToString'(A,B,C,D,E),'/bootstrap#command'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(E,'/bootstrap#ref'('/bootstrap#string')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#termToString'(A,B,C,D,E),!('net.nansore.cedalion.cmd.TermToString')),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Depth')),'.'('builtin#varName'(::(D,I),!('NsList')),'.'('builtin#varName'(::(E,J),!('Str')),[])))))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#termToString'(A,B,C,D,E),!('net.nansore.cedalion.cmd.TermToString')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defAtom'(::('/bootstrap#namespacePair','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#namespacePair','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#stringToTerm'(A,B,C,D),'/bootstrap#command'),'.'(::(A,'/bootstrap#ref'('/bootstrap#string')),'.'(::(B,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,E),!('StringRef')),'.'('builtin#varName'(::(B,F),!('NsList')),'.'('builtin#varName'(::(C,G),!('TTerm')),'.'('builtin#varName'(::(D,H),!('VarNames')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#stringToTerm'(A,B,C,D),'/bootstrap#command'),'.'(::(A,'/bootstrap#ref'('/bootstrap#string')),'.'(::(B,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#stringToTerm'(A,B,C,D),!('net.nansore.cedalion.cmd.StringToTerm')),'.'('builtin#varName'(::(A,E),!('StringRef')),'.'('builtin#varName'(::(B,F),!('NsList')),'.'('builtin#varName'(::(C,G),!('TTerm')),'.'('builtin#varName'(::(D,H),!('VarNames')),[]))))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#stringToTerm'(A,B,C,D),!('net.nansore.cedalion.cmd.StringToTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#notify'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#notify'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#notify'(A),!('net.nansore.cedalion.cmd.Notify')),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#notify'(A),!('net.nansore.cedalion.cmd.Notify')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#writeTextFile'(A,B),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#string')),[]))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('Lines')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#writeTextFile'(A,B),'/bootstrap#command'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/bootstrap#string')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#commandClass'('/bootstrap#writeTextFile'(A,B),!('net.nansore.cedalion.cmd.WriteTextFile')),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('Lines')),[]))),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#writeTextFile'(A,B),!('net.nansore.cedalion.cmd.WriteTextFile')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#defines'(:-('cpi#procedureCommand'(A,B),C),::(A,'/bootstrap#procedure'),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,D),!('Proc')),[])),'builtin#true'). '/bootstrap#defines'(:-('cpi#procedureCommand'(A,B),C),::(A,'/bootstrap#procedure'),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#if'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#command'),'.'(::(C,'/bootstrap#command'),[])))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#if'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#command'),'.'(::(C,'/bootstrap#command'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#if'(A,B,C),'/bootstrap#procedure'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),'.'('/bootstrap#label'(!(else)),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#command')),[]))),[])))))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#if'(A,B,C),'/bootstrap#procedure'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[]))),'.'('/bootstrap#label'(!(else)),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#command')),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),:-('cpi#procedureCommand'('/bootstrap#if'(A,B,C),D),'builtin#if'(A,=(::(D,'/bootstrap#command'),::(B,'/bootstrap#command')),=(::(D,'/bootstrap#command'),::(C,'/bootstrap#command')))),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('Cmd')),[]))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#if'(A,B,C),D),'builtin#if'(A,=(::(D,'/bootstrap#command'),::(B,'/bootstrap#command')),=(::(D,'/bootstrap#command'),::(C,'/bootstrap#command')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#where'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#command'),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#where'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#command'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#where'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#command')),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#where'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#command')),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),:-('cpi#procedureCommand'('/bootstrap#where'(A,B),A),B),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#where'(A,B),A),B). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#disabled'('/bootstrap#deprecated'(::(:-('cpi#procedureCommand'(A,B),C),'/bootstrap#statement'))),[]),'builtin#true'). '/bootstrap#disabled'('/bootstrap#deprecated'(::(:-('cpi#procedureCommand'(A,B),C),'/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#deprecationReplacement'(:-('cpi#procedureCommand'(A,B),C),'/bootstrap#statement','/bootstrap#procedure'(A,'/bootstrap#doProc'('/bootstrap#where'(B,C)))),'.'('builtin#varName'(::(A,D),!('Proc')),'.'('builtin#varName'(::(B,E),!('Cmd')),'.'('builtin#varName'(::(C,F),!('Goal')),[])))),'builtin#true'). '/bootstrap#deprecationReplacement'(:-('cpi#procedureCommand'(A,B),C),'/bootstrap#statement','/bootstrap#procedure'(A,'/bootstrap#doProc'('/bootstrap#where'(B,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#signature'(::('/bootstrap#foreach'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#command'),[]))),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#foreach'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#command'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#projection'(::('/bootstrap#foreach'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('for each')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[])))))),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Command')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#foreach'(A,B),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('for each')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(B,'/bootstrap#command')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/procedure.ced'),'/bootstrap#procedure'('/bootstrap#foreach'(A,B),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'(C),'builtin#findall'(B,'/bootstrap#command',A,C)))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Command')),'.'('builtin#varName'(::(C,F),!('Commands')),[])))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#foreach'(A,B),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#doAll'(C),'builtin#findall'(B,'/bootstrap#command',A,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#checkSignature'(::('cpi#descriptor'(A,B,C),D),'.'(::(A,'cpi#path'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),[])))),'builtin#true'),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('Term')),'.'('builtin#varName'(::(C,G),!('Markers')),'.'('builtin#varName'(::(D,H),!('Type')),[]))))),'builtin#true'). :-('/bootstrap#checkSignature'(::('cpi#descriptor'(A,B,C),D),'.'(::(A,'cpi#path'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),[])))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('cpi#visualizeDescriptor'(::('cpi#descriptor'(A,B,C),D),E,F),','('/bootstrap#fixType'(::(D,'/bootstrap#type'),::(G,'/bootstrap#type')),','('cpi#termAtPath'(A,::(B,G),H),','('/bootstrap#true'('/bootstrap#applyCheckers'(::('cpi#descriptor'(A,B,C),G),::(B,G),H,I)),','('builtin#if'('builtin#var'(::(B,G)),'/bootstrap#visualizeVar'(::(B,G),H,J),'builtin#if'('builtin#number'(::(B,G)),'/bootstrap#visualizeNumber'(::(B,G),J),'builtin#if'('builtin#string'(::(B,G)),'/bootstrap#visualizeString'(::(B,G),J),'/bootstrap#visualizeCompound'(I,::(B,G),E,J)))),'/bootstrap#true'('/bootstrap#applyMarkers'(I,J,F))))))),'.'('builtin#varName'(::(A,K),!('Path')),'.'('builtin#varName'(::(B,L),!('Term')),'.'('builtin#varName'(::(C,M),!('Markers')),'.'('builtin#varName'(::(D,N),!('Type1')),'.'('builtin#varName'(::(E,O),!('ProjType')),'.'('builtin#varName'(::(F,P),!('MVis')),'.'('builtin#varName'(::(G,Q),!('Type')),'.'('builtin#varName'(::(H,R),!('VarNames')),'.'('builtin#varName'(::(I,S),!('Desc')),'.'('builtin#varName'(::(J,T),!('Vis')),[]))))))))))),'builtin#true'). :-('cpi#visualizeDescriptor'(::('cpi#descriptor'(A,B,C),D),E,F),','('/bootstrap#fixType'(::(D,'/bootstrap#type'),::(G,'/bootstrap#type')),','('cpi#termAtPath'(A,::(B,G),H),','('/bootstrap#true'('/bootstrap#applyCheckers'(::('cpi#descriptor'(A,B,C),G),::(B,G),H,I)),','('builtin#if'('builtin#var'(::(B,G)),'/bootstrap#visualizeVar'(::(B,G),H,J),'builtin#if'('builtin#number'(::(B,G)),'/bootstrap#visualizeNumber'(::(B,G),J),'builtin#if'('builtin#string'(::(B,G)),'/bootstrap#visualizeString'(::(B,G),J),'/bootstrap#visualizeCompound'(I,::(B,G),E,J)))),'/bootstrap#true'('/bootstrap#applyMarkers'(I,J,F))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#visualizeNumber'(::(A,B),'/bootstrap#label'(A)),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Num')),[])),'builtin#true'). :-('/bootstrap#visualizeNumber'(::(A,B),'/bootstrap#label'(A)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#visualizeString'(::(A,B),'/bootstrap#color'('/bootstrap#label'(A),'cpi#rgb'(255,0,128))),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Str')),[])),'builtin#true'). :-('/bootstrap#visualizeString'(::(A,B),'/bootstrap#color'('/bootstrap#label'(A),'cpi#rgb'(255,0,128))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#visualizeCompound'(A,::(B,C),D,E),','('/bootstrap#true'('builtin#parseTerm'(::(B,C),F,G)),','('/bootstrap#true'('/bootstrap#subDescriptors'(A,0,G,H)),','('/bootstrap#true'('builtin#parseTerm'(::(I,C),F,H)),'/bootstrap#true'('/bootstrap#visualizeTerm'(::(I,C),D,E)))))),'.'('builtin#varName'(::(A,J),!('Desc')),'.'('builtin#varName'(::(B,K),!('Term')),'.'('builtin#varName'(::(C,L),!('Type')),'.'('builtin#varName'(::(D,M),!('ProjType')),'.'('builtin#varName'(::(E,N),!('Vis')),'.'('builtin#varName'(::(F,O),!('Func')),'.'('builtin#varName'(::(G,P),!('TArgs')),'.'('builtin#varName'(::(H,Q),!('SubDescs')),'.'('builtin#varName'(::(I,R),!('Term2Vis')),[])))))))))),'builtin#true'). :-('/bootstrap#visualizeCompound'(A,::(B,C),D,E),','('/bootstrap#true'('builtin#parseTerm'(::(B,C),F,G)),','('/bootstrap#true'('/bootstrap#subDescriptors'(A,0,G,H)),','('/bootstrap#true'('builtin#parseTerm'(::(I,C),F,H)),'/bootstrap#true'('/bootstrap#visualizeTerm'(::(I,C),D,E)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#doc'(!('List is a list of elements such as Element, for every result of Goal'),'/bootstrap#signature'(::('builtin#findall'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#list'(B)),[])))))),'.'('builtin#varName'(::(A,E),!('Element')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('Goal')),'.'('builtin#varName'(::(D,H),!('List')),[]))))),'builtin#true'). '/bootstrap#doc'(!('List is a list of elements such as Element, for every result of Goal'),'/bootstrap#signature'(::('builtin#findall'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#list'(B)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#projection'(::('builtin#findall'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Find all')),'.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!('of type')),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('such that')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(D,'/bootstrap#list'(B))),[])))))))))),'.'('builtin#varName'(::(A,E),!('Element')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('Goal')),'.'('builtin#varName'(::(D,H),!('List')),[]))))),'builtin#true'). '/bootstrap#projection'(::('builtin#findall'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Find all')),'.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!('of type')),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('such that')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(D,'/bootstrap#list'(B))),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#applyCheckers'(::('cpi#descriptor'(A,B,C),D),E,F,::('cpi#descriptor'(A,B,G),D)),','('builtin#findall'(H,'/bootstrap#locMarker','/bootstrap#check'(A,E,F,H),I),'/bootstrap#append'(C,I,G,'/bootstrap#locMarker'))),'.'('builtin#varName'(::(A,J),!('Path')),'.'('builtin#varName'(::(B,K),!('Term')),'.'('builtin#varName'(::(C,L),!('OldMarkers')),'.'('builtin#varName'(::(D,M),!('Type')),'.'('builtin#varName'(::(E,N),!('TTerm')),'.'('builtin#varName'(::(F,O),!('VarNames')),'.'('builtin#varName'(::(G,P),!('Markers')),'.'('builtin#varName'(::(H,Q),!('Marker')),'.'('builtin#varName'(::(I,R),!('NewMarkers')),[])))))))))),'builtin#true'). :-('/bootstrap#applyCheckers'(::('cpi#descriptor'(A,B,C),D),E,F,::('cpi#descriptor'(A,B,G),D)),','('builtin#findall'(H,'/bootstrap#locMarker','/bootstrap#check'(A,E,F,H),I),'/bootstrap#append'(C,I,G,'/bootstrap#locMarker'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#subDescriptors'(A,B,[],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#subDescriptors'(A,B,[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#subDescriptors'(::('cpi#descriptor'('cpi#path'(A,B),C,D),E),F,'.'(::(G,H),I),'.'(::('cpi#descriptor'('cpi#path'(A,J),K,L),H),M)),','('builtin#succ'(F,N),','('/bootstrap#append'(B,'.'(N,[]),J,O),','('/bootstrap#markersForPath'(D,'cpi#path'(A,J),L,P),'/bootstrap#subDescriptors'(::('cpi#descriptor'('cpi#path'(A,B),C,P),E),N,I,M))))),'.'('builtin#varName'(::(A,Q),!('Res')),'.'('builtin#varName'(::(B,R),!('Path')),'.'('builtin#varName'(::(C,S),!('Term')),'.'('builtin#varName'(::(D,T),!('Markers')),'.'('builtin#varName'(::(E,U),!('Type')),'.'('builtin#varName'(::(F,V),!('BeforeIndex')),'.'('builtin#varName'(::(G,W),!('_Arg')),'.'('builtin#varName'(::(H,X),!('ArgType')),'.'('builtin#varName'(::(I,Y),!('TArgs')),'.'('builtin#varName'(::(J,Z),!('NewPath')),'.'('builtin#varName'(::(K,A1),!('_DummyArg')),'.'('builtin#varName'(::(L,B1),!('MarkersForPath')),'.'('builtin#varName'(::(M,C1),!('SubDescs')),'.'('builtin#varName'(::(N,D1),!('Index')),'.'('builtin#varName'(::(P,E1),!('MarkersLeft')),[])))))))))))))))),'builtin#true'). :-('/bootstrap#subDescriptors'(::('cpi#descriptor'('cpi#path'(A,B),C,D),E),F,'.'(::(G,H),I),'.'(::('cpi#descriptor'('cpi#path'(A,J),K,L),H),M)),','('builtin#succ'(F,N),','('/bootstrap#append'(B,'.'(N,[]),J,O),','('/bootstrap#markersForPath'(D,'cpi#path'(A,J),L,P),'/bootstrap#subDescriptors'(::('cpi#descriptor'('cpi#path'(A,B),C,P),E),N,I,M))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#pathIsPrefix'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('BasePath')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#pathIsPrefix'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#pathIsPrefix'('cpi#path'(A,[]),'cpi#path'(A,B)),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Res')),[])),'builtin#true'). :-('/bootstrap#pathIsPrefix'('cpi#path'(A,[]),'cpi#path'(A,B)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#pathIsPrefix'('cpi#path'(A,'.'(B,C)),'cpi#path'(A,'.'(B,D))),'/bootstrap#pathIsPrefix'('cpi#path'(A,C),'cpi#path'(A,D))),'.'('builtin#varName'(::(A,E),!('Res')),'.'('builtin#varName'(::(B,F),!('First')),'.'('builtin#varName'(::(C,G),!('Base')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). :-('/bootstrap#pathIsPrefix'('cpi#path'(A,'.'(B,C)),'cpi#path'(A,'.'(B,D))),'/bootstrap#pathIsPrefix'('cpi#path'(A,C),'cpi#path'(A,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#visualizeTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm2Vis')),'.'('builtin#varName'(::(B,E),!('ProjType')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#visualizeTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#visualizeTerm'(A,B,C),'builtin#if'('/bootstrap#userVisualization'(A,B,[],C),'builtin#true','builtin#if'('/bootstrap#userVisualization'(A,D,[],C),'builtin#true','/bootstrap#defaultVisualization'(A,C)))),'.'('builtin#varName'(::(A,E),!('TTerm2Vis')),'.'('builtin#varName'(::(B,F),!('ProjType')),'.'('builtin#varName'(::(C,G),!('Vis')),[])))),'builtin#true'). :-('/bootstrap#visualizeTerm'(A,B,C),'builtin#if'('/bootstrap#userVisualization'(A,B,[],C),'builtin#true','builtin#if'('/bootstrap#userVisualization'(A,D,[],C),'builtin#true','/bootstrap#defaultVisualization'(A,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#defaultVisualization'(A,B),','('builtin#parseTerm'(A,C,D),','('builtin#if'('/bootstrap#localName'(C,E),'builtin#true',=(::(E,'/bootstrap#string'),::(C,'/bootstrap#string'))),'builtin#if'(=(::(D,'/bootstrap#list'('cpi#path')),::([],'/bootstrap#list'('cpi#path'))),=(::(B,'/bootstrap#visualization'),::('/bootstrap#label'(E),'/bootstrap#visualization')),','('/bootstrap#argListForPathList'(D,F),=(::(B,'/bootstrap#visualization'),::('/bootstrap#horiz'('.'('/bootstrap#label'(E),'.'('/bootstrap#brackets'('/bootstrap#horiz'(F),40,41),[]))),'/bootstrap#visualization'))))))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('Vis')),'.'('builtin#varName'(::(C,I),!('Func')),'.'('builtin#varName'(::(D,J),!('SubPaths')),'.'('builtin#varName'(::(E,K),!('LFunc')),'.'('builtin#varName'(::(F,L),!('ArgList')),[]))))))),'builtin#true'). :-('/bootstrap#defaultVisualization'(A,B),','('builtin#parseTerm'(A,C,D),','('builtin#if'('/bootstrap#localName'(C,E),'builtin#true',=(::(E,'/bootstrap#string'),::(C,'/bootstrap#string'))),'builtin#if'(=(::(D,'/bootstrap#list'('cpi#path')),::([],'/bootstrap#list'('cpi#path'))),=(::(B,'/bootstrap#visualization'),::('/bootstrap#label'(E),'/bootstrap#visualization')),','('/bootstrap#argListForPathList'(D,F),=(::(B,'/bootstrap#visualization'),::('/bootstrap#horiz'('.'('/bootstrap#label'(E),'.'('/bootstrap#brackets'('/bootstrap#horiz'(F),40,41),[]))),'/bootstrap#visualization'))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#argListForPathList'('.'(A,[]),'.'('/bootstrap#vis'(A),[])),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Path')),[])),'builtin#true'). :-('/bootstrap#argListForPathList'('.'(A,[]),'.'('/bootstrap#vis'(A),[])),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#argListForPathList'('.'(A,B),'.'('/bootstrap#vis'(A),'.'('/bootstrap#label'(!(',')),C))),'/bootstrap#argListForPathList'(B,C)),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('ArgList')),[])))),'builtin#true'). :-('/bootstrap#argListForPathList'('.'(A,B),'.'('/bootstrap#vis'(A),'.'('/bootstrap#label'(!(',')),C))),'/bootstrap#argListForPathList'(B,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#localName'(A,B),','('builtin#charCodes'(A,C),','('/bootstrap#append'(D,'.'(35,E),C,F),'builtin#charCodes'(B,E)))),'.'('builtin#varName'(::(A,G),!('Func')),'.'('builtin#varName'(::(B,H),!('LFunc')),'.'('builtin#varName'(::(C,I),!('Codes')),'.'('builtin#varName'(::(D,J),!('PrefCodes')),'.'('builtin#varName'(::(E,K),!('LocalCodes')),[])))))),'builtin#true'). :-('/bootstrap#localName'(A,B),','('builtin#charCodes'(A,C),','('/bootstrap#append'(D,'.'(35,E),C,F),'builtin#charCodes'(B,E)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#append'([],A,A,B),'builtin#true'),'.'('builtin#varName'(::(A,C),!('B')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/bootstrap#append'([],A,A,B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#append'('.'(A,B),C,'.'(A,D),E),'/bootstrap#append'(B,C,D,E)),'.'('builtin#varName'(::(A,F),!('X')),'.'('builtin#varName'(::(B,G),!('A')),'.'('builtin#varName'(::(C,H),!('B')),'.'('builtin#varName'(::(D,I),!('L')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). :-('/bootstrap#append'('.'(A,B),C,'.'(A,D),E),'/bootstrap#append'(B,C,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ProjType')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#projection'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#mode')),'.'('/bootstrap#symbol'(8608),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[]))))))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ProjType')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#mode')),'.'('/bootstrap#symbol'(8608),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#alias'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),!(@->>)),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ProjType')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#projection'(A,B,C),'/bootstrap#statement'),!(@->>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#defines'('/bootstrap#projection'(A,B,C),A,'/bootstrap#projectionDefinition'),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ProjType')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#defines'('/bootstrap#projection'(A,B,C),A,'/bootstrap#projectionDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#doc'(!('The default visualization mode'),'/bootstrap#signature'(::('cpi#default','/bootstrap#mode'),[])),[]),'builtin#true'). '/bootstrap#doc'(!('The default visualization mode'),'/bootstrap#signature'(::('cpi#default','/bootstrap#mode'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),~>('/bootstrap#projection'(A,B),:-('/bootstrap#userVisualization'(A,'cpi#default',C,B),'builtin#true')),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Vis')),[]))),'builtin#true'). :-('/bootstrap#userVisualization'(A,'cpi#default',B,C),','('/bootstrap#projection'(A,C),'builtin#true')). :-('/bootstrap#projection'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),~>('/bootstrap#projection'(A,B,C),:-('/bootstrap#userVisualization'(A,B,D,C),'builtin#true')),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('ProjType')),'.'('builtin#varName'(::(C,G),!('Vis')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(A,B,C,D),','('/bootstrap#projection'(A,B,D),'builtin#true')). :-('/bootstrap#projection'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#userVisualization'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#list'('/bootstrap#mode')),'.'(::(D,'/bootstrap#visualization'),[]))))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('ProjType')),'.'('builtin#varName'(::(C,G),!('Hist')),'.'('builtin#varName'(::(D,H),!('VisNew')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#userVisualization'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),'.'(::(C,'/bootstrap#list'('/bootstrap#mode')),'.'(::(D,'/bootstrap#visualization'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),~>('/bootstrap#asProjection'(A,B,C,D),:-('/bootstrap#userVisualization'(E,D,F,C),','(\+('/bootstrap#listMember'(B,'/bootstrap#projectionType',F)),'/bootstrap#userVisualization'(E,B,'.'(B,F),A)))),'.'('builtin#varName'(::(A,G),!('VisOrig')),'.'('builtin#varName'(::(B,H),!('ProjOrig')),'.'('builtin#varName'(::(C,I),!('VisNew')),'.'('builtin#varName'(::(D,J),!('ProjNew')),'.'('builtin#varName'(::(E,K),!('TTerm')),'.'('builtin#varName'(::(F,L),!('Hist')),[]))))))),'builtin#true'). :-('/bootstrap#userVisualization'(A,B,C,D),','('/bootstrap#asProjection'(E,F,D,B),','(\+('/bootstrap#listMember'(F,'/bootstrap#projectionType',C)),'/bootstrap#userVisualization'(A,F,'.'(F,C),E)))). :-('/bootstrap#asProjection'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#checkSignature'(::('cpi#immediateDescriptor'(A,B),C),'.'(::(A,C),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). :-('/bootstrap#checkSignature'(::('cpi#immediateDescriptor'(A,B),C),'.'(::(A,C),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('cpi#visualizeDescriptor'(::('cpi#immediateDescriptor'(A,B),C),D,E),','('/bootstrap#fixType'(::(C,'/bootstrap#type'),::(F,'/bootstrap#type')),'builtin#if'('builtin#var'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeVar'(::(A,F),B,E)),'builtin#if'('builtin#number'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeNumber'(::(A,F),E)),'builtin#if'('builtin#string'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeString'(::(A,F),E)),'/bootstrap#true'('/bootstrap#visualizeCompound'(::('cpi#immediateDescriptor'(A,B),F),::(A,F),D,E))))))),'.'('builtin#varName'(::(A,G),!('Term')),'.'('builtin#varName'(::(B,H),!('VarNames')),'.'('builtin#varName'(::(C,I),!('Type1')),'.'('builtin#varName'(::(D,J),!('ProjType')),'.'('builtin#varName'(::(E,K),!('Vis')),'.'('builtin#varName'(::(F,L),!('Type')),[]))))))),'builtin#true'). :-('cpi#visualizeDescriptor'(::('cpi#immediateDescriptor'(A,B),C),D,E),','('/bootstrap#fixType'(::(C,'/bootstrap#type'),::(F,'/bootstrap#type')),'builtin#if'('builtin#var'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeVar'(::(A,F),B,E)),'builtin#if'('builtin#number'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeNumber'(::(A,F),E)),'builtin#if'('builtin#string'(::(A,F)),'/bootstrap#true'('/bootstrap#visualizeString'(::(A,F),E)),'/bootstrap#true'('/bootstrap#visualizeCompound'(::('cpi#immediateDescriptor'(A,B),F),::(A,F),D,E))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#subDescriptors'(::('cpi#immediateDescriptor'(A,B),C),D,'.'(::(E,F),G),'.'(::('cpi#immediateDescriptor'(E,H),F),I)),','('/bootstrap#true'('builtin#succ'(D,J)),','('/bootstrap#true'('/bootstrap#selectVarNamesFor'(::(E,F),B,H)),'/bootstrap#true'('/bootstrap#subDescriptors'(::('cpi#immediateDescriptor'(A,B),C),J,G,I))))),'.'('builtin#varName'(::(A,K),!('Term')),'.'('builtin#varName'(::(B,L),!('VarNames')),'.'('builtin#varName'(::(C,M),!('Type')),'.'('builtin#varName'(::(D,N),!('BeforeFirst')),'.'('builtin#varName'(::(E,O),!('SubTerm')),'.'('builtin#varName'(::(F,P),!('SubType')),'.'('builtin#varName'(::(G,Q),!('TArgs')),'.'('builtin#varName'(::(H,R),!('VarNames1')),'.'('builtin#varName'(::(I,S),!('SubDescs')),'.'('builtin#varName'(::(J,T),!('First')),[]))))))))))),'builtin#true'). :-('/bootstrap#subDescriptors'(::('cpi#immediateDescriptor'(A,B),C),D,'.'(::(E,F),G),'.'(::('cpi#immediateDescriptor'(E,H),F),I)),','('/bootstrap#true'('builtin#succ'(D,J)),','('/bootstrap#true'('/bootstrap#selectVarNamesFor'(::(E,F),B,H)),'/bootstrap#true'('/bootstrap#subDescriptors'(::('cpi#immediateDescriptor'(A,B),C),J,G,I))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#isDescriptor'(::('cpi#immediateDescriptor'(A,B),C)),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#isDescriptor'(::('cpi#immediateDescriptor'(A,B),C)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#isDescriptor'(::('cpi#descriptor'(A,B,C),D)),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#isDescriptor'(::('cpi#descriptor'(A,B,C),D)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#fixType'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm1')),'.'('builtin#varName'(::(B,D),!('TTerm2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#fixType'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),'/bootstrap#signature'(::('/bootstrap#isDescriptor'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm1')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#isDescriptor'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#fixType'(A,B),'builtin#if'('builtin#compound'(A),'builtin#if'('/bootstrap#isDescriptor'(A),'/bootstrap#descriptorContent'(A,B,C),','('builtin#parseTerm'(A,D,E),','('/bootstrap#fixTypes'(E,F),'builtin#parseTerm'(B,D,F)))),'builtin#true')),'.'('builtin#varName'(::(A,G),!('TTerm1')),'.'('builtin#varName'(::(B,H),!('TTerm2')),'.'('builtin#varName'(::(D,I),!('Func')),'.'('builtin#varName'(::(E,J),!('Args')),'.'('builtin#varName'(::(F,K),!('FixedArgs')),[])))))),'builtin#true'). :-('/bootstrap#fixType'(A,B),'builtin#if'('builtin#compound'(A),'builtin#if'('/bootstrap#isDescriptor'(A),'/bootstrap#descriptorContent'(A,B,C),','('builtin#parseTerm'(A,D,E),','('/bootstrap#fixTypes'(E,F),'builtin#parseTerm'(B,D,F)))),'builtin#true')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#fixTypes'([],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#fixTypes'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/projection.ced'),:-('/bootstrap#fixTypes'('.'(A,B),'.'(C,D)),','('/bootstrap#fixType'(A,C),'/bootstrap#fixTypes'(B,D))),'.'('builtin#varName'(::(A,E),!('TTerm1')),'.'('builtin#varName'(::(B,F),!('Args')),'.'('builtin#varName'(::(C,G),!('TTerm2')),'.'('builtin#varName'(::(D,H),!('FixedArgs')),[]))))),'builtin#true'). :-('/bootstrap#fixTypes'('.'(A,B),'.'(C,D)),','('/bootstrap#fixType'(A,C),'/bootstrap#fixTypes'(B,D))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#signature'(::('/bootstrap#rewriteToClause'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#statement')),[]))),'.'('builtin#varName'(::(A,C),!('Statement')),'.'('builtin#varName'(::(B,D),!('Clauses')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#rewriteToClause'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#list'('/bootstrap#statement')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'('/bootstrap#rewriteToClause'(A,[])),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#rewriteToClause'(A,[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'(A,'.'(B,[])))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'(A,'.'(B,[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'('/bootstrap#rewriteToClause'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),'.'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#rewriteToClause'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),'.'('/Functional#def'('/Functional#first'(A),'/bootstrap#statement',B),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),:-('/bootstrap#rewriteToClause'(A,[]),'builtin#var'(::(A,'/bootstrap#statement'))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). :-('/bootstrap#rewriteToClause'(A,[]),'builtin#var'(::(A,'/bootstrap#statement'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),:-('/bootstrap#rewriteToClause'(A,'.'(A,[])),','(\+('builtin#var'(::(A,'/bootstrap#statement'))),\+(=(::(A,'/bootstrap#statement'),::(~>(B,C),'/bootstrap#statement'))))),'.'('builtin#varName'(::(A,D),!('X')),[])),'builtin#true'). :-('/bootstrap#rewriteToClause'(A,'.'(A,[])),','(\+('builtin#var'(::(A,'/bootstrap#statement'))),\+(=(::(A,'/bootstrap#statement'),::(~>(B,C),'/bootstrap#statement'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'(~>('/bootstrap#foo','/bootstrap#bar'),'.'(~>('/bootstrap#foo','/bootstrap#bar'),[])))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/bootstrap#rewriteToClause'(~>('/bootstrap#foo','/bootstrap#bar'),'.'(~>('/bootstrap#foo','/bootstrap#bar'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo','/bootstrap#bar'),'annotation#comment'('.'('annotation#parentheses'(:-('/bootstrap#bar',','('/bootstrap#foo','builtin#true'))),'.'(:-('/bootstrap#foo','builtin#fail'),[])),!('Note that what we are doing here is not well-typed')))),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo','/bootstrap#bar'),'.'(:-('/bootstrap#bar',','('/bootstrap#foo','builtin#true')),'.'(:-('/bootstrap#foo','builtin#fail'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),:-('/bootstrap#rewriteToClause'(~>(A,B),'.'(:-(C,D),E)),','(\+('builtin#var'(::(A,'/bootstrap#statement'))),'/bootstrap#convertRewrite'(~>(A,B),C,D,E))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('Head')),'.'('builtin#varName'(::(D,I),!('Body')),'.'('builtin#varName'(::(E,J),!('Empties')),[])))))),'builtin#true'). :-('/bootstrap#rewriteToClause'(~>(A,B),'.'(:-(C,D),E)),','(\+('builtin#var'(::(A,'/bootstrap#statement'))),'/bootstrap#convertRewrite'(~>(A,B),C,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#defAtom'(::('/bootstrap#foo','/bootstrap#statement')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#foo','/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#defAtom'(::('/bootstrap#bar','/bootstrap#statement')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#bar','/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#defAtom'(::('/bootstrap#baz','/bootstrap#statement')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#baz','/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo',~>('/bootstrap#bar','/bootstrap#baz')),'annotation#changeMode'('.'(:-('/bootstrap#baz',','('/bootstrap#foo',','('/bootstrap#bar','builtin#true'))),'.'(:-('/bootstrap#foo','builtin#fail'),'.'(:-('/bootstrap#bar','builtin#fail'),[]))),'/bootstrap#vert'))),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo',~>('/bootstrap#bar','/bootstrap#baz')),'.'(:-('/bootstrap#baz',','('/bootstrap#foo',','('/bootstrap#bar','builtin#true'))),'.'(:-('/bootstrap#foo','builtin#fail'),'.'(:-('/bootstrap#bar','builtin#fail'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'annotation#shrink'('/bootstrap#signature'(::('/bootstrap#convertRewrite'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#list'('/bootstrap#statement')),[])))))),'.'('builtin#varName'(::(A,E),!('Rewrite')),'.'('builtin#varName'(::(B,F),!('Head')),'.'('builtin#varName'(::(C,G),!('Body')),'.'('builtin#varName'(::(D,H),!('Empties')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#convertRewrite'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#pred'),'.'(::(D,'/bootstrap#list'('/bootstrap#statement')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),:-('/bootstrap#convertRewrite'(A,B,C,D),'builtin#if'(=(::(A,'/bootstrap#statement'),::(~>(E,F),'/bootstrap#statement')),','('/bootstrap#convertRewrite'(F,B,G,H),','(=(::(C,'/bootstrap#pred'),::(','(E,G),'/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::('.'(:-(E,'builtin#fail'),H),'/bootstrap#list'('/bootstrap#statement'))))),'builtin#if'(=(::(A,'/bootstrap#statement'),::(:-(B,I),'/bootstrap#statement')),','(=(::(C,'/bootstrap#pred'),::(I,'/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::([],'/bootstrap#list'('/bootstrap#statement')))),','(=(::(B,'/bootstrap#pred'),::(A,'/bootstrap#pred')),','(=(::(C,'/bootstrap#pred'),::('builtin#true','/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::([],'/bootstrap#list'('/bootstrap#statement')))))))),'.'('builtin#varName'(::(A,J),!('Rewrite')),'.'('builtin#varName'(::(B,K),!('Head')),'.'('builtin#varName'(::(C,L),!('Body')),'.'('builtin#varName'(::(D,M),!('Empties')),'.'('builtin#varName'(::(E,N),!('A')),'.'('builtin#varName'(::(F,O),!('B')),'.'('builtin#varName'(::(G,P),!('BodyPrime')),'.'('builtin#varName'(::(H,Q),!('EmptiesPrime')),'.'('builtin#varName'(::(I,R),!('X')),[])))))))))),'builtin#true'). :-('/bootstrap#convertRewrite'(A,B,C,D),'builtin#if'(=(::(A,'/bootstrap#statement'),::(~>(E,F),'/bootstrap#statement')),','('/bootstrap#convertRewrite'(F,B,G,H),','(=(::(C,'/bootstrap#pred'),::(','(E,G),'/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::('.'(:-(E,'builtin#fail'),H),'/bootstrap#list'('/bootstrap#statement'))))),'builtin#if'(=(::(A,'/bootstrap#statement'),::(:-(B,I),'/bootstrap#statement')),','(=(::(C,'/bootstrap#pred'),::(I,'/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::([],'/bootstrap#list'('/bootstrap#statement')))),','(=(::(B,'/bootstrap#pred'),::(A,'/bootstrap#pred')),','(=(::(C,'/bootstrap#pred'),::('builtin#true','/bootstrap#pred')),=(::(D,'/bootstrap#list'('/bootstrap#statement')),::([],'/bootstrap#list'('/bootstrap#statement')))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/rewriteToClause.ced'),'/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo',:-('builtin#true','builtin#fail')),'.'(:-('builtin#true',','('/bootstrap#foo','builtin#fail')),'.'(:-('/bootstrap#foo','builtin#fail'),[])))),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#rewriteToClause'(~>('/bootstrap#foo',:-('builtin#true','builtin#fail')),'.'(:-('builtin#true',','('/bootstrap#foo','builtin#fail')),'.'(:-('/bootstrap#foo','builtin#fail'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sandbox.ced'),'/bootstrap#signature'(::('/bootstrap#sandbox'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#sandbox'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sandbox.ced'),'/bootstrap#projection'(::('/bootstrap#sandbox'(A),'/bootstrap#statement'),'/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'cpi#rgb'(255,255,128)),5,'cpi#rgb'(192,192,192))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#sandbox'(A),'/bootstrap#statement'),'/bootstrap#lineBorder'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'cpi#rgb'(255,255,128)),5,'cpi#rgb'(192,192,192))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sandbox.ced'),'/bootstrap#sandbox'(A),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#sandbox'(A). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sandbox.ced'),'/bootstrap#default'(::(::(A,B),'/bootstrap#typedTerm')),[]),'builtin#true'). '/bootstrap#default'(::(::(A,B),'/bootstrap#typedTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#set'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#set'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#set'(A,B),'/bootstrap#set'(C)),'.'(::(A,C),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Pred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#set'(A,B),'/bootstrap#set'(C)),'.'(::(A,C),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),[])),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#horiz'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#label'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#label'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#set'(A,B),'/bootstrap#set'(C)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'cpi#middle'),123,125)),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Pred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#set'(A,B),'/bootstrap#set'(C)),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))),'cpi#middle'),123,125)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#member'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Set')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#member'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),:-('/bootstrap#member'(A,'/bootstrap#set'(A,B),C),B),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Pred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/bootstrap#member'(A,'/bootstrap#set'(A,B),C),B). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#member'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8712),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Set')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#member'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8712),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#setDef'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Set')),'.'('builtin#varName'(::(B,E),!('Def')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#setDef'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#setDef'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8797),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('Set')),'.'('builtin#varName'(::(B,E),!('Def')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#setDef'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8797),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),[])),'cpi#top'),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),~>('/bootstrap#setDef'(A,B,C),:-('/bootstrap#member'(D,A,C),'/bootstrap#member'(D,B,C))),'.'('builtin#varName'(::(A,E),!('Set')),'.'('builtin#varName'(::(B,F),!('Def')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). :-('/bootstrap#member'(A,B,C),','('/bootstrap#setDef'(B,D,C),'/bootstrap#member'(A,D,C))). :-('/bootstrap#setDef'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#union'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))),'.'('builtin#varName'(::(A,D),!('S1')),'.'('builtin#varName'(::(B,E),!('S2')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#union'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#union'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#symbol'(8746),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('S1')),'.'('builtin#varName'(::(B,E),!('S2')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#union'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#symbol'(8746),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#setDef'('/bootstrap#union'(A,B),'/bootstrap#set'(C,'/bootstrap#or'('/bootstrap#member'(C,A,D),'/bootstrap#member'(C,B,D))),D),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('S2')),'.'('builtin#varName'(::(C,G),!('E')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#union'(A,B),'/bootstrap#set'(C,'/bootstrap#or'('/bootstrap#member'(C,A,D),'/bootstrap#member'(C,B,D))),D). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#intersect'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))),'.'('builtin#varName'(::(A,D),!('S1')),'.'('builtin#varName'(::(B,E),!('S2')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#intersect'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#intersect'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#symbol'(8745),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('S1')),'.'('builtin#varName'(::(B,E),!('S2')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#intersect'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#symbol'(8745),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#setDef'('/bootstrap#intersect'(A,B),'/bootstrap#set'(C,','('/bootstrap#member'(C,A,D),'/bootstrap#member'(C,B,D))),D),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('S2')),'.'('builtin#varName'(::(C,G),!('E')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#intersect'(A,B),'/bootstrap#set'(C,','('/bootstrap#member'(C,A,D),'/bootstrap#member'(C,B,D))),D). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#singleton'(A),'/bootstrap#set'(B)),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('S')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#singleton'(A),'/bootstrap#set'(B)),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#singleton'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),123,125)),'.'('builtin#varName'(::(A,C),!('S')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#singleton'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),123,125)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),:-('/bootstrap#member'(A,'/bootstrap#singleton'(A),B),'builtin#true'),'.'('builtin#varName'(::(A,C),!('E')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/bootstrap#member'(A,'/bootstrap#singleton'(A),B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#requires'('/bootstrap#signature'(::(A,'/bootstrap#set'(B)),C),:-('/bootstrap#member'(D,A,B),E)),'.'('builtin#varName'(::(A,F),!('S')),'.'('builtin#varName'(::(B,G),!('T')),[]))),'builtin#true'). '/bootstrap#requires'('/bootstrap#signature'(::(A,'/bootstrap#set'(B)),C),:-('/bootstrap#member'(D,A,B),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#listSet'(A),'/bootstrap#set'(B)),'.'(::(A,'/bootstrap#list'(B)),[])),'.'('builtin#varName'(::(A,C),!('L')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#listSet'(A),'/bootstrap#set'(B)),'.'(::(A,'/bootstrap#list'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#listSet'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'(B)),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!(' ')))),123,125)),'.'('builtin#varName'(::(A,C),!('L')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#listSet'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'(B)),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!(' ')))),123,125)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),:-('/bootstrap#member'(A,'/bootstrap#listSet'(B),C),'/bootstrap#listMember'(A,C,B)),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('L')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/bootstrap#member'(A,'/bootstrap#listSet'(B),C),'/bootstrap#listMember'(A,C,B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),'.'(::(A,'/bootstrap#set'(B)),[])),'.'('builtin#varName'(::(A,C),!('Set')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),'.'(::(A,'/bootstrap#set'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#set'(B))),40,41)),'.'('builtin#varName'(::(A,C),!('Set')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#set'(B))),40,41)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#alias'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),!('()')),'.'('builtin#varName'(::(A,C),!('Set')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#setParens'(A),'/bootstrap#set'(B)),!('()')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#setDef'('/bootstrap#setParens'(A),A,B),'.'('builtin#varName'(::(A,C),!('Set')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#setParens'(A),A,B). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#defines'(:-('/bootstrap#member'(A,B,C),D),::(B,'/bootstrap#set'(C)),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(B,E),!('Set')),'.'('builtin#varName'(::(C,F),!('T')),[]))),'builtin#true'). '/bootstrap#defines'(:-('/bootstrap#member'(A,B,C),D),::(B,'/bootstrap#set'(C)),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C)),'.'(::(A,'/bootstrap#set'(C)),'.'(::(B,'/bootstrap#set'(C)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#label'(!(\)),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#set'(C))),'.'('/bootstrap#label'(!(\)),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#setDef'('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C,','('/bootstrap#member'(C,A,D),'/bootstrap#notMember'(C,B,D))),D),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('X')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#setDef'('/bootstrap#diffSet'(A,B),'/bootstrap#set'(C,','('/bootstrap#member'(C,A,D),'/bootstrap#notMember'(C,B,D))),D). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#signature'(::('/bootstrap#notMember'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#notMember'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,'/bootstrap#set'(C)),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#projection'(::('/bootstrap#notMember'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#symbol'(8713),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[])))))),'.'('builtin#varName'(::(A,D),!('E')),'.'('builtin#varName'(::(B,E),!('Set')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#notMember'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#symbol'(8713),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'/bootstrap#type'))),'.'('/bootstrap#vis'(::(B,'/bootstrap#set'(C))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),:-('/bootstrap#notMember'(A,B,C),\+('/bootstrap#member'(A,B,C))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/bootstrap#notMember'(A,B,C),\+('/bootstrap#member'(A,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#disabled'('/bootstrap#deprecated'(::(\+('/bootstrap#member'(A,B,C)),'/bootstrap#pred'))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#deprecated'(::(\+('/bootstrap#member'(A,B,C)),'/bootstrap#pred'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/sets.ced'),'/bootstrap#disabled'('/bootstrap#deprecationReplacement'(\+('/bootstrap#member'(A,B,C)),'/bootstrap#pred','/bootstrap#notMember'(A,B,C))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#deprecationReplacement'(\+('/bootstrap#member'(A,B,C)),'/bootstrap#pred','/bootstrap#notMember'(A,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#signature'(::('/bootstrap#shortcutKey'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Command')),'.'('builtin#varName'(::(B,D),!('Key')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#shortcutKey'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#projection'(::('/bootstrap#shortcutKey'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('is shortcut for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Command')),'.'('builtin#varName'(::(B,D),!('Key')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#shortcutKey'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('is shortcut for')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#signature'(::('cpi#shortcutKey'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#procedure'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Key')),'.'('builtin#varName'(::(C,F),!('Procedure')),[])))),'builtin#true'). '/bootstrap#signature'(::('cpi#shortcutKey'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#procedure'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),~>('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),:-('/bootstrap#actionProc'(D,A,C,B,E),'builtin#true')),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('VarNames')),'.'('builtin#varName'(::(C,I),!('Path')),'.'('builtin#varName'(::(D,J),!('Action')),'.'('builtin#varName'(::(E,K),!('Procedure')),[])))))),'builtin#true'). :-('/bootstrap#actionProc'(A,B,C,D,E),','('/bootstrap#contextMenuEntry'(B,D,C,A,E,F),'builtin#true')). :-('/bootstrap#contextMenuEntry'(A,B,C,D,E,F),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#signature'(::('/bootstrap#actionProc'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#procedure'),[])))))),'.'('builtin#varName'(::(A,F),!('Action')),'.'('builtin#varName'(::(B,G),!('TTerm')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('VarNames')),'.'('builtin#varName'(::(E,J),!('Procedure')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#actionProc'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#procedure'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'annotation#shrink'(~>('/bootstrap#shortcutKey'(A,B),'annotation#shrink'(:-('cpi#shortcutKey'(::('cpi#descriptor'(C,D,E),F),B,G),','('cpi#termAtPath'(C,H,I),'/bootstrap#actionProc'(A,H,C,I,G)))))),'.'('builtin#varName'(::(A,J),!('Action')),'.'('builtin#varName'(::(B,K),!('Key')),'.'('builtin#varName'(::(C,L),!('Path')),'.'('builtin#varName'(::(F,M),!('Type')),'.'('builtin#varName'(::(G,N),!('Procedure')),'.'('builtin#varName'(::(H,O),!('TTerm')),'.'('builtin#varName'(::(I,P),!('VarNames')),[])))))))),'builtin#true'). :-('cpi#shortcutKey'(::('cpi#descriptor'(A,B,C),D),E,F),','('/bootstrap#shortcutKey'(G,E),','('cpi#termAtPath'(A,H,I),'/bootstrap#actionProc'(G,H,A,I,F)))). :-('/bootstrap#shortcutKey'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Insert'),!('Shift+Alt+Ins')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Insert'),!('Shift+Alt+Ins')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Append'),!('Alt+Ins')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Append'),!('Alt+Ins')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Delete'),!('Shift+Alt+Del')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Delete'),!('Shift+Alt+Del')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Paste'),!('Ctrl+Alt+V')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Paste'),!('Ctrl+Alt+V')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Show Definitions'),!('F8')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Show Definitions'),!('F8')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Undo'),!('Ctrl+Alt+Z')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Undo'),!('Ctrl+Alt+Z')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Redo'),!('Ctrl+Shift+Alt+Z')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Redo'),!('Ctrl+Shift+Alt+Z')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Cut'),!('Ctrl+Alt+X')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Cut'),!('Ctrl+Alt+X')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shortcutKey.ced'),'/bootstrap#shortcutKey'(!('Define projection'),!('F9')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Define projection'),!('F9')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#defAtom'(::('/bootstrap#shrink','/bootstrap#mode')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#shrink','/bootstrap#mode')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#disabled'('/bootstrap#projection'(::('annotation#shrink'('/bootstrap#signature'(A,B)),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm'))),[])))),[]))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('TArgs')),[]))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#signature'(A,B),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm'))),[])))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#disabled'('/bootstrap#projection'(::('annotation#shrink'('/bootstrap#projection'(A,B)),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(display)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[])))),[]))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Proj')),[]))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#projection'(A,B),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(display)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[])))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#projection'(::('annotation#shrink'('/bootstrap#unitTest'(A)),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#bold'('/bootstrap#label'(!('Unit Test:'))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),[])))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#bold'('/bootstrap#label'(!('Unit Test:'))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),~>('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(B,'.'(C,D)))),'/bootstrap#projection'(A,'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'(B,'.'(C,[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),D)),[]))))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('V1')),'.'('builtin#varName'(::(C,G),!('V2')),'.'('builtin#varName'(::(D,H),!('VPrime')),[]))))),'builtin#true'). :-('/bootstrap#projection'(A,'/bootstrap#shrink','/bootstrap#vert'('.'('/bootstrap#horiz'('.'(B,'.'(C,[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),D)),[])))),','('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(B,'.'(C,D)))),'builtin#true')). :-('/bootstrap#projection'(A,'/bootstrap#horiz'('.'(B,'.'(C,D)))),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#signature'(::('annotation#escape'('annotation#shrink'(A)),B),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#signature'(::('annotation#shrink'(A),B),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),'/bootstrap#projection'(::('annotation#escape'('annotation#shrink'(A)),B),'/bootstrap#horiz'('.'('cpi#vis'(::(A,B),'/bootstrap#shrink'),'.'('/bootstrap#halfSize'('/bootstrap#symbol'(8628)),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#projection'(::('annotation#shrink'(A),B),'/bootstrap#horiz'('.'('cpi#vis'(::(A,B),'/bootstrap#shrink'),'.'('/bootstrap#halfSize'('/bootstrap#symbol'(8628)),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/shrink.ced'),~>('/bootstrap#projection'(::(A,B),'/bootstrap#shrink',C),'/bootstrap#contextMenuEntry'(::(A,B),D,E,!('Shrink'),'cpi#edit'(E,::('annotation#escape'('annotation#shrink'(A)),B),D))),'.'('builtin#varName'(::(A,F),!('Term')),'.'('builtin#varName'(::(B,G),!('Type')),'.'('builtin#varName'(::(D,H),!('VNs')),'.'('builtin#varName'(::(E,I),!('Path')),[]))))),'builtin#true'). :-('/bootstrap#contextMenuEntry'(::(A,B),C,D,!('Shrink'),'cpi#edit'(D,::('annotation#shrink'(A),B),C)),','('/bootstrap#projection'(::(A,B),'/bootstrap#shrink',E),'builtin#true')). :-('/bootstrap#projection'(::(A,B),'/bootstrap#shrink',C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('/bootstrap#checkSignature'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#error'),[])))),'.'('builtin#varName'(::(A,D),!('THead')),'.'('builtin#varName'(::(B,E),!('TBody')),'.'('builtin#varName'(::(C,F),!('Error')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkSignature'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#error'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkSignature'(A,B,C),'builtin#fail'),'.'('builtin#varName'(::(A,D),!('THead')),'.'('builtin#varName'(::(B,E),!('TBody')),'.'('builtin#varName'(::(C,F),!('Error')),[])))),'builtin#true'). :-('/bootstrap#checkSignature'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('/bootstrap#signaturePlaceMismatch'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('TFirstInHead')),'.'('builtin#varName'(::(B,D),!('TFirstInBody')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#signaturePlaceMismatch'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#projection'(::('/bootstrap#signaturePlaceMismatch'(A,B),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('In a type signature, head and body arguments must appear in the same order:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(and)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[])))))),'.'('builtin#varName'(::(A,C),!('TFirstInHead')),'.'('builtin#varName'(::(B,D),!('TFirstInBody')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#signaturePlaceMismatch'(A,B),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('In a type signature, head and body arguments must appear in the same order:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(and)),'.'('/bootstrap#vis'(::(B,'/bootstrap#typedTerm')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'annotation#shrink'(:-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),'/bootstrap#signaturePlaceMismatch'(A,C)),\+('builtin#equals'(A,C)))),'.'('builtin#varName'(::(A,E),!('TFirstInHead')),'.'('builtin#varName'(::(C,F),!('TFirstInBody')),[]))),'builtin#true'). :-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),'/bootstrap#signaturePlaceMismatch'(A,C)),\+('builtin#equals'(A,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#defAtom'(::('/bootstrap#signatureSizeMismatch','/bootstrap#error')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#signatureSizeMismatch','/bootstrap#error')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#projection'(::('/bootstrap#signatureSizeMismatch','/bootstrap#error'),'/bootstrap#label'(!('The size of the signature head does not match the size of the body'))),[]),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#signatureSizeMismatch','/bootstrap#error'),'/bootstrap#label'(!('The size of the signature head does not match the size of the body'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkSignature'('.'(A,B),[],'/bootstrap#signatureSizeMismatch'),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#checkSignature'('.'(A,B),[],'/bootstrap#signatureSizeMismatch'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkSignature'([],'.'(A,B),'/bootstrap#signatureSizeMismatch'),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#checkSignature'([],'.'(A,B),'/bootstrap#signatureSizeMismatch'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('/bootstrap#nonVarInSignature'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TFirstInHead')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#nonVarInSignature'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#projection'(::('/bootstrap#nonVarInSignature'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('In a type signature, all head arguments must be variables:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))),'.'('builtin#varName'(::(A,B),!('TFirstInHead')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#nonVarInSignature'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('In a type signature, all head arguments must be variables:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),'/bootstrap#nonVarInSignature'(A)),\+('builtin#var'(A))),'.'('builtin#varName'(::(A,E),!('TFirstInHead')),'.'('builtin#varName'(::(C,F),!('TFirstInBody')),[]))),'builtin#true'). :-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),'/bootstrap#nonVarInSignature'(A)),\+('builtin#var'(A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('/bootstrap#signatureVarInBodyAndNotInHead'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TVar')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#signatureVarInBodyAndNotInHead'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#projection'(::('/bootstrap#signatureVarInBodyAndNotInHead'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('appears in the head but not in the body of a type signature')),[]))))),'.'('builtin#varName'(::(A,B),!('TVar')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#signatureVarInBodyAndNotInHead'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable')),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('appears in the head but not in the body of a type signature')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),D,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#signatureVarInBodyAndNotInHead'(E),D))),','(\+('builtin#var'(B)),'/bootstrap#varInVarNamesAndNotInTTerm'(D,B,E))),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('THead')),'.'('builtin#varName'(::(D,H),!('VarNames')),'.'('builtin#varName'(::(E,I),!('TVar')),[]))))),'builtin#true'). :-('/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),D,'/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#signatureVarInBodyAndNotInHead'(E),D))),','(\+('builtin#var'(B)),'/bootstrap#varInVarNamesAndNotInTTerm'(D,B,E))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('/bootstrap#varInVarNamesAndNotInTTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,D),!('VarNames')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('TVar')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varInVarNamesAndNotInTTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#varInVarNamesAndNotInTTerm'('.'('builtin#varName'(A,B),C),D,A),\+('/bootstrap#safeVarIn'(A,::(D,'/bootstrap#typedTerm')))),'.'('builtin#varName'(::(A,E),!('TVar')),'.'('builtin#varName'(::(D,F),!('TTerm')),[]))),'builtin#true'). :-('/bootstrap#varInVarNamesAndNotInTTerm'('.'('builtin#varName'(A,B),C),D,A),\+('/bootstrap#safeVarIn'(A,::(D,'/bootstrap#typedTerm')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#varInVarNamesAndNotInTTerm'('.'(A,B),C,D),'/bootstrap#varInVarNamesAndNotInTTerm'(B,C,D)),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('TTerm')),'.'('builtin#varName'(::(D,G),!('TVar')),[])))),'builtin#true'). :-('/bootstrap#varInVarNamesAndNotInTTerm'('.'(A,B),C,D),'/bootstrap#varInVarNamesAndNotInTTerm'(B,C,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),E),'/bootstrap#checkSignature'(B,D,E)),'.'('builtin#varName'(::(B,F),!('THead')),'.'('builtin#varName'(::(D,G),!('TBody')),'.'('builtin#varName'(::(E,H),!('Error')),[])))),'builtin#true'). :-('/bootstrap#checkSignature'('.'(A,B),'.'(C,D),E),'/bootstrap#checkSignature'(B,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#signature'(::('builtin#removeAnnotations'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('WithAnnot')),'.'('builtin#varName'(::(B,D),!('WithoutAnnot')),[]))),'builtin#true'). '/bootstrap#signature'(::('builtin#removeAnnotations'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),:-('/bootstrap#checkError'(::(A,'/bootstrap#statement'),B),','('builtin#removeAnnotations'(::(A,'/bootstrap#statement'),::('/bootstrap#signature'(C,D),'/bootstrap#statement')),','(\+('builtin#var'(C)),','('builtin#parseTerm'(C,E,F),'/bootstrap#checkSignature'(F,D,B))))),'.'('builtin#varName'(::(A,G),!('S')),'.'('builtin#varName'(::(B,H),!('Error')),'.'('builtin#varName'(::(C,I),!('TTerm')),'.'('builtin#varName'(::(D,J),!('TBody')),'.'('builtin#varName'(::(F,K),!('THead')),[])))))),'builtin#true'). :-('/bootstrap#checkError'(::(A,'/bootstrap#statement'),B),','('builtin#removeAnnotations'(::(A,'/bootstrap#statement'),::('/bootstrap#signature'(C,D),'/bootstrap#statement')),','(\+('builtin#var'(C)),','('builtin#parseTerm'(C,E,F),'/bootstrap#checkSignature'(F,D,B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureCheck.ced'),'/bootstrap#solution'('/bootstrap#typesNotFullyInstantiated'(A,B),C,'cpi#edit'(B,::(A,'/bootstrap#statement'),C)),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#solution'('/bootstrap#typesNotFullyInstantiated'(A,B),C,'cpi#edit'(B,::(A,'/bootstrap#statement'),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#sigProj'(::('/bootstrap#sigProj'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#visualization'),[]))),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('display as')),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[]))),[]))),[]))),[])))),'.'('builtin#varName'(::(A,D),!('H')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('P')),[])))),'builtin#true'). '/bootstrap#sigProj'(::('/bootstrap#sigProj'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#visualization'),[]))),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('display as')),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[]))),[]))),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),~>('/bootstrap#sigProj'(A,B,C),'/bootstrap#signature'(A,B)),'.'('builtin#varName'(::(A,D),!('H')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('P')),[])))),'builtin#true'). :-('/bootstrap#signature'(A,B),','('/bootstrap#sigProj'(A,B,C),'builtin#true')). :-('/bootstrap#sigProj'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),~>('/bootstrap#sigProj'(A,B,C),'/bootstrap#projection'(A,C)),'.'('builtin#varName'(::(A,D),!('H')),'.'('builtin#varName'(::(B,E),!('S')),'.'('builtin#varName'(::(C,F),!('P')),[])))),'builtin#true'). :-('/bootstrap#projection'(A,B),','('/bootstrap#sigProj'(A,C,B),'builtin#true')). :-('/bootstrap#sigProj'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,C),D)),'/bootstrap#list'('/bootstrap#statement')),E,F,!('Unify signature and projection'),'cpi#edit'(F,::('.'('/bootstrap#sigProj'(A,B,C),D),'/bootstrap#list'('/bootstrap#statement')),E)),'.'('builtin#varName'(::(A,G),!('H')),'.'('builtin#varName'(::(B,H),!('S')),'.'('builtin#varName'(::(C,I),!('P')),'.'('builtin#varName'(::(D,J),!('Rest')),'.'('builtin#varName'(::(E,K),!('VNs')),'.'('builtin#varName'(::(F,L),!('Path')),[]))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,C),D)),'/bootstrap#list'('/bootstrap#statement')),E,F,!('Unify signature and projection'),'cpi#edit'(F,::('.'('/bootstrap#sigProj'(A,B,C),D),'/bootstrap#list'('/bootstrap#statement')),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),:-('/bootstrap#check'(A,::('/bootstrap#sigProj'(B,C,D),'/bootstrap#statement'),E,F),'/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),E,F)),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(B,H),!('H')),'.'('builtin#varName'(::(C,I),!('S')),'.'('builtin#varName'(::(D,J),!('P')),'.'('builtin#varName'(::(E,K),!('VNs')),'.'('builtin#varName'(::(F,L),!('Marker')),[]))))))),'builtin#true'). :-('/bootstrap#check'(A,::('/bootstrap#sigProj'(B,C,D),'/bootstrap#statement'),E,F),'/bootstrap#check'(A,::('/bootstrap#signature'(B,C),'/bootstrap#statement'),E,F)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#sigProj'(A,B,C),D),'/bootstrap#list'('/bootstrap#statement')),E,F,!('Split definitions'),'cpi#edit'(F,::('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,C),D)),'/bootstrap#list'('/bootstrap#statement')),E)),'.'('builtin#varName'(::(A,G),!('H')),'.'('builtin#varName'(::(B,H),!('S')),'.'('builtin#varName'(::(C,I),!('P')),'.'('builtin#varName'(::(D,J),!('Rest')),'.'('builtin#varName'(::(E,K),!('VNs')),'.'('builtin#varName'(::(F,L),!('Path')),[]))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#sigProj'(A,B,C),D),'/bootstrap#list'('/bootstrap#statement')),E,F,!('Split definitions'),'cpi#edit'(F,::('.'('/bootstrap#signature'(A,B),'.'('/bootstrap#projection'(A,C),D)),'/bootstrap#list'('/bootstrap#statement')),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#signature'(::('/bootstrap#sigProjAtom'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('P')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#sigProjAtom'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#projection'(::('/bootstrap#sigProjAtom'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('display as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[]))),[]))),[])))),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('P')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#sigProjAtom'(A,B),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('display as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[]))),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),~>('/bootstrap#sigProjAtom'(A,B),'/bootstrap#defAtom'(A)),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('P')),[]))),'builtin#true'). :-('/bootstrap#defAtom'(A),','('/bootstrap#sigProjAtom'(A,B),'builtin#true')). :-('/bootstrap#sigProjAtom'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),~>('/bootstrap#sigProjAtom'(A,B),'/bootstrap#projection'(A,B)),'.'('builtin#varName'(::(A,C),!('H')),'.'('builtin#varName'(::(B,D),!('P')),[]))),'builtin#true'). :-('/bootstrap#projection'(A,B),','('/bootstrap#sigProjAtom'(A,B),'builtin#true')). :-('/bootstrap#sigProjAtom'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,B),C)),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Unify signature and projection'),'cpi#edit'(E,::('.'('/bootstrap#sigProjAtom'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D)),'.'('builtin#varName'(::(A,F),!('H')),'.'('builtin#varName'(::(B,G),!('P')),'.'('builtin#varName'(::(C,H),!('Rest')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,B),C)),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Unify signature and projection'),'cpi#edit'(E,::('.'('/bootstrap#sigProjAtom'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/signatureProjection.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#sigProjAtom'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Split definitions'),'cpi#edit'(E,::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,B),C)),'/bootstrap#list'('/bootstrap#statement')),D)),'.'('builtin#varName'(::(A,F),!('H')),'.'('builtin#varName'(::(B,G),!('P')),'.'('builtin#varName'(::(C,H),!('Rest')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#sigProjAtom'(A,B),C),'/bootstrap#list'('/bootstrap#statement')),D,E,!('Split definitions'),'cpi#edit'(E,::('.'('/bootstrap#defAtom'(A),'.'('/bootstrap#projection'(A,B),C)),'/bootstrap#list'('/bootstrap#statement')),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#signature'(::('/bootstrap#symbolRange'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('Label')),'.'('builtin#varName'(::(B,E),!('From')),'.'('builtin#varName'(::(C,F),!('To')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#symbolRange'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#projection'(::('/bootstrap#symbolRange'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Symbols')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('Range from')),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(to)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))),'.'('builtin#varName'(::(A,D),!('Label')),'.'('builtin#varName'(::(B,E),!('From')),'.'('builtin#varName'(::(C,F),!('To')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#symbolRange'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Symbols')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('Range from')),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(to)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#signature'(::('/bootstrap#showSymbols'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('Label')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showSymbols'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#signature'(::('/bootstrap#symbolsMenu'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#visualization'),[]))))),'.'('builtin#varName'(::(A,E),!('From')),'.'('builtin#varName'(::(B,F),!('To')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Symbols')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#symbolsMenu'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#visualization'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),:-('/bootstrap#symbolsMenu'(A,B,C,D),'builtin#if'(>(B,A),','('builtin#succ'(A,E),','('/bootstrap#symbolsMenu'(E,B,C,F),=(::(D,'/bootstrap#visualization'),::('/bootstrap#horiz'('.'('/bootstrap#action'('/bootstrap#symbol'(A),'cpi#edit'(C,::('/bootstrap#symbol'(A),'/bootstrap#visualization'),[])),'.'(F,[]))),'/bootstrap#visualization')))),=(::(D,'/bootstrap#visualization'),::('/bootstrap#action'('/bootstrap#symbol'(A),'cpi#edit'(C,::('/bootstrap#symbol'(A),'/bootstrap#visualization'),[])),'/bootstrap#visualization')))),'.'('builtin#varName'(::(A,G),!('From')),'.'('builtin#varName'(::(B,H),!('To')),'.'('builtin#varName'(::(C,I),!('Path')),'.'('builtin#varName'(::(D,J),!('Symbols')),'.'('builtin#varName'(::(E,K),!('Next')),'.'('builtin#varName'(::(F,L),!('MoreSymbols')),[]))))))),'builtin#true'). :-('/bootstrap#symbolsMenu'(A,B,C,D),'builtin#if'(>(B,A),','('builtin#succ'(A,E),','('/bootstrap#symbolsMenu'(E,B,C,F),=(::(D,'/bootstrap#visualization'),::('/bootstrap#horiz'('.'('/bootstrap#action'('/bootstrap#symbol'(A),'cpi#edit'(C,::('/bootstrap#symbol'(A),'/bootstrap#visualization'),[])),'.'(F,[]))),'/bootstrap#visualization')))),=(::(D,'/bootstrap#visualization'),::('/bootstrap#action'('/bootstrap#symbol'(A),'cpi#edit'(C,::('/bootstrap#symbol'(A),'/bootstrap#visualization'),[])),'/bootstrap#visualization')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),~>('/bootstrap#symbolRange'(A,B,C),:-('cpi#procedureCommand'('/bootstrap#showSymbols'(A,D),'/bootstrap#showView'(E)),'/bootstrap#symbolsMenu'(B,C,D,E))),'.'('builtin#varName'(::(A,F),!('Label')),'.'('builtin#varName'(::(B,G),!('From')),'.'('builtin#varName'(::(C,H),!('To')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('Symbols')),[])))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#showSymbols'(A,B),'/bootstrap#showView'(C)),','('/bootstrap#symbolRange'(A,D,E),'/bootstrap#symbolsMenu'(D,E,B,C))). :-('/bootstrap#symbolRange'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),B,C,D,'/bootstrap#showSymbols'(D,C)),'.'('builtin#varName'(::(C,E),!('Path')),'.'('builtin#varName'(::(D,F),!('Label')),[]))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),B,C,D,'/bootstrap#showSymbols'(D,C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Mathematical Symbols'),8704,8959),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Mathematical Symbols'),8704,8959). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Arrows'),8592,8703),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Arrows'),8592,8703). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Supplemental Mathematical Symbols'),10752,11007),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Supplemental Mathematical Symbols'),10752,11007). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Supplemental Arrows-A'),10224,10239),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Supplemental Arrows-A'),10224,10239). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Supplemental Arrows-B'),10496,10623),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Supplemental Arrows-B'),10496,10623). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('ASCII'),32,127),[]),'builtin#true'). '/bootstrap#symbolRange'(!('ASCII'),32,127). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Miscellaneous Mathematical Symbols-A'),10176,10223),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Miscellaneous Mathematical Symbols-A'),10176,10223). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Miscellaneous Mathematical Symbols-B'),10624,10751),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Miscellaneous Mathematical Symbols-B'),10624,10751). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Greek and Coptic'),880,1023),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Greek and Coptic'),880,1023). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Letterlike Symbols'),8448,8527),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Letterlike Symbols'),8448,8527). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#symbolRange'(!('Miscellaneous Symbols'),9728,9983),[]),'builtin#true'). '/bootstrap#symbolRange'(!('Miscellaneous Symbols'),9728,9983). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#symbol'(A),'.'(B,'.'('/bootstrap#symbol'(C),D))),'/bootstrap#list'('/bootstrap#visualization')),E,F,!('Create brackets'),'cpi#edit'(F,::('.'('/bootstrap#brackets'(B,A,C),D),'/bootstrap#list'('/bootstrap#visualization')),E)),'.'('builtin#varName'(::(A,G),!('Sym1')),'.'('builtin#varName'(::(B,H),!('Vis')),'.'('builtin#varName'(::(C,I),!('Sym2')),'.'('builtin#varName'(::(D,J),!('Res')),'.'('builtin#varName'(::(E,K),!('VNs')),'.'('builtin#varName'(::(F,L),!('Path')),[]))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#symbol'(A),'.'(B,'.'('/bootstrap#symbol'(C),D))),'/bootstrap#list'('/bootstrap#visualization')),E,F,!('Create brackets'),'cpi#edit'(F,::('.'('/bootstrap#brackets'(B,A,C),D),'/bootstrap#list'('/bootstrap#visualization')),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/symbol.ced'),'/bootstrap#contextMenuEntry'(::('.'('/bootstrap#brackets'(A,B,C),D),'/bootstrap#list'('/bootstrap#visualization')),E,F,!('Split brackets'),'cpi#edit'(F,::('.'('/bootstrap#symbol'(B),'.'(A,'.'('/bootstrap#symbol'(C),D))),'/bootstrap#list'('/bootstrap#visualization')),E)),'.'('builtin#varName'(::(A,G),!('Vis')),'.'('builtin#varName'(::(B,H),!('Sym1')),'.'('builtin#varName'(::(C,I),!('Sym2')),'.'('builtin#varName'(::(D,J),!('Res')),'.'('builtin#varName'(::(E,K),!('VNs')),'.'('builtin#varName'(::(F,L),!('Path')),[]))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'('/bootstrap#brackets'(A,B,C),D),'/bootstrap#list'('/bootstrap#visualization')),E,F,!('Split brackets'),'cpi#edit'(F,::('.'('/bootstrap#symbol'(B),'.'(A,'.'('/bootstrap#symbol'(C),D))),'/bootstrap#list'('/bootstrap#visualization')),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#signature'(::('builtin#rawTermToString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Str')),[]))),'builtin#true'). '/bootstrap#signature'(::('builtin#rawTermToString'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#unitTest'('builtin#rawTermToString'(::(A,B),!('A'))),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#rawTermToString'(::(A,B),!('A'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#unitTest'(','('builtin#rawTermToString'(::(:-('builtin#fail','builtin#true'),'/bootstrap#statement'),A),'builtin#equals'(::(A,'/bootstrap#string'),::(!(':-(\'builtin#fail\',\'builtin#true\')'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#unitTest'(','('builtin#rawTermToString'(::(:-('builtin#fail','builtin#true'),'/bootstrap#statement'),A),'builtin#equals'(::(A,'/bootstrap#string'),::(!(':-(\'builtin#fail\',\'builtin#true\')'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#unitTest'(','('builtin#rawTermToString'(::(A,'/bootstrap#statement'),!(':-(\'builtin#fail\',\'builtin#true\')')),'builtin#equals'(::(A,'/bootstrap#statement'),::(:-('builtin#fail','builtin#true'),'/bootstrap#statement')))),'.'('builtin#varName'(::(A,B),!('Term')),[])),'builtin#true'). '/bootstrap#unitTest'(','('builtin#rawTermToString'(::(A,'/bootstrap#statement'),!(':-(\'builtin#fail\',\'builtin#true\')')),'builtin#equals'(::(A,'/bootstrap#statement'),::(:-('builtin#fail','builtin#true'),'/bootstrap#statement')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#signature'(::('builtin#termToString'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(E,'/bootstrap#string'),[])))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('VNs')),'.'('builtin#varName'(::(C,H),!('Depth')),'.'('builtin#varName'(::(D,I),!('NSList')),'.'('builtin#varName'(::(E,J),!('Str')),[])))))),'builtin#true'). '/bootstrap#signature'(::('builtin#termToString'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/bootstrap#namespacePair')),'.'(::(E,'/bootstrap#string'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/termToString.ced'),'/bootstrap#unitTest'('builtin#termToString'(::(:-('builtin#fail','builtin#true'),'/bootstrap#statement'),[],100,[],!('builtin:fail:-builtin:true'))),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#termToString'(::(:-('builtin#fail','builtin#true'),'/bootstrap#statement'),[],100,[],!('builtin:fail:-builtin:true'))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/timeout.ced'),'/bootstrap#defAtom'(::('/bootstrap#aPredicateThatDoesNotTerminate','/bootstrap#pred')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#aPredicateThatDoesNotTerminate','/bootstrap#pred')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/timeout.ced'),:-('/bootstrap#aPredicateThatDoesNotTerminate','/bootstrap#aPredicateThatDoesNotTerminate'),[]),'builtin#true'). :-('/bootstrap#aPredicateThatDoesNotTerminate','/bootstrap#aPredicateThatDoesNotTerminate'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/timeout.ced'),'/bootstrap#signature'(::('builtin#timeout'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Timeout')),[]))),'builtin#true'). '/bootstrap#signature'(::('builtin#timeout'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/timeout.ced'),'/bootstrap#defAtom'(::('builtin#timeout','/bootstrap#exception')),[]),'builtin#true'). '/bootstrap#defAtom'(::('builtin#timeout','/bootstrap#exception')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/timeout.ced'),'/bootstrap#unitTest'('builtin#catch'('builtin#timeout'('/bootstrap#aPredicateThatDoesNotTerminate',0.05),'builtin#timeout','builtin#true')),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#catch'('builtin#timeout'('/bootstrap#aPredicateThatDoesNotTerminate',0.05),'builtin#timeout','builtin#true')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#signature'(::('/bootstrap#tip'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#procedure'),[])),'.'('builtin#varName'(::(A,B),!('Proc')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#tip'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#procedure'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#projection'(::('/bootstrap#tip'(A),'/bootstrap#marker'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Tip:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))),'.'('builtin#varName'(::(A,B),!('Proc')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#tip'(A),'/bootstrap#marker'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Tip:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#procedure')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#defAtom'(::('/bootstrap#Magic wand.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Magic wand.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#markerVis'('/bootstrap#tip'(A),B,'/bootstrap#action'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#image'('/bootstrap#Magic wand.png'),'.'(B,[])),'cpi#top'),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#procedure'))),A)),'.'('builtin#varName'(::(A,C),!('Proc')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#tip'(A),B,'/bootstrap#action'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#image'('/bootstrap#Magic wand.png'),'.'(B,[])),'cpi#top'),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#procedure'))),A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#signature'(::('/bootstrap#tip'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#procedure'),[]))))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Proc')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#tip'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#procedure'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#projection'(::('/bootstrap#tip'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Tip')),'.'('/bootstrap#vis'(::(D,'/bootstrap#procedure')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(B,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))))))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Proc')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#tip'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Tip')),'.'('/bootstrap#vis'(::(D,'/bootstrap#procedure')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!('at path')),'.'('/bootstrap#vis'(::(B,'cpi#path')),'.'('/bootstrap#label'(!('with varnames')),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'('/bootstrap#varName'))),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'annotation#shrink'(~>('/bootstrap#tip'(A,B,C,D),:-('/bootstrap#check'(B,E,C,'/bootstrap#marker'(B,'/bootstrap#tip'(D))),','('builtin#copyTerm'(E,F),','('/bootstrap#saturate'(F,0,G),','(\+(\+(=(F,A))),=(E,A))))))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('Path')),'.'('builtin#varName'(::(C,J),!('VNs')),'.'('builtin#varName'(::(D,K),!('Proc')),'.'('builtin#varName'(::(E,L),!('TTermPrime')),'.'('builtin#varName'(::(F,M),!('TTermPrimePrime')),[]))))))),'builtin#true'). :-('/bootstrap#check'(A,B,C,'/bootstrap#marker'(A,'/bootstrap#tip'(D))),','('/bootstrap#tip'(E,A,C,D),','('builtin#copyTerm'(B,F),','('/bootstrap#saturate'(F,0,G),','(\+(\+(=(F,E))),=(B,E)))))). :-('/bootstrap#tip'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tip.ced'),'/bootstrap#unitTest'('/bootstrap#listMember'(1,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),[]),'builtin#true'). '/bootstrap#unitTest'('/bootstrap#listMember'(1,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),'/bootstrap#signature'(::('/bootstrap#treeElement'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('Parent')),'.'('builtin#varName'(::(B,D),!('Child')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#treeElement'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),:-('/bootstrap#treeElement'(::(A,'/bootstrap#statement'),::(B,'/bootstrap#statement')),'builtin#loadedStatement'(C,~>(A,B),D)),'.'('builtin#varName'(::(A,E),!('S1')),'.'('builtin#varName'(::(B,F),!('S2')),[]))),'builtin#true'). :-('/bootstrap#treeElement'(::(A,'/bootstrap#statement'),::(B,'/bootstrap#statement')),'builtin#loadedStatement'(C,~>(A,B),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),'/bootstrap#signature'(::('/bootstrap#treeElementVis'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Parent')),'.'('builtin#varName'(::(B,D),!('ChildVis')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#treeElementVis'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),:-('/bootstrap#treeElementVis'(A,'/bootstrap#horiz'('.'('/bootstrap#symbol'(8729),'.'('/bootstrap#expand'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,[]),C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,[]),C)),'.'('/bootstrap#dynamicList'(D,'/bootstrap#treeElementVis'(::(B,C),D)),[])))),[])))),'/bootstrap#treeElement'(A,::(B,C))),'.'('builtin#varName'(::(A,E),!('Parent')),'.'('builtin#varName'(::(B,F),!('Child')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Vis')),[]))))),'builtin#true'). :-('/bootstrap#treeElementVis'(A,'/bootstrap#horiz'('.'('/bootstrap#symbol'(8729),'.'('/bootstrap#expand'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,[]),C)),'/bootstrap#vert'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,[]),C)),'.'('/bootstrap#dynamicList'(D,'/bootstrap#treeElementVis'(::(B,C),D)),[])))),[])))),'/bootstrap#treeElement'(A,::(B,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),'/bootstrap#signature'(::('/bootstrap#showTree'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('Parent')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showTree'(A),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),'/bootstrap#procedure'('/bootstrap#showTree'(::(A,B)),'/bootstrap#showView'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8729),'.'('/bootstrap#expand'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),B)),'/bootstrap#vert'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),B)),'.'('/bootstrap#dynamicList'(C,'/bootstrap#treeElementVis'(::(A,B),C)),[])))),[]))))),'.'('builtin#varName'(::(A,D),!('Parent')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#showTree'(::(A,B)),'/bootstrap#showView'('/bootstrap#horiz'('.'('/bootstrap#symbol'(8729),'.'('/bootstrap#expand'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),B)),'/bootstrap#vert'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),B)),'.'('/bootstrap#dynamicList'(C,'/bootstrap#treeElementVis'(::(A,B),C)),[])))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/tree.ced'),'/bootstrap#contextMenuEntry'(A,B,C,!('Show tree'),'/bootstrap#showTree'(A)),'.'('builtin#varName'(::(A,D),!('Parent')),[])),'builtin#true'). '/bootstrap#contextMenuEntry'(A,B,C,!('Show tree'),'/bootstrap#showTree'(A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#signature'(::('/bootstrap#define'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#define'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#disabled'('/bootstrap#signature'(::('/bootstrap#ofType'(A,B),B),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#signature'(::('/bootstrap#ofType'(A,B),B),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#ofType'(A,B),B),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),60,62))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#ofType'(A,B),B),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),60,62))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#define'(::('/bootstrap#myTTerm'('/bootstrap#ofType'(A,B),'/bootstrap#ofType'(B,'/bootstrap#type')),'/bootstrap#typedTerm')),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#define'(::('/bootstrap#myTTerm'('/bootstrap#ofType'(A,B),'/bootstrap#ofType'(B,'/bootstrap#type')),'/bootstrap#typedTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#signature'(::('/bootstrap#definitionToSignature'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Head')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#definitionToSignature'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),:-('/bootstrap#definitionToSignature'(::(A,B),::(C,B),D),','('/bootstrap#safeParseTerm'(::(A,B),E,F),','('/bootstrap#defArgsToArgs'(F,D),'/bootstrap#safeParseTerm'(::(C,B),E,D)))),'.'('builtin#varName'(::(A,G),!('Term')),'.'('builtin#varName'(::(B,H),!('Type')),'.'('builtin#varName'(::(C,I),!('Head')),'.'('builtin#varName'(::(D,J),!('Args')),'.'('builtin#varName'(::(E,K),!('Func')),'.'('builtin#varName'(::(F,L),!('DefArgs')),[]))))))),'builtin#true'). :-('/bootstrap#definitionToSignature'(::(A,B),::(C,B),D),','('/bootstrap#safeParseTerm'(::(A,B),E,F),','('/bootstrap#defArgsToArgs'(F,D),'/bootstrap#safeParseTerm'(::(C,B),E,D)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#signature'(::('/bootstrap#defArgsToArgs'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('DefArgs')),'.'('builtin#varName'(::(B,D),!('Args')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defArgsToArgs'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),:-('/bootstrap#defArgsToArgs'([],[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#defArgsToArgs'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),:-('/bootstrap#defArgsToArgs'('.'(::('/bootstrap#ofType'(A,B),B),C),'.'(::(A,B),D)),'/bootstrap#defArgsToArgs'(C,D)),'.'('builtin#varName'(::(A,E),!('Term')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('DefArgs')),'.'('builtin#varName'(::(D,H),!('Args')),[]))))),'builtin#true'). :-('/bootstrap#defArgsToArgs'('.'(::('/bootstrap#ofType'(A,B),B),C),'.'(::(A,B),D)),'/bootstrap#defArgsToArgs'(C,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typeSigAlt.ced'),'/bootstrap#disabled'(~>('/bootstrap#define'(A),:-('/bootstrap#checkSignature'(B,C),'/bootstrap#definitionToSignature'(A,B,C)))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Head')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#disabled'(~>('/bootstrap#define'(A),:-('/bootstrap#checkSignature'(B,C),'/bootstrap#definitionToSignature'(A,B,C)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#defAtom'(::('/bootstrap#marker','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#marker','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#check'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#locMarker'),[]))))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('Marker')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#check'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#locMarker'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#statementPath'(A),'/bootstrap#pred'),'.'(::(A,'cpi#path'),[])),'.'('builtin#varName'(::(A,B),!('StatementPath')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#statementPath'(A),'/bootstrap#pred'),'.'(::(A,'cpi#path'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#true'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#true'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#projection'(::('/bootstrap#true'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(!)),[])))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#true'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!(!)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Creates TTermCopy, a copy of TTermOrig, such that they are structurally equal, but have different variables.'),'/bootstrap#signature'(::('builtin#copyTerm'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,C),!('TTermOrig')),'.'('builtin#varName'(::(B,D),!('TTermCopy')),[]))),'builtin#true'). '/bootstrap#doc'(!('Creates TTermCopy, a copy of TTermOrig, such that they are structurally equal, but have different variables.'),'/bootstrap#signature'(::('builtin#copyTerm'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,D),','('/bootstrap#statementPath'(A),','('builtin#copyTerm'(::(B,'/bootstrap#statement'),::(E,'/bootstrap#statement')),','('/bootstrap#true'('/bootstrap#checkTypes'(A,::(B,'/bootstrap#statement'),C,[],F)),','('/bootstrap#checkTypeConsistency'(B,E,F,G,A,C),'/bootstrap#listMember'(D,'/bootstrap#locMarker',G)))))),'.'('builtin#varName'(::(A,H),!('StatementPath')),'.'('builtin#varName'(::(B,I),!('Statement')),'.'('builtin#varName'(::(C,J),!('VarNames')),'.'('builtin#varName'(::(D,K),!('Marker')),'.'('builtin#varName'(::(E,L),!('StatementCopy')),'.'('builtin#varName'(::(F,M),!('Markers')),'.'('builtin#varName'(::(G,N),!('MarkersFinal')),[])))))))),'builtin#true'). :-('/bootstrap#check'(A,::(B,'/bootstrap#statement'),C,D),','('/bootstrap#statementPath'(A),','('builtin#copyTerm'(::(B,'/bootstrap#statement'),::(E,'/bootstrap#statement')),','('/bootstrap#true'('/bootstrap#checkTypes'(A,::(B,'/bootstrap#statement'),C,[],F)),','('/bootstrap#checkTypeConsistency'(B,E,F,G,A,C),'/bootstrap#listMember'(D,'/bootstrap#locMarker',G)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Succeeds if TTerm1 and TTerm2 have the same structure, but potentially different variables'),'/bootstrap#signature'(::('builtin#structurallyEqual'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,C),!('TTerm1')),'.'('builtin#varName'(::(B,D),!('TTerm2')),[]))),'builtin#true'). '/bootstrap#doc'(!('Succeeds if TTerm1 and TTerm2 have the same structure, but potentially different variables'),'/bootstrap#signature'(::('builtin#structurallyEqual'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#typesNotFullyInstantiated'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('Statement')),'.'('builtin#varName'(::(B,D),!('StatementPath')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#typesNotFullyInstantiated'(A,B),'/bootstrap#error'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#projection'(::('/bootstrap#typesNotFullyInstantiated'(A,B),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Types are not fully instantiated in statement at path:')),'.'('/bootstrap#vis'(::(B,'cpi#path')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),[])))),'.'('builtin#varName'(::(A,C),!('Statement')),'.'('builtin#varName'(::(B,D),!('StatementPath')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#typesNotFullyInstantiated'(A,B),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Types are not fully instantiated in statement at path:')),'.'('/bootstrap#vis'(::(B,'cpi#path')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkTypeConsistency'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'cpi#path'),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),[]))))))),'.'('builtin#varName'(::(A,G),!('Statement')),'.'('builtin#varName'(::(B,H),!('StatementCopy')),'.'('builtin#varName'(::(C,I),!('Markers')),'.'('builtin#varName'(::(D,J),!('MarkersFinal')),'.'('builtin#varName'(::(E,K),!('StatementPath')),'.'('builtin#varName'(::(F,L),!('VarNames')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkTypeConsistency'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'cpi#path'),'.'(::(F,'/bootstrap#list'('/bootstrap#varName')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkTypeConsistency'(A,B,C,D,E,F),'builtin#if'('builtin#structurallyEqual'(::(A,'/bootstrap#statement'),::(B,'/bootstrap#statement')),=(::(D,'/bootstrap#list'('/bootstrap#locMarker')),::(C,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(D,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(E,'/bootstrap#error'('/bootstrap#typesNotFullyInstantiated'(A,E),F)),C),'/bootstrap#list'('/bootstrap#locMarker'))))),'.'('builtin#varName'(::(A,G),!('Statement')),'.'('builtin#varName'(::(B,H),!('StatementCopy')),'.'('builtin#varName'(::(C,I),!('Markers')),'.'('builtin#varName'(::(D,J),!('MarkersFinal')),'.'('builtin#varName'(::(E,K),!('StatementPath')),'.'('builtin#varName'(::(F,L),!('VarNames')),[]))))))),'builtin#true'). :-('/bootstrap#checkTypeConsistency'(A,B,C,D,E,F),'builtin#if'('builtin#structurallyEqual'(::(A,'/bootstrap#statement'),::(B,'/bootstrap#statement')),=(::(D,'/bootstrap#list'('/bootstrap#locMarker')),::(C,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(D,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(E,'/bootstrap#error'('/bootstrap#typesNotFullyInstantiated'(A,E),F)),C),'/bootstrap#list'('/bootstrap#locMarker'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#statementPath'('cpi#path'(A,'.'(1,[]))),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#statementPath'('cpi#path'(A,'.'(1,[]))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#statementPath'('cpi#path'(A,'.'(2,B))),'/bootstrap#statementPath'('cpi#path'(A,B))),'.'('builtin#varName'(::(A,C),!('Res')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). :-('/bootstrap#statementPath'('cpi#path'(A,'.'(2,B))),'/bootstrap#statementPath'('cpi#path'(A,B))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Succeeds if TTerm matches Var::Type, where Var is an unbound variable'),'/bootstrap#signature'(::('builtin#var'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#doc'(!('Succeeds if TTerm matches Var::Type, where Var is an unbound variable'),'/bootstrap#signature'(::('builtin#var'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Succeeds if TTerm matches Str::Type, where Str is a Cedalion string'),'/bootstrap#signature'(::('builtin#string'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#doc'(!('Succeeds if TTerm matches Str::Type, where Str is a Cedalion string'),'/bootstrap#signature'(::('builtin#string'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Succeeds if TTerm matches Num::Type, where Num is a number'),'/bootstrap#signature'(::('builtin#number'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#doc'(!('Succeeds if TTerm matches Num::Type, where Num is a number'),'/bootstrap#signature'(::('builtin#number'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkTypes'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),[])))))),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('TTerm')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('MarkIn')),'.'('builtin#varName'(::(E,J),!('MarkOut')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkTypes'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkTypes'(A,::(B,C),D,E,F),'builtin#if'('builtin#var'(::(B,C)),'/bootstrap#checkVarType'(A,::(B,C),E,F),'builtin#if'('builtin#string'(::(B,C)),'/bootstrap#true'('/bootstrap#validateType'(A,'/bootstrap#string',C,A,E,F)),'builtin#if'('builtin#number'(::(B,C)),'/bootstrap#true'('/bootstrap#validateType'(A,'/bootstrap#number',C,A,E,F)),'/bootstrap#true'('/bootstrap#checkCompoundType'(A,::(B,C),D,E,F)))))),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(B,H),!('Term')),'.'('builtin#varName'(::(C,I),!('Type')),'.'('builtin#varName'(::(D,J),!('VarNames')),'.'('builtin#varName'(::(E,K),!('MarkIn')),'.'('builtin#varName'(::(F,L),!('MarkOut')),[]))))))),'builtin#true'). :-('/bootstrap#checkTypes'(A,::(B,C),D,E,F),'builtin#if'('builtin#var'(::(B,C)),'/bootstrap#checkVarType'(A,::(B,C),E,F),'builtin#if'('builtin#string'(::(B,C)),'/bootstrap#true'('/bootstrap#validateType'(A,'/bootstrap#string',C,A,E,F)),'builtin#if'('builtin#number'(::(B,C)),'/bootstrap#true'('/bootstrap#validateType'(A,'/bootstrap#number',C,A,E,F)),'/bootstrap#true'('/bootstrap#checkCompoundType'(A,::(B,C),D,E,F)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#validateType'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),'.'(::(D,'cpi#path'),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(F,'/bootstrap#list'('/bootstrap#locMarker')),[]))))))),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(B,H),!('InType')),'.'('builtin#varName'(::(C,I),!('ExType')),'.'('builtin#varName'(::(D,J),!('OrigPath')),'.'('builtin#varName'(::(E,K),!('MarkIn')),'.'('builtin#varName'(::(F,L),!('MarkOut')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#validateType'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),'.'(::(D,'cpi#path'),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(F,'/bootstrap#list'('/bootstrap#locMarker')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Perform unification of TTerm1 and TTerm2, not allowing variables to be unified with terms containing them'),'/bootstrap#signature'(::('builtin#safeUnify'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,C),!('TTerm1')),'.'('builtin#varName'(::(B,D),!('TTerm2')),[]))),'builtin#true'). '/bootstrap#doc'(!('Perform unification of TTerm1 and TTerm2, not allowing variables to be unified with terms containing them'),'/bootstrap#signature'(::('builtin#safeUnify'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#defAtom'(::('/bootstrap#locMarker','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#locMarker','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#marker'(A,B),'/bootstrap#locMarker'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#marker'),[]))),'.'('builtin#varName'(::(A,C),!('Path')),'.'('builtin#varName'(::(B,D),!('Marker')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#marker'(A,B),'/bootstrap#locMarker'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#marker'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#defAtom'(::('/bootstrap#error','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#error','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#error'(A,B),'/bootstrap#marker'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('Error')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#error'(A,B),'/bootstrap#marker'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#typeMimatch'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'cpi#path'),[])))),'.'('builtin#varName'(::(A,D),!('InType')),'.'('builtin#varName'(::(B,E),!('ExType')),'.'('builtin#varName'(::(C,F),!('OrigPath')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#typeMimatch'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'cpi#path'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#projection'(::('/bootstrap#typeMimatch'(A,B,C),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Type mismatch. Expected:')),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('inferred:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#type')),[]))))),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'cpi#path'))),[])))),'.'('builtin#varName'(::(A,D),!('InType')),'.'('builtin#varName'(::(B,E),!('ExType')),'.'('builtin#varName'(::(C,F),!('OrigPath')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#typeMimatch'(A,B,C),'/bootstrap#error'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Type mismatch. Expected:')),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#label'(!('inferred:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#type')),[]))))),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(C,'cpi#path'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#validateType'(A,B,C,D,E,F),'builtin#if'('builtin#safeUnify'(::(B,'/bootstrap#type'),::(C,'/bootstrap#type')),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::(E,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#typeMimatch'(B,C,A),[])),E),'/bootstrap#list'('/bootstrap#locMarker'))))),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(B,H),!('InType')),'.'('builtin#varName'(::(C,I),!('ExType')),'.'('builtin#varName'(::(D,J),!('OrigPath')),'.'('builtin#varName'(::(E,K),!('MarkIn')),'.'('builtin#varName'(::(F,L),!('MarkOut')),[]))))))),'builtin#true'). :-('/bootstrap#validateType'(A,B,C,D,E,F),'builtin#if'('builtin#safeUnify'(::(B,'/bootstrap#type'),::(C,'/bootstrap#type')),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::(E,'/bootstrap#list'('/bootstrap#locMarker'))),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#typeMimatch'(B,C,A),[])),E),'/bootstrap#list'('/bootstrap#locMarker'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkVarType'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),[]))))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('TVar')),'.'('builtin#varName'(::(C,G),!('MarkIn')),'.'('builtin#varName'(::(D,H),!('MarkOut')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkVarType'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#varType'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TVar')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varType'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#typeOf'(A,B),'/bootstrap#marker'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#typeOf'(A,B),'/bootstrap#marker'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkVarType'(A,::(B,C),D,'.'('/bootstrap#marker'(A,'/bootstrap#typeOf'(::(B,C),E)),F)),'builtin#if'('/bootstrap#findVarType'(D,::(B,C),G,H),'/bootstrap#validateType'(A,G,C,H,D,F),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#varType'(::(B,C))),D),'/bootstrap#list'('/bootstrap#locMarker'))))),'.'('builtin#varName'(::(A,I),!('Path')),'.'('builtin#varName'(::(B,J),!('Var')),'.'('builtin#varName'(::(C,K),!('ExType')),'.'('builtin#varName'(::(D,L),!('MarkIn')),'.'('builtin#varName'(::(E,M),!('VarNames')),'.'('builtin#varName'(::(F,N),!('MarkOut')),'.'('builtin#varName'(::(G,O),!('Type')),'.'('builtin#varName'(::(H,P),!('OrigPath')),[]))))))))),'builtin#true'). :-('/bootstrap#checkVarType'(A,::(B,C),D,'.'('/bootstrap#marker'(A,'/bootstrap#typeOf'(::(B,C),E)),F)),'builtin#if'('/bootstrap#findVarType'(D,::(B,C),G,H),'/bootstrap#validateType'(A,G,C,H,D,F),=(::(F,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#varType'(::(B,C))),D),'/bootstrap#list'('/bootstrap#locMarker'))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#findVarType'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#type'),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,E),!('MarkIn')),'.'('builtin#varName'(::(B,F),!('TVar')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('OrigPath')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#findVarType'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#type'),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#findVarType'('.'('/bootstrap#marker'(A,'/bootstrap#varType'(::(B,C))),D),E,C,A),'builtin#equals'(::(B,C),E)),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('Var')),'.'('builtin#varName'(::(C,H),!('Type')),'.'('builtin#varName'(::(E,I),!('TVar')),[]))))),'builtin#true'). :-('/bootstrap#findVarType'('.'('/bootstrap#marker'(A,'/bootstrap#varType'(::(B,C))),D),E,C,A),'builtin#equals'(::(B,C),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#findVarType'('.'(A,B),C,D,E),'/bootstrap#findVarType'(B,C,D,E)),'.'('builtin#varName'(::(B,F),!('Markers')),'.'('builtin#varName'(::(C,G),!('TVar')),'.'('builtin#varName'(::(D,H),!('Type')),'.'('builtin#varName'(::(E,I),!('Path')),[]))))),'builtin#true'). :-('/bootstrap#findVarType'('.'(A,B),C,D,E),'/bootstrap#findVarType'(B,C,D,E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#missingSignature'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'cpi#path'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('TArgs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#missingSignature'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'cpi#path'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#projection'(::('/bootstrap#missingSignature'(A,B,C),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing signature:')),'.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[]))))))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('TArgs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#missingSignature'(A,B,C),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Missing signature:')),'.'('/bootstrap#label'(!(declare)),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(where)),'.'('cpi#vis'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'/bootstrap#horizontal'(32,32,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('()')))),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkCompoundType'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),[])))))),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('TTerm')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('MarkIn')),'.'('builtin#varName'(::(E,J),!('MarkOut')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkCompoundType'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkCompoundType'(A,::(B,C),D,E,F),','('builtin#if'('/bootstrap#checkSignature'(::(B,G),H),'/bootstrap#true'('/bootstrap#validateType'(A,G,C,A,E,I)),','('/bootstrap#true'('builtin#parseTerm'(::(B,C),J,H)),'/bootstrap#true'(=(::(I,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#missingSignature'(::(B,C),H,A),D)),E),'/bootstrap#list'('/bootstrap#locMarker')))))),'/bootstrap#true'('/bootstrap#checkArgTypes'(A,1,H,D,I,F)))),'.'('builtin#varName'(::(A,K),!('Path')),'.'('builtin#varName'(::(B,L),!('Term')),'.'('builtin#varName'(::(C,M),!('ExType')),'.'('builtin#varName'(::(D,N),!('VarNames')),'.'('builtin#varName'(::(E,O),!('MarkIn')),'.'('builtin#varName'(::(F,P),!('MarkOut')),'.'('builtin#varName'(::(G,Q),!('GivenType')),'.'('builtin#varName'(::(H,R),!('TArgs')),'.'('builtin#varName'(::(I,S),!('MarkMid')),[])))))))))),'builtin#true'). :-('/bootstrap#checkCompoundType'(A,::(B,C),D,E,F),','('builtin#if'('/bootstrap#checkSignature'(::(B,G),H),'/bootstrap#true'('/bootstrap#validateType'(A,G,C,A,E,I)),','('/bootstrap#true'('builtin#parseTerm'(::(B,C),J,H)),'/bootstrap#true'(=(::(I,'/bootstrap#list'('/bootstrap#locMarker')),::('.'('/bootstrap#marker'(A,'/bootstrap#error'('/bootstrap#missingSignature'(::(B,C),H,A),D)),E),'/bootstrap#list'('/bootstrap#locMarker')))))),'/bootstrap#true'('/bootstrap#checkArgTypes'(A,1,H,D,I,F)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkSignature'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('TArgs')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkSignature'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),~>('/bootstrap#signature'(A,B),:-('/bootstrap#checkSignature'(A,B),','('builtin#parseTerm'(A,C,D),','(\+('/bootstrap#checkSignature'(D,B,'/bootstrap#signaturePlaceMismatch'(E,F))),\+('/bootstrap#checkSignature'(D,B,'/bootstrap#signatureSizeMismatch')))))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('TArgs')),'.'('builtin#varName'(::(D,I),!('TRawArgs')),[])))),'builtin#true'). :-('/bootstrap#checkSignature'(A,B),','('/bootstrap#signature'(A,B),','('builtin#parseTerm'(A,C,D),','(\+('/bootstrap#checkSignature'(D,B,'/bootstrap#signaturePlaceMismatch'(E,F))),\+('/bootstrap#checkSignature'(D,B,'/bootstrap#signatureSizeMismatch')))))). :-('/bootstrap#signature'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#checkArgTypes'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(F,'/bootstrap#list'('/bootstrap#locMarker')),[]))))))),'.'('builtin#varName'(::(A,G),!('Path')),'.'('builtin#varName'(::(B,H),!('Index')),'.'('builtin#varName'(::(C,I),!('TArgs')),'.'('builtin#varName'(::(D,J),!('VarNames')),'.'('builtin#varName'(::(E,K),!('MarkIn')),'.'('builtin#varName'(::(F,L),!('MarkOut')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#checkArgTypes'(A,B,C,D,E,F),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),'.'(::(E,'/bootstrap#list'('/bootstrap#locMarker')),'.'(::(F,'/bootstrap#list'('/bootstrap#locMarker')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkArgTypes'(A,B,[],C,D,D),'builtin#true'),'.'('builtin#varName'(::(D,E),!('Markers')),[])),'builtin#true'). :-('/bootstrap#checkArgTypes'(A,B,[],C,D,D),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#checkArgTypes'('cpi#path'(A,B),C,'.'(D,E),F,G,H),','('/bootstrap#append'(B,'.'(C,[]),I,'/bootstrap#number'),','('/bootstrap#true'('/bootstrap#checkTypes'('cpi#path'(A,I),D,F,G,J)),','('builtin#succ'(C,K),'/bootstrap#checkArgTypes'('cpi#path'(A,B),K,E,F,J,H))))),'.'('builtin#varName'(::(A,L),!('Res')),'.'('builtin#varName'(::(B,M),!('Path')),'.'('builtin#varName'(::(C,N),!('Index')),'.'('builtin#varName'(::(D,O),!('TArg')),'.'('builtin#varName'(::(E,P),!('TArgs')),'.'('builtin#varName'(::(F,Q),!('VarNames')),'.'('builtin#varName'(::(G,R),!('MarkIn')),'.'('builtin#varName'(::(H,S),!('MarkOut')),'.'('builtin#varName'(::(I,T),!('SubPath')),'.'('builtin#varName'(::(J,U),!('MarkMid')),'.'('builtin#varName'(::(K,V),!('NextIndex')),[])))))))))))),'builtin#true'). :-('/bootstrap#checkArgTypes'('cpi#path'(A,B),C,'.'(D,E),F,G,H),','('/bootstrap#append'(B,'.'(C,[]),I,'/bootstrap#number'),','('/bootstrap#true'('/bootstrap#checkTypes'('cpi#path'(A,I),D,F,G,J)),','('builtin#succ'(C,K),'/bootstrap#checkArgTypes'('cpi#path'(A,B),K,E,F,J,H))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#markerVis'('/bootstrap#typeOf'(::(A,B),C),D,'/bootstrap#tooltip'(D,'/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#type')))),'.'('builtin#varName'(::(A,E),!('Term')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('V')),[]))))),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#typeOf'(::(A,B),C),D,'/bootstrap#tooltip'(D,'/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#type')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#markerVis'('/bootstrap#varType'(A),B,'/bootstrap#bold'(B)),'.'('builtin#varName'(::(B,C),!('V')),[])),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#varType'(A),B,'/bootstrap#bold'(B)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#defAtom'(::('/bootstrap#exception','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#exception','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#doc'(!('Throw an exception'),'/bootstrap#signature'(::('builtin#throw'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#exception'),[]))),'.'('builtin#varName'(::(A,B),!('Exception')),[])),'builtin#true'). '/bootstrap#doc'(!('Throw an exception'),'/bootstrap#signature'(::('builtin#throw'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#exception'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),'/bootstrap#signature'(::('/bootstrap#false'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#false'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#true'(A),'builtin#if'(A,'builtin#true','builtin#throw'('/bootstrap#false'(A)))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). :-('/bootstrap#true'(A),'builtin#if'(A,'builtin#true','builtin#throw'('/bootstrap#false'(A)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#containingStatementPath'('cpi#path'(A,[]),'cpi#path'(A,[])),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Res')),[])),'builtin#true'). :-('/bootstrap#containingStatementPath'('cpi#path'(A,[]),'cpi#path'(A,[])),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#containingStatementPath'('cpi#path'(A,'.'(2,B)),'cpi#path'(A,'.'(2,C))),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,C))),'.'('builtin#varName'(::(A,D),!('Res')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('StatementPath')),[])))),'builtin#true'). :-('/bootstrap#containingStatementPath'('cpi#path'(A,'.'(2,B)),'cpi#path'(A,'.'(2,C))),'/bootstrap#containingStatementPath'('cpi#path'(A,B),'cpi#path'(A,C))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/typesystem.ced'),:-('/bootstrap#containingStatementPath'('cpi#path'(A,'.'(1,B)),'cpi#path'(A,'.'(1,[]))),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Res')),'.'('builtin#varName'(::(B,D),!('Path')),[]))),'builtin#true'). :-('/bootstrap#containingStatementPath'('cpi#path'(A,'.'(1,B)),'cpi#path'(A,'.'(1,[]))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#projection'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!('Unit Test:'))),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[])))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#bold'('/bootstrap#label'(!('Unit Test:'))),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#unitTest'('builtin#true'),[]),'builtin#true'). '/bootstrap#unitTest'('builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#doc'(!('A goal that never succeeds'),'/bootstrap#signature'(::('builtin#fail','/bootstrap#pred'),[])),[]),'builtin#true'). '/bootstrap#doc'(!('A goal that never succeeds'),'/bootstrap#signature'(::('builtin#fail','/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::(\+(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::(\+(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#projection'(::(\+(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[])))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#projection'(::(\+(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#unitTest'(\+('builtin#fail')),[]),'builtin#true'). '/bootstrap#unitTest'(\+('builtin#fail')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#failedTest'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#failedTest'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#projection'(::('/bootstrap#failedTest'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Test')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!('has failed')),[]))))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#failedTest'(A),'/bootstrap#error'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Test')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'.'('/bootstrap#label'(!('has failed')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#doc'(!('Succeeds if Goal succeeds, and if no exceptions have been thrown from it. If an exception matchin Exception has been thrown, AltGoal is evaluated.'),'/bootstrap#signature'(::('builtin#catch'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/bootstrap#pred'),[]))))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Exception')),'.'('builtin#varName'(::(C,F),!('AltGoal')),[])))),'builtin#true'). '/bootstrap#doc'(!('Succeeds if Goal succeeds, and if no exceptions have been thrown from it. If an exception matchin Exception has been thrown, AltGoal is evaluated.'),'/bootstrap#signature'(::('builtin#catch'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/bootstrap#pred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#projection'(::('builtin#catch'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#label'(!('try:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(catch)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),[]))),[])))))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Exception')),'.'('builtin#varName'(::(C,F),!('AltGoal')),[])))),'builtin#true'). '/bootstrap#projection'(::('builtin#catch'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#label'(!('try:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/bootstrap#pred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(catch)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/bootstrap#pred')),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#exceptionThrown'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#exception'),[])),'.'('builtin#varName'(::(A,B),!('Exception')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#exceptionThrown'(A),'/bootstrap#error'),'.'(::(A,'/bootstrap#exception'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#testNotFullyInstantiated'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#testNotFullyInstantiated'(A,B,C),'/bootstrap#error'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'annotation#shrink'(:-('/bootstrap#check'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C,'/bootstrap#marker'(A,D)),','(\+('builtin#var'(::(B,'/bootstrap#pred'))),','('builtin#removeAnnotations'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),','('builtin#copyTerm'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),'builtin#catch'('builtin#if'('builtin#timeout'(E,0.1),'builtin#if'('builtin#structurallyEqual'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),'builtin#fail',=(::(D,'/bootstrap#marker'),::('/bootstrap#tip'('cpi#edit'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C)),'/bootstrap#marker'))),=(::(D,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(B),C),'/bootstrap#marker'))),G,=(::(D,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(G),C),'/bootstrap#marker')))))))),'.'('builtin#varName'(::(A,H),!('Path')),'.'('builtin#varName'(::(B,I),!('Goal')),'.'('builtin#varName'(::(C,J),!('VarNames')),'.'('builtin#varName'(::(D,K),!('Marker')),'.'('builtin#varName'(::(E,L),!('GoalPrime')),'.'('builtin#varName'(::(F,M),!('GoalCopy')),'.'('builtin#varName'(::(G,N),!('Exception')),[])))))))),'builtin#true'). :-('/bootstrap#check'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C,'/bootstrap#marker'(A,D)),','(\+('builtin#var'(::(B,'/bootstrap#pred'))),','('builtin#removeAnnotations'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),','('builtin#copyTerm'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),'builtin#catch'('builtin#if'('builtin#timeout'(E,0.1),'builtin#if'('builtin#structurallyEqual'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),'builtin#fail',=(::(D,'/bootstrap#marker'),::('/bootstrap#tip'('cpi#edit'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C)),'/bootstrap#marker'))),=(::(D,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(B),C),'/bootstrap#marker'))),G,=(::(D,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(G),C),'/bootstrap#marker'))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#disabled'(:-('/bootstrap#check'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),','(\+('builtin#var'(::(B,'/bootstrap#pred'))),','('builtin#copyTerm'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),'builtin#catch'('builtin#if'(B,'builtin#if'('builtin#structurallyEqual'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),'builtin#fail',=(::(F,'/bootstrap#marker'),::('/bootstrap#tip'('cpi#edit'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C)),'/bootstrap#marker'))),=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(B),C),'/bootstrap#marker'))),G,=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(G),C),'/bootstrap#marker'))))))),'.'('builtin#varName'(::(A,H),!('Path')),'.'('builtin#varName'(::(B,I),!('Goal')),'.'('builtin#varName'(::(C,J),!('VarNames')),'.'('builtin#varName'(::(D,K),!('Error')),'.'('builtin#varName'(::(E,L),!('GoalCopy')),'.'('builtin#varName'(::(F,M),!('Marker')),'.'('builtin#varName'(::(G,N),!('Exception')),[])))))))),'builtin#true'). '/bootstrap#disabled'(:-('/bootstrap#check'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C,'/bootstrap#marker'(A,'/bootstrap#error'(D,C))),','(\+('builtin#var'(::(B,'/bootstrap#pred'))),','('builtin#copyTerm'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),'builtin#catch'('builtin#if'(B,'builtin#if'('builtin#structurallyEqual'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred')),'builtin#fail',=(::(F,'/bootstrap#marker'),::('/bootstrap#tip'('cpi#edit'(A,::('/bootstrap#unitTest'(B),'/bootstrap#statement'),C)),'/bootstrap#marker'))),=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(B),C),'/bootstrap#marker'))),G,=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(G),C),'/bootstrap#marker'))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#defAtom'(::('/bootstrap#showFailedTests','/bootstrap#procedure')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#showFailedTests','/bootstrap#procedure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#disabled'(:-('cpi#procedureCommand'('/bootstrap#showFailedTests','/bootstrap#showView'('/bootstrap#vert'(A))),'builtin#findall'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#string'))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(D,C),'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,C),'/bootstrap#error')),[])))),[]))),'/bootstrap#visualization','/bootstrap#testHasFailed'(D,C,B,E),A))),'.'('builtin#varName'(::(A,F),!('VisList')),'.'('builtin#varName'(::(B,G),!('File')),'.'('builtin#varName'(::(C,H),!('VNs')),'.'('builtin#varName'(::(D,I),!('Test')),'.'('builtin#varName'(::(E,J),!('Error')),[])))))),'builtin#true'). '/bootstrap#disabled'(:-('cpi#procedureCommand'('/bootstrap#showFailedTests','/bootstrap#showView'('/bootstrap#vert'(A))),'builtin#findall'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#string'))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(D,C),'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,C),'/bootstrap#error')),[])))),[]))),'/bootstrap#visualization','/bootstrap#testHasFailed'(D,C,B,E),A))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#testHasFailed'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#testHasFailed'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'annotation#shrink'(:-('/bootstrap#testHasFailed'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,B),'/bootstrap#string'))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(C,B),'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(D,B),'/bootstrap#error')),[])))),[])))),'/bootstrap#testHasFailed'(C,B,A,D))),'.'('builtin#varName'(::(A,E),!('File')),'.'('builtin#varName'(::(B,F),!('VNs')),'.'('builtin#varName'(::(C,G),!('Test')),'.'('builtin#varName'(::(D,H),!('Error')),[]))))),'builtin#true'). :-('/bootstrap#testHasFailed'('/bootstrap#vert'('.'('/bootstrap#italic'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,B),'/bootstrap#string'))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(C,B),'/bootstrap#pred')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(D,B),'/bootstrap#error')),[])))),[])))),'/bootstrap#testHasFailed'(C,B,A,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),:-('cpi#procedureCommand'('/bootstrap#showFailedTests','/bootstrap#showView'('/bootstrap#vert'(A))),'builtin#findall'(B,'/bootstrap#visualization','/bootstrap#testHasFailed'(B),A)),'.'('builtin#varName'(::(A,C),!('VisList')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#showFailedTests','/bootstrap#showView'('/bootstrap#vert'(A))),'builtin#findall'(B,'/bootstrap#visualization','/bootstrap#testHasFailed'(B),A)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#signature'(::('/bootstrap#testHasFailed'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#error'),[]))))),'.'('builtin#varName'(::(A,E),!('Test')),'.'('builtin#varName'(::(B,F),!('VNs')),'.'('builtin#varName'(::(C,G),!('File')),'.'('builtin#varName'(::(D,H),!('Error')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#testHasFailed'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#error'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),:-('/bootstrap#testHasFailed'(A,B,C,D),','('builtin#loadedStatement'(C,'/bootstrap#unitTest'(A),B),'/bootstrap#check'('/bootstrap#noPath',::('/bootstrap#unitTest'(A),'/bootstrap#statement'),[],'/bootstrap#marker'('/bootstrap#noPath','/bootstrap#error'(D,[]))))),'.'('builtin#varName'(::(A,E),!('Test')),'.'('builtin#varName'(::(B,F),!('VNs')),'.'('builtin#varName'(::(C,G),!('File')),'.'('builtin#varName'(::(D,H),!('Error')),[]))))),'builtin#true'). :-('/bootstrap#testHasFailed'(A,B,C,D),','('builtin#loadedStatement'(C,'/bootstrap#unitTest'(A),B),'/bootstrap#check'('/bootstrap#noPath',::('/bootstrap#unitTest'(A),'/bootstrap#statement'),[],'/bootstrap#marker'('/bootstrap#noPath','/bootstrap#error'(D,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#contextMenuEntry'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),B,C,!('Show all Failed Tests'),'/bootstrap#showFailedTests'),[]),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/bootstrap#unitTest'(A),'/bootstrap#statement'),B,C,!('Show all Failed Tests'),'/bootstrap#showFailedTests'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#solution'('/bootstrap#testNotFullyInstantiated'(A,B,C),C,'cpi#edit'(B,::('/bootstrap#unitTest'(A),'/bootstrap#statement'),C)),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#solution'('/bootstrap#testNotFullyInstantiated'(A,B,C),C,'cpi#edit'(B,::('/bootstrap#unitTest'(A),'/bootstrap#statement'),C)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/unittest.ced'),'/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#aPredicateThatDoesNotTerminate')),[]),'builtin#true'). '/bootstrap#disabled'('/bootstrap#unitTest'('/bootstrap#aPredicateThatDoesNotTerminate')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/varnames.ced'),'/bootstrap#signature'(::('/bootstrap#sanitizeVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('VarNames')),'.'('builtin#varName'(::(B,D),!('SVarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#sanitizeVarNames'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#varName')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/varnames.ced'),'annotation#shrink'(:-('/bootstrap#sanitizeVarNames'([],[]),'builtin#true')),[]),'builtin#true'). :-('/bootstrap#sanitizeVarNames'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/varnames.ced'),'annotation#shrink'(:-('/bootstrap#sanitizeVarNames'('.'('builtin#varName'(A,B),C),D),','('/bootstrap#sanitizeVarNames'(C,E),'builtin#if'('builtin#var'(A),=(::(D,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(A,B),E),'/bootstrap#list'('/bootstrap#varName'))),=(::(D,'/bootstrap#list'('/bootstrap#varName')),::(E,'/bootstrap#list'('/bootstrap#varName'))))))),'.'('builtin#varName'(::(A,F),!('TVar')),'.'('builtin#varName'(::(B,G),!('Name')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('SVarNames')),'.'('builtin#varName'(::(E,J),!('SVarNamesPrime')),[])))))),'builtin#true'). :-('/bootstrap#sanitizeVarNames'('.'('builtin#varName'(A,B),C),D),','('/bootstrap#sanitizeVarNames'(C,E),'builtin#if'('builtin#var'(A),=(::(D,'/bootstrap#list'('/bootstrap#varName')),::('.'('builtin#varName'(A,B),E),'/bootstrap#list'('/bootstrap#varName'))),=(::(D,'/bootstrap#list'('/bootstrap#varName')),::(E,'/bootstrap#list'('/bootstrap#varName')))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#defAtom'(::('/bootstrap#Create.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Create.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#contextMenuEntry'(::(A,'/bootstrap#list'(B)),C,D,!('Insert'),'cpi#edit'(D,::('.'(E,A),'/bootstrap#list'(B)),C),'/bootstrap#Create.png'),'.'('builtin#varName'(::(A,F),!('List')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('VarNames')),'.'('builtin#varName'(::(D,I),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/bootstrap#list'(B)),C,D,!('Insert'),'cpi#edit'(D,::('.'(E,A),'/bootstrap#list'(B)),C),'/bootstrap#Create.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Append'),'cpi#edit'(E,::('.'(A,'.'(F,B)),'/bootstrap#list'(C)),D),'/bootstrap#Create.png'),'.'('builtin#varName'(::(A,G),!('First')),'.'('builtin#varName'(::(B,H),!('Rest')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('VarNames')),'.'('builtin#varName'(::(E,K),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Append'),'cpi#edit'(E,::('.'(A,'.'(F,B)),'/bootstrap#list'(C)),D),'/bootstrap#Create.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#defAtom'(::('/bootstrap#Delete.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Delete.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Delete'),'cpi#edit'(E,::(B,'/bootstrap#list'(C)),D),'/bootstrap#Delete.png'),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('VarNames')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('.'(A,B),'/bootstrap#list'(C)),D,E,!('Delete'),'cpi#edit'(E,::(B,'/bootstrap#list'(C)),D),'/bootstrap#Delete.png'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#showView'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showView'(A),'/bootstrap#command'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#commandClass'('/bootstrap#showView'(A),!('net.nansore.cedalion.cmd.ShowView')),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#commandClass'('/bootstrap#showView'(A),!('net.nansore.cedalion.cmd.ShowView')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#showInView'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showInView'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#procedure'('/bootstrap#showInView'(::(A,B),C),'/bootstrap#showView'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,C),B)))),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('Type')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#showInView'(::(A,B),C),'/bootstrap#showView'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,C),B)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#autoFix'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))),'.'('builtin#varName'(::(A,D),!('Error')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('AutoFix')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#autoFix'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),:-('/bootstrap#autoFix'(A,B,C),'builtin#fail'),'.'('builtin#varName'(::(A,D),!('Error')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('AutoFix')),[])))),'builtin#true'). :-('/bootstrap#autoFix'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#fixError'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#fixError'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#procedure'('/bootstrap#fixError'(A,B),'/bootstrap#doProc'('/bootstrap#if'('/bootstrap#autoFix'(A,B,C),'/bootstrap#doProc'(C),'/bootstrap#doProc'('/bootstrap#showSolutions'(A,B))))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Fix')),[])))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#fixError'(A,B),'/bootstrap#doProc'('/bootstrap#if'('/bootstrap#autoFix'(A,B,C),'/bootstrap#doProc'(C),'/bootstrap#doProc'('/bootstrap#showSolutions'(A,B))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#defAtom'(::('/bootstrap#Error.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Error.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#markerVis'('/bootstrap#error'(A,B),C,'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#action'('/bootstrap#image'('/bootstrap#Error.png'),'/bootstrap#fixError'(A,B),'/bootstrap#autoFix'(A,B,D)),'.'('/bootstrap#lineBorder'(C,1,'cpi#rgb'(255,0,0)),[]))),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,B),'/bootstrap#error')))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('VarNames')),'.'('builtin#varName'(::(C,G),!('V')),[])))),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#error'(A,B),C,'/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#action'('/bootstrap#image'('/bootstrap#Error.png'),'/bootstrap#fixError'(A,B),'/bootstrap#autoFix'(A,B,D)),'.'('/bootstrap#lineBorder'(C,1,'cpi#rgb'(255,0,0)),[]))),'/bootstrap#vis'(::('cpi#immediateDescriptor'(A,B),'/bootstrap#error')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#showSolutions'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))),'.'('builtin#varName'(::(A,C),!('Error')),'.'('builtin#varName'(::(B,D),!('VarNames')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#showSolutions'(A,B),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#procedure'('/bootstrap#showSolutions'(A,B),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#showView'('/bootstrap#vert'(C)),','('builtin#findall'(D,'/bootstrap#procedure','/bootstrap#errorSolution'(A,B,D),E),'/bootstrap#visualizeSolutions'(E,B,C))))),'.'('builtin#varName'(::(A,F),!('Error')),'.'('builtin#varName'(::(B,G),!('VarNames')),'.'('builtin#varName'(::(C,H),!('Solutions')),'.'('builtin#varName'(::(D,I),!('Proc')),'.'('builtin#varName'(::(E,J),!('Procs')),[])))))),'builtin#true'). '/bootstrap#procedure'('/bootstrap#showSolutions'(A,B),'/bootstrap#doProc'('/bootstrap#where'('/bootstrap#showView'('/bootstrap#vert'(C)),','('builtin#findall'(D,'/bootstrap#procedure','/bootstrap#errorSolution'(A,B,D),E),'/bootstrap#visualizeSolutions'(E,B,C))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#visualizeSolutions'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#procedure')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#visualization')),[])))),'.'('builtin#varName'(::(A,D),!('Procs')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Solutions')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#visualizeSolutions'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#procedure')),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#list'('/bootstrap#visualization')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),:-('/bootstrap#visualizeSolutions'([],A,[]),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#visualizeSolutions'([],A,[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),:-('/bootstrap#visualizeSolutions'('.'(A,B),C,'.'('/bootstrap#lineBorder'('/bootstrap#action'('/bootstrap#horiz'('.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,C),'/bootstrap#procedure')),[]))),A),1,'cpi#rgb'(0,0,0)),D)),'/bootstrap#visualizeSolutions'(B,C,D)),'.'('builtin#varName'(::(A,E),!('Proc')),'.'('builtin#varName'(::(B,F),!('Procs')),'.'('builtin#varName'(::(C,G),!('VarNames')),'.'('builtin#varName'(::(D,H),!('Solutions')),[]))))),'builtin#true'). :-('/bootstrap#visualizeSolutions'('.'(A,B),C,'.'('/bootstrap#lineBorder'('/bootstrap#action'('/bootstrap#horiz'('.'('/bootstrap#label'(!(>)),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,C),'/bootstrap#procedure')),[]))),A),1,'cpi#rgb'(0,0,0)),D)),'/bootstrap#visualizeSolutions'(B,C,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#solution'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))),'.'('builtin#varName'(::(A,D),!('Error')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Proc')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#solution'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#errorSolution'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))),'.'('builtin#varName'(::(A,D),!('Error')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Solution')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#errorSolution'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#error'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#procedure'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),~>('/bootstrap#solution'(A,B,C),:-('/bootstrap#errorSolution'(A,B,C),'builtin#true')),'.'('builtin#varName'(::(A,D),!('Error')),'.'('builtin#varName'(::(B,E),!('VarNames')),'.'('builtin#varName'(::(C,F),!('Solution')),[])))),'builtin#true'). :-('/bootstrap#errorSolution'(A,B,C),','('/bootstrap#solution'(A,B,C),'builtin#true')). :-('/bootstrap#solution'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#insertStatement'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#insertStatement'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#statement'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#projection'(::('/bootstrap#insertStatement'(A,B,C),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Insert:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[])))),'.'('builtin#varName'(::(A,D),!('Statement')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VarNames')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#insertStatement'(A,B,C),'/bootstrap#procedure'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Insert:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#statement')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#solution'('/bootstrap#missingSignature'(A,B,C),D,'/bootstrap#insertStatement'('/bootstrap#signature'(A,B),C,D)),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('TArgs')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('VarNames')),[]))))),'builtin#true'). '/bootstrap#solution'('/bootstrap#missingSignature'(A,B,C),D,'/bootstrap#insertStatement'('/bootstrap#signature'(A,B),C,D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),'/bootstrap#signature'(::('/bootstrap#parentPath'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))),'.'('builtin#varName'(::(A,C),!('StatementPath')),'.'('builtin#varName'(::(B,D),!('ListPath')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#parentPath'(A,B),'/bootstrap#pred'),'.'(::(A,'cpi#path'),'.'(::(B,'cpi#path'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),:-('cpi#procedureCommand'('/bootstrap#insertStatement'(A,B,C),'/bootstrap#doProc'('cpi#edit'(D,::('.'(A,E),'/bootstrap#list'('/bootstrap#statement')),F))),','('/bootstrap#true'('/bootstrap#containingStatementPath'(B,G)),','('/bootstrap#true'('/bootstrap#parentPath'(G,D)),','('/bootstrap#true'('cpi#termAtPath'(D,::(E,'/bootstrap#list'('/bootstrap#statement')),H)),'/bootstrap#true'('/bootstrap#mergeVarNames'(C,H,F)))))),'.'('builtin#varName'(::(A,I),!('Statement')),'.'('builtin#varName'(::(B,J),!('Path')),'.'('builtin#varName'(::(C,K),!('VarNames1')),'.'('builtin#varName'(::(D,L),!('ListPath')),'.'('builtin#varName'(::(E,M),!('List')),'.'('builtin#varName'(::(F,N),!('VarNames')),'.'('builtin#varName'(::(G,O),!('StatementPath')),'.'('builtin#varName'(::(H,P),!('VarNames2')),[]))))))))),'builtin#true'). :-('cpi#procedureCommand'('/bootstrap#insertStatement'(A,B,C),'/bootstrap#doProc'('cpi#edit'(D,::('.'(A,E),'/bootstrap#list'('/bootstrap#statement')),F))),','('/bootstrap#true'('/bootstrap#containingStatementPath'(B,G)),','('/bootstrap#true'('/bootstrap#parentPath'(G,D)),','('/bootstrap#true'('cpi#termAtPath'(D,::(E,'/bootstrap#list'('/bootstrap#statement')),H)),'/bootstrap#true'('/bootstrap#mergeVarNames'(C,H,F)))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/view.ced'),:-('/bootstrap#parentPath'('cpi#path'(A,B),'cpi#path'(A,C)),'/bootstrap#append'(C,'.'(D,[]),B,'/bootstrap#number')),'.'('builtin#varName'(::(A,E),!('Res')),'.'('builtin#varName'(::(B,F),!('Path')),'.'('builtin#varName'(::(C,G),!('ParentPath')),[])))),'builtin#true'). :-('/bootstrap#parentPath'('cpi#path'(A,B),'cpi#path'(A,C)),'/bootstrap#append'(C,'.'(D,[]),B,'/bootstrap#number')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#defAtom'(::('/bootstrap#visualization','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#visualization','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#visClass'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Class')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#visClass'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),~>('/bootstrap#visClass'(A,B),:-('cpi#termClass'(::(A,'/bootstrap#visualization'),B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Class')),[]))),'builtin#true'). :-('cpi#termClass'(::(A,'/bootstrap#visualization'),B),','('/bootstrap#visClass'(A,B),'builtin#true')). :-('/bootstrap#visClass'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#doc'(!('A placeholder for visualizing an a typed term (TTerm)'),'/bootstrap#signature'(::('cpi#vis'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#doc'(!('A placeholder for visualizing an a typed term (TTerm)'),'/bootstrap#signature'(::('cpi#vis'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('cpi#vis'(A),!('net.nansore.cedalion.figures.VisualTerm')),[]),'builtin#true'). '/bootstrap#visClass'('cpi#vis'(A),!('net.nansore.cedalion.figures.VisualTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#defAtom'(::('/bootstrap#mode','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#mode','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#doc'(!('A placeholder for visualizing an a typed term (TTerm) in visualization mode Mode'),'/bootstrap#signature'(::('cpi#vis'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),[])))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Mode')),[]))),'builtin#true'). '/bootstrap#doc'(!('A placeholder for visualizing an a typed term (TTerm) in visualization mode Mode'),'/bootstrap#signature'(::('cpi#vis'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#mode'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('cpi#vis'(A,B),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(12298),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#mode')),'.'('/bootstrap#symbol'(12299),[]))))))),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Mode')),[]))),'builtin#true'). '/bootstrap#projection'(::('cpi#vis'(A,B),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(12298),'.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#mode')),'.'('/bootstrap#symbol'(12299),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#alias'(::('cpi#vis'(A,B),'/bootstrap#visualization'),!(<<@>>)),'.'('builtin#varName'(::(A,C),!('TTerm')),'.'('builtin#varName'(::(B,D),!('Mode')),[]))),'builtin#true'). '/bootstrap#alias'(::('cpi#vis'(A,B),'/bootstrap#visualization'),!(<<@>>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('cpi#vis'(A,B),!('net.nansore.cedalion.figures.VisualTerm')),[]),'builtin#true'). '/bootstrap#visClass'('cpi#vis'(A,B),!('net.nansore.cedalion.figures.VisualTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),12298,12299)),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),12298,12299)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#vis'(A),!('net.nansore.cedalion.figures.VisualTerm')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#vis'(A),!('net.nansore.cedalion.figures.VisualTerm')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#typedTerm'),::('/bootstrap#vis'(A),'/bootstrap#visualization')),'.'('builtin#varName'(::(A,B),!('TTerm')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#typedTerm'),::('/bootstrap#vis'(A),'/bootstrap#visualization')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#alias'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),!(<<>>)),[]),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#vis'(A),'/bootstrap#visualization'),!(<<>>)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#horiz'(A),!('net.nansore.cedalion.figures.HorizontalFlow')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#horiz'(A),!('net.nansore.cedalion.figures.HorizontalFlow')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#vert'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),[])),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#vert'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#list'('/bootstrap#visualization')),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#vert'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(v))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#vert'),[])))),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#vert'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(v))),'.'('cpi#vis'(::(A,'/bootstrap#list'('/bootstrap#visualization')),'/bootstrap#vert'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#vert'(A),!('net.nansore.cedalion.figures.VerticalFlow')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#vert'(A),!('net.nansore.cedalion.figures.VerticalFlow')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#label'(A),!('net.nansore.cedalion.figures.LabelFigure')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#label'(A),!('net.nansore.cedalion.figures.LabelFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#label'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))),'.'('builtin#varName'(::(A,B),!('L')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#label'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#alias'(::('/bootstrap#label'(A),'/bootstrap#visualization'),!('""')),'.'('builtin#varName'(::(A,B),!('L')),[])),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#label'(A),'/bootstrap#visualization'),!('""')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/bootstrap#label'(A),'/bootstrap#visualization')),'.'('builtin#varName'(::(A,B),!('S')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/bootstrap#label'(A),'/bootstrap#visualization')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#italic'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#italic'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#italic'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(i))),'.'('/bootstrap#italic'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#italic'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(i))),'.'('/bootstrap#italic'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#italic'(A),!('net.nansore.cedalion.figures.Italic')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#italic'(A),!('net.nansore.cedalion.figures.Italic')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#bold'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#bold'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#bold'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(b))),'.'('/bootstrap#bold'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#bold'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(b))),'.'('/bootstrap#bold'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#bold'(A),!('net.nansore.cedalion.figures.Bold')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#bold'(A),!('net.nansore.cedalion.figures.Bold')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#defAtom'(::('/bootstrap#color','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#color','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#color'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Color')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#color'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#color'(A,B),'/bootstrap#visualization'),'cpi#default',C,'/bootstrap#raised'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#color')),'.'('/bootstrap#color'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),D),[]))),'/bootstrap#label'(!(color))))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#color'),::('cpi#rgb'(0,0,0),'/bootstrap#color'),::(D,'/bootstrap#color'),E)),'.'('builtin#varName'(::(A,F),!('Vis')),'.'('builtin#varName'(::(B,G),!('ColorDesc')),'.'('builtin#varName'(::(D,H),!('Color')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#color'(A,B),'/bootstrap#visualization'),'cpi#default',C,'/bootstrap#raised'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#color')),'.'('/bootstrap#color'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),D),[]))),'/bootstrap#label'(!(color))))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#color'),::('cpi#rgb'(0,0,0),'/bootstrap#color'),::(D,'/bootstrap#color'),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#color'(A,B),!('net.nansore.cedalion.figures.TextColor')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#color'(A,B),!('net.nansore.cedalion.figures.TextColor')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#lineBorder'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#color'),[])))),'.'('builtin#varName'(::(A,D),!('Vis')),'.'('builtin#varName'(::(B,E),!('Width')),'.'('builtin#varName'(::(C,F),!('Color')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#lineBorder'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#color'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#lineBorder'(A,B,C),'/bootstrap#visualization'),'cpi#default',D,'/bootstrap#raised'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,'/bootstrap#color')),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#lowered'('/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),E,F)),[]))))),'/bootstrap#label'(!(lineBorder))))),','('/bootstrap#descriptorContentWithDefault'(::(C,'/bootstrap#color'),::('cpi#rgb'(0,0,0),'/bootstrap#color'),::(F,'/bootstrap#color'),G),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#number'),::(3,'/bootstrap#number'),::(E,'/bootstrap#number'),H))),'.'('builtin#varName'(::(A,I),!('Vis')),'.'('builtin#varName'(::(B,J),!('Width')),'.'('builtin#varName'(::(C,K),!('Color')),'.'('builtin#varName'(::(E,L),!('WidthValue')),'.'('builtin#varName'(::(F,M),!('ColorValue')),[])))))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#lineBorder'(A,B,C),'/bootstrap#visualization'),'cpi#default',D,'/bootstrap#raised'('/bootstrap#tooltip'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,'/bootstrap#color')),'.'('/bootstrap#label'(!(',')),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#lowered'('/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),E,F)),[]))))),'/bootstrap#label'(!(lineBorder))))),','('/bootstrap#descriptorContentWithDefault'(::(C,'/bootstrap#color'),::('cpi#rgb'(0,0,0),'/bootstrap#color'),::(F,'/bootstrap#color'),G),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#number'),::(3,'/bootstrap#number'),::(E,'/bootstrap#number'),H))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#lineBorder'(A,B,C),!('net.nansore.cedalion.figures.LineBorderFigure')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#lineBorder'(A,B,C),!('net.nansore.cedalion.figures.LineBorderFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#symbol'(A),!('net.nansore.cedalion.figures.Symbol')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#symbol'(A),!('net.nansore.cedalion.figures.Symbol')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(963),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),[]))))),'.'('builtin#varName'(::(A,B),!('Unicode')),[])),'builtin#true'). '/bootstrap#disabled'('/bootstrap#projection'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(963),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'cpi#default',B,'/bootstrap#vert'('.'('/bootstrap#symbol'(C),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#number'))),[])))),'/bootstrap#descriptorContentWithDefault'(::(A,'/bootstrap#number'),::(63,'/bootstrap#number'),::(C,'/bootstrap#number'),D)),'.'('builtin#varName'(::(A,E),!('Desc')),'.'('builtin#varName'(::(C,F),!('Value')),[]))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#symbol'(A),'/bootstrap#visualization'),'cpi#default',B,'/bootstrap#vert'('.'('/bootstrap#symbol'(C),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#number'))),[])))),'/bootstrap#descriptorContentWithDefault'(::(A,'/bootstrap#number'),::(63,'/bootstrap#number'),::(C,'/bootstrap#number'),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#tooltip'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Content')),'.'('builtin#varName'(::(B,D),!('Tooltip')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#tooltip'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#tooltip'(A,B),'/bootstrap#visualization'),'/bootstrap#lowered'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'cpi#rgb'(255,255,255))),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[]))),3,'cpi#rgb'(255,255,200)),'cpi#rgb'(255,255,200)))),'.'('builtin#varName'(::(A,C),!('Content')),'.'('builtin#varName'(::(B,D),!('Tooltip')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#tooltip'(A,B),'/bootstrap#visualization'),'/bootstrap#lowered'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'cpi#rgb'(255,255,255))),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[]))),3,'cpi#rgb'(255,255,200)),'cpi#rgb'(255,255,200)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#tooltip'(A,B),!('net.nansore.cedalion.figures.Tooltip')),'.'('builtin#varName'(::(A,C),!('Content')),'.'('builtin#varName'(::(B,D),!('Tooltip')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#tooltip'(A,B),!('net.nansore.cedalion.figures.Tooltip')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#halfSize'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#halfSize'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#halfSize'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!('1/2'))),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#halfSize'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!('1/2'))),'.'('/bootstrap#halfSize'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#halfSize'(A),!('net.nansore.cedalion.figures.HalfSize')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#halfSize'(A),!('net.nansore.cedalion.figures.HalfSize')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#smaller'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#smaller'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#smaller'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(<))),'.'('/bootstrap#smaller'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#smaller'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(<))),'.'('/bootstrap#smaller'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#smaller'(A),!('net.nansore.cedalion.figures.Smaller')),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#smaller'(A),!('net.nansore.cedalion.figures.Smaller')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#action'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#procedure'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Proc')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#action'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#procedure'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#action'(A,B),'/bootstrap#visualization'),'/bootstrap#tooltip'('/bootstrap#raised'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Do')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(B,'/bootstrap#procedure')),'cpi#rgb'(255,255,255))),[]))),[]))),'cpi#rgb'(192,192,192)))),'/bootstrap#label'(!(action)))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Proc')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#action'(A,B),'/bootstrap#visualization'),'/bootstrap#tooltip'('/bootstrap#raised'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Do')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(B,'/bootstrap#procedure')),'cpi#rgb'(255,255,255))),[]))),[]))),'cpi#rgb'(192,192,192)))),'/bootstrap#label'(!(action)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#action'(A,B),!('net.nansore.cedalion.figures.ActionFigure')),[]),'builtin#true'). '/bootstrap#visClass'('/bootstrap#action'(A,B),!('net.nansore.cedalion.figures.ActionFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#action'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#procedure'),'.'(::(C,'/bootstrap#pred'),[])))),'.'('builtin#varName'(::(A,D),!('Vis')),'.'('builtin#varName'(::(B,E),!('Proc')),'.'('builtin#varName'(::(C,F),!('AutoCond')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#action'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#procedure'),'.'(::(C,'/bootstrap#pred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#action'(A,B,C),'/bootstrap#visualization'),'/bootstrap#tooltip'('/bootstrap#raised'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Do')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(B,'/bootstrap#procedure')),'cpi#rgb'(255,255,255))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Automatic if')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(C,'/bootstrap#pred')),'cpi#rgb'(255,255,255))),[]))),[])))),'cpi#rgb'(192,192,192)))),'/bootstrap#label'(!(action)))),'.'('builtin#varName'(::(A,D),!('Vis')),'.'('builtin#varName'(::(B,E),!('Proc')),'.'('builtin#varName'(::(C,F),!('AutoCond')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#action'(A,B,C),'/bootstrap#visualization'),'/bootstrap#tooltip'('/bootstrap#raised'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#vert'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Do')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(B,'/bootstrap#procedure')),'cpi#rgb'(255,255,255))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Automatic if')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(C,'/bootstrap#pred')),'cpi#rgb'(255,255,255))),[]))),[])))),'cpi#rgb'(192,192,192)))),'/bootstrap#label'(!(action)))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#action'(A,B,C),!('net.nansore.cedalion.figures.ActionFigure')),'.'('builtin#varName'(::(A,D),!('Vis')),'.'('builtin#varName'(::(B,E),!('Proc')),'.'('builtin#varName'(::(C,F),!('AutoCond')),[])))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#action'(A,B,C),!('net.nansore.cedalion.figures.ActionFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#background'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Color')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#background'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#background'(A,B),'/bootstrap#visualization'),'cpi#default',C,'/bootstrap#tooltip'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#color')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),D)),[]))),1,'cpi#rgb'(0,0,0)),'/bootstrap#label'(!(background)))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#color'),::('cpi#rgb'(220,220,220),'/bootstrap#color'),::(D,'/bootstrap#color'),E)),'.'('builtin#varName'(::(A,F),!('Vis')),'.'('builtin#varName'(::(B,G),!('Color')),'.'('builtin#varName'(::(D,H),!('ColorValue')),[])))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#background'(A,B),'/bootstrap#visualization'),'cpi#default',C,'/bootstrap#tooltip'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#color')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),D)),[]))),1,'cpi#rgb'(0,0,0)),'/bootstrap#label'(!(background)))),'/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#color'),::('cpi#rgb'(220,220,220),'/bootstrap#color'),::(D,'/bootstrap#color'),E)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#background'(A,B),!('net.nansore.cedalion.figures.Background')),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Color')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#background'(A,B),!('net.nansore.cedalion.figures.Background')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#roundRect'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Color')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#roundRect'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#color'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#roundRect'(A,B),!('net.nansore.cedalion.figures.RoundRect')),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Color')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#roundRect'(A,B),!('net.nansore.cedalion.figures.RoundRect')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#doc'(!('A data structure to hold an RGB color'),'/bootstrap#signature'(::('cpi#rgb'(A,B,C),'/bootstrap#color'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[]))))),'.'('builtin#varName'(::(A,D),!('R')),'.'('builtin#varName'(::(B,E),!('G')),'.'('builtin#varName'(::(C,F),!('B')),[])))),'builtin#true'). '/bootstrap#doc'(!('A data structure to hold an RGB color'),'/bootstrap#signature'(::('cpi#rgb'(A,B,C),'/bootstrap#color'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('cpi#rgb'(A,B,C),'/bootstrap#color'),'/bootstrap#halfSize'('/bootstrap#vert'('.'('/bootstrap#color'('/bootstrap#vis'(::(A,'/bootstrap#number')),'cpi#rgb'(128,0,0)),'.'('/bootstrap#color'('/bootstrap#vis'(::(B,'/bootstrap#number')),'cpi#rgb'(0,128,0)),'.'('/bootstrap#color'('/bootstrap#vis'(::(C,'/bootstrap#number')),'cpi#rgb'(0,0,128)),[])))))),'.'('builtin#varName'(::(A,D),!('R')),'.'('builtin#varName'(::(B,E),!('G')),'.'('builtin#varName'(::(C,F),!('B')),[])))),'builtin#true'). '/bootstrap#projection'(::('cpi#rgb'(A,B,C),'/bootstrap#color'),'/bootstrap#halfSize'('/bootstrap#vert'('.'('/bootstrap#color'('/bootstrap#vis'(::(A,'/bootstrap#number')),'cpi#rgb'(128,0,0)),'.'('/bootstrap#color'('/bootstrap#vis'(::(B,'/bootstrap#number')),'cpi#rgb'(0,128,0)),'.'('/bootstrap#color'('/bootstrap#vis'(::(C,'/bootstrap#number')),'cpi#rgb'(0,0,128)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#default'(::('cpi#rgb'(0,0,0),'/bootstrap#color')),[]),'builtin#true'). '/bootstrap#default'(::('cpi#rgb'(0,0,0),'/bootstrap#color')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#expand'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Collapsed')),'.'('builtin#varName'(::(B,D),!('Expanded')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#expand'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#expand'(A,B),'/bootstrap#visualization'),'/bootstrap#expand'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'/bootstrap#vis'(::(B,'/bootstrap#visualization')))),'.'('builtin#varName'(::(A,C),!('Collapsed')),'.'('builtin#varName'(::(B,D),!('Expanded')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#expand'(A,B),'/bootstrap#visualization'),'/bootstrap#expand'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'/bootstrap#vis'(::(B,'/bootstrap#visualization')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#expand'(A,B),!('net.nansore.cedalion.figures.ExpandFigure')),'.'('builtin#varName'(::(A,C),!('Collapsed')),'.'('builtin#varName'(::(B,D),!('Expanded')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#expand'(A,B),!('net.nansore.cedalion.figures.ExpandFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#sigProj'(::('/bootstrap#raised'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[]),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(r))),'.'('/bootstrap#raised'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#sigProj'(::('/bootstrap#raised'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[]),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(r))),'.'('/bootstrap#raised'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#raised'(A),!('net.nansore.cedalion.figures.Raised')),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#raised'(A),!('net.nansore.cedalion.figures.Raised')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#sigProj'(::('/bootstrap#lowered'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[]),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(l))),'.'('/bootstrap#lowered'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#sigProj'(::('/bootstrap#lowered'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[]),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(l))),'.'('/bootstrap#lowered'('/bootstrap#vis'(::(A,'/bootstrap#visualization'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#lowered'(A),!('net.nansore.cedalion.figures.Lowered')),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#lowered'(A),!('net.nansore.cedalion.figures.Lowered')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#link'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('File')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#link'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#link'(A,B),!('net.nansore.cedalion.figures.Link')),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('File')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#link'(A,B),!('net.nansore.cedalion.figures.Link')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#brackets'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('Content')),'.'('builtin#varName'(::(B,E),!('Open')),'.'('builtin#varName'(::(C,F),!('Close')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#brackets'(A,B,C),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#number'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#brackets'(A,B,C),'/bootstrap#visualization'),'cpi#default',D,'/bootstrap#vert'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),E,F),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[]))))),[])))),','('/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#number'),::(40,'/bootstrap#number'),::(E,'/bootstrap#number'),G),'/bootstrap#descriptorContentWithDefault'(::(C,'/bootstrap#number'),::(41,'/bootstrap#number'),::(F,'/bootstrap#number'),H))),'.'('builtin#varName'(::(A,I),!('Content')),'.'('builtin#varName'(::(B,J),!('Open')),'.'('builtin#varName'(::(C,K),!('Close')),'.'('builtin#varName'(::(E,L),!('OpenValue')),'.'('builtin#varName'(::(F,M),!('CloseValue')),[])))))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#brackets'(A,B,C),'/bootstrap#visualization'),'cpi#default',D,'/bootstrap#vert'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),E,F),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#number')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[]))))),[])))),','('/bootstrap#descriptorContentWithDefault'(::(B,'/bootstrap#number'),::(40,'/bootstrap#number'),::(E,'/bootstrap#number'),G),'/bootstrap#descriptorContentWithDefault'(::(C,'/bootstrap#number'),::(41,'/bootstrap#number'),::(F,'/bootstrap#number'),H))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#brackets'(A,B,C),!('net.nansore.cedalion.figures.Brackets')),'.'('builtin#varName'(::(A,D),!('Content')),'.'('builtin#varName'(::(B,E),!('Open')),'.'('builtin#varName'(::(C,F),!('Close')),[])))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#brackets'(A,B,C),!('net.nansore.cedalion.figures.Brackets')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#box'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Size')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#box'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),:-('/bootstrap#userVisualization'(::('/bootstrap#box'(A),'/bootstrap#visualization'),'cpi#default',B,'/bootstrap#vert'('.'('/bootstrap#box'(C),'.'('/bootstrap#pivot'('/bootstrap#horiz'('.'('/bootstrap#box'(C),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#box'(C),[]))))),'.'('/bootstrap#box'(C),[]))))),'/bootstrap#descriptorContentWithDefault'(::(A,'/bootstrap#number'),::(1,'/bootstrap#number'),::(C,'/bootstrap#number'),D)),'.'('builtin#varName'(::(A,E),!('Size')),'.'('builtin#varName'(::(C,F),!('SizeVal')),[]))),'builtin#true'). :-('/bootstrap#userVisualization'(::('/bootstrap#box'(A),'/bootstrap#visualization'),'cpi#default',B,'/bootstrap#vert'('.'('/bootstrap#box'(C),'.'('/bootstrap#pivot'('/bootstrap#horiz'('.'('/bootstrap#box'(C),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),'.'('/bootstrap#box'(C),[]))))),'.'('/bootstrap#box'(C),[]))))),'/bootstrap#descriptorContentWithDefault'(::(A,'/bootstrap#number'),::(1,'/bootstrap#number'),::(C,'/bootstrap#number'),D)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#box'(A),!('net.nansore.cedalion.figures.Box')),'.'('builtin#varName'(::(A,B),!('Size')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#box'(A),!('net.nansore.cedalion.figures.Box')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))),123,125)),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),'.'('/bootstrap#box'(1),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[])))),123,125)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#alias'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),!({})),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#alias'(::('/bootstrap#dynamicList'(A,B),'/bootstrap#visualization'),!({})). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#dynamicList'(A,B),!('net.nansore.cedalion.figures.DynamicList')),'.'('builtin#varName'(::(A,C),!('Vis')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#visClass'('/bootstrap#dynamicList'(A,B),!('net.nansore.cedalion.figures.DynamicList')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#pivot'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#pivot'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#visualization'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#projection'(::('/bootstrap#pivot'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(9758),'.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),[])))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#pivot'(A),'/bootstrap#visualization'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(9758),'.'('/bootstrap#vis'(::(A,'/bootstrap#visualization')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#pivot'(A),!('net.nansore.cedalion.figures.PivotFigure')),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#pivot'(A),!('net.nansore.cedalion.figures.PivotFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#signature'(::('/bootstrap#image'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#image'),[])),'.'('builtin#varName'(::(A,B),!('Img')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#image'(A),'/bootstrap#visualization'),'.'(::(A,'/bootstrap#image'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualization.ced'),'/bootstrap#visClass'('/bootstrap#image'(A),!('net.nansore.cedalion.figures.ImageFigure')),'.'('builtin#varName'(::(A,B),!('Img')),[])),'builtin#true'). '/bootstrap#visClass'('/bootstrap#image'(A),!('net.nansore.cedalion.figures.ImageFigure')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#signature'(::('/bootstrap#visualizeVar'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Vis')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#visualizeVar'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/bootstrap#varName')),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#signature'(::('/bootstrap#varNameMacro'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varNameMacro'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),:-('/bootstrap#varNameMacro'(A,B),'builtin#fail'),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). :-('/bootstrap#varNameMacro'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#signature'(::('/bootstrap#varNameMacroStatement'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varNameMacroStatement'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#projection'(::('/bootstrap#varNameMacroStatement'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('displays as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[])))))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#varNameMacroStatement'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('displays as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),~>('/bootstrap#varNameMacroStatement'(A,B),:-('/bootstrap#varNameMacro'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). :-('/bootstrap#varNameMacro'(A,B),','('/bootstrap#varNameMacroStatement'(A,B),'builtin#true')). :-('/bootstrap#varNameMacroStatement'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),:-('/bootstrap#visualizeVar'(A,'.'('builtin#varName'(B,C),D),'/bootstrap#italic'('/bootstrap#color'(E,'cpi#rgb'(0,128,0)))),'builtin#if'('/bootstrap#varNameMacro'(C,E),'builtin#true',=(::(E,'/bootstrap#visualization'),::('/bootstrap#label'(C),'/bootstrap#visualization')))),'.'('builtin#varName'(::(C,F),!('Name')),'.'('builtin#varName'(::(E,G),!('Vis')),[]))),'builtin#true'). :-('/bootstrap#visualizeVar'(A,'.'('builtin#varName'(B,C),D),'/bootstrap#italic'('/bootstrap#color'(E,'cpi#rgb'(0,128,0)))),'builtin#if'('/bootstrap#varNameMacro'(C,E),'builtin#true',=(::(E,'/bootstrap#visualization'),::('/bootstrap#label'(C),'/bootstrap#visualization')))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),:-('/bootstrap#visualizeVar'(A,[],'/bootstrap#italic'('/bootstrap#color'('/bootstrap#label'(!('_')),'cpi#rgb'(0,128,0)))),'builtin#true'),[]),'builtin#true'). :-('/bootstrap#visualizeVar'(A,[],'/bootstrap#italic'('/bootstrap#color'('/bootstrap#label'(!('_')),'cpi#rgb'(0,128,0)))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameMacroStatement'(!('Alpha'),'/bootstrap#symbol'(945)),[]),'builtin#true'). '/bootstrap#varNameMacroStatement'(!('Alpha'),'/bootstrap#symbol'(945)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameMacroStatement'(!('Beta'),'/bootstrap#symbol'(946)),[]),'builtin#true'). '/bootstrap#varNameMacroStatement'(!('Beta'),'/bootstrap#symbol'(946)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameMacroStatement'(!('Gamma'),'/bootstrap#symbol'(947)),[]),'builtin#true'). '/bootstrap#varNameMacroStatement'(!('Gamma'),'/bootstrap#symbol'(947)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameMacroStatement'(!('Tau'),'/bootstrap#symbol'(964)),[]),'builtin#true'). '/bootstrap#varNameMacroStatement'(!('Tau'),'/bootstrap#symbol'(964)). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#contextMenuEntry'(A,'.'('builtin#varName'(B,C),[]),D,!('Define Variable Name Macro'),'/bootstrap#insertStatement'('/bootstrap#varNameMacroStatement'(C,'/bootstrap#symbol'(E)),D,[])),'.'('builtin#varName'(::(C,F),!('Name')),'.'('builtin#varName'(::(D,G),!('Path')),[]))),'builtin#true'). '/bootstrap#contextMenuEntry'(A,'.'('builtin#varName'(B,C),[]),D,!('Define Variable Name Macro'),'/bootstrap#insertStatement'('/bootstrap#varNameMacroStatement'(C,'/bootstrap#symbol'(E)),D,[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#signature'(::('/bootstrap#varNameSuffix'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))),'.'('builtin#varName'(::(A,D),!('Suffix')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('VisPrime')),[])))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#varNameSuffix'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#visualization'),'.'(::(C,'/bootstrap#visualization'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#projection'(::('/bootstrap#varNameSuffix'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable suffix')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(modifies)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[])))))))),'.'('builtin#varName'(::(A,D),!('Suffix')),'.'('builtin#varName'(::(B,E),!('Vis')),'.'('builtin#varName'(::(C,F),!('VisPrime')),[])))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#varNameSuffix'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Variable suffix')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(modifies)),'.'('/bootstrap#vis'(::(B,'/bootstrap#visualization')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(C,'/bootstrap#visualization')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),~>('/bootstrap#varNameSuffix'(A,B,C),:-('/bootstrap#varNameMacro'(D,C),','('builtin#strcat'(E,A,D),'/bootstrap#visualizeVar'(F,'.'('builtin#varName'(G,E),[]),B)))),'.'('builtin#varName'(::(A,H),!('Suffix')),'.'('builtin#varName'(::(B,I),!('Vis')),'.'('builtin#varName'(::(C,J),!('VisPrime')),'.'('builtin#varName'(::(D,K),!('VarName')),'.'('builtin#varName'(::(E,L),!('BaseName')),[])))))),'builtin#true'). :-('/bootstrap#varNameMacro'(A,B),','('/bootstrap#varNameSuffix'(C,D,B),','('builtin#strcat'(E,C,A),'/bootstrap#visualizeVar'(F,'.'('builtin#varName'(G,E),[]),D)))). :-('/bootstrap#varNameSuffix'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameSuffix'(!('Prime'),A,'/bootstrap#horiz'('.'(A,'.'('/bootstrap#label'(!('\'')),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#varNameSuffix'(!('Prime'),A,'/bootstrap#horiz'('.'(A,'.'('/bootstrap#label'(!('\'')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#varNameSuffix'(!('Bar'),A,'/bootstrap#vert'('.'('/bootstrap#box'(1),'.'('/bootstrap#pivot'(A),[])))),'.'('builtin#varName'(::(A,B),!('Vis')),[])),'builtin#true'). '/bootstrap#varNameSuffix'(!('Bar'),A,'/bootstrap#vert'('.'('/bootstrap#box'(1),'.'('/bootstrap#pivot'(A),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#signature'(::('/bootstrap#subscriptVarSuffix'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Suffix')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#subscriptVarSuffix'(A),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),~>('/bootstrap#subscriptVarSuffix'(A),'/bootstrap#varNameSuffix'(A,B,'/bootstrap#horiz'('.'(B,'.'('/bootstrap#halfSize'('/bootstrap#label'(A)),[])),'cpi#bottom'))),'.'('builtin#varName'(::(A,C),!('Suffix')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). :-('/bootstrap#varNameSuffix'(A,B,'/bootstrap#horiz'('.'(B,'.'('/bootstrap#halfSize'('/bootstrap#label'(A)),[])),'cpi#bottom')),','('/bootstrap#subscriptVarSuffix'(A),'builtin#true')). :-('/bootstrap#subscriptVarSuffix'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#subscriptVarSuffix'(!('1')),[]),'builtin#true'). '/bootstrap#subscriptVarSuffix'(!('1')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#subscriptVarSuffix'(!('2')),[]),'builtin#true'). '/bootstrap#subscriptVarSuffix'(!('2')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#subscriptVarSuffix'(!('3')),[]),'builtin#true'). '/bootstrap#subscriptVarSuffix'(!('3')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#subscriptVarSuffix'(!('4')),[]),'builtin#true'). '/bootstrap#subscriptVarSuffix'(!('4')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/visualizeVar.ced'),'/bootstrap#subscriptVarSuffix'(!('5')),[]),'builtin#true'). '/bootstrap#subscriptVarSuffix'(!('5')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defAtom'(::('/bootstrap#image','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#image','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#signature'(::('/bootstrap#imageMarker'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#image'),[])),'.'('builtin#varName'(::(A,B),!('Img')),[])),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#imageMarker'(A),'/bootstrap#marker'),'.'(::(A,'/bootstrap#image'),[])). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),:-('/bootstrap#check'(A,::(B,C),[],'/bootstrap#marker'(A,'/bootstrap#imageMarker'(D))),','(\+('builtin#var'(::(B,C))),','('builtin#equals'(::(C,'/bootstrap#type'),::('/bootstrap#image','/bootstrap#type')),=(::(D,'/bootstrap#image'),::(B,C))))),'.'('builtin#varName'(::(A,E),!('Path')),'.'('builtin#varName'(::(B,F),!('Img')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Img1')),[]))))),'builtin#true'). :-('/bootstrap#check'(A,::(B,C),[],'/bootstrap#marker'(A,'/bootstrap#imageMarker'(D))),','(\+('builtin#var'(::(B,C))),','('builtin#equals'(::(C,'/bootstrap#type'),::('/bootstrap#image','/bootstrap#type')),=(::(D,'/bootstrap#image'),::(B,C))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#markerVis'('/bootstrap#imageMarker'(A),B,'/bootstrap#vert'('.'('/bootstrap#image'(A),'.'('/bootstrap#halfSize'(B),[])))),'.'('builtin#varName'(::(A,C),!('Img')),'.'('builtin#varName'(::(B,D),!('Vis')),[]))),'builtin#true'). '/bootstrap#markerVis'('/bootstrap#imageMarker'(A),B,'/bootstrap#vert'('.'('/bootstrap#image'(A),'.'('/bootstrap#halfSize'(B),[])))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defAtom'(::('/bootstrap#Paste.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#Paste.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defAtom'(::('/bootstrap#New.png','/bootstrap#image')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/bootstrap#New.png','/bootstrap#image')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#signature'(::('/bootstrap#defineImage'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#image'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Image')),'.'('builtin#varName'(::(B,D),!('URL')),[]))),'builtin#true'). '/bootstrap#signature'(::('/bootstrap#defineImage'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#image'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#projection'(::('/bootstrap#defineImage'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#image')),'.'('/bootstrap#label'(!('is located at')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Image')),'.'('builtin#varName'(::(B,D),!('URL')),[]))),'builtin#true'). '/bootstrap#projection'(::('/bootstrap#defineImage'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#image')),'.'('/bootstrap#label'(!('is located at')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#signature'(::('cpi#imageURL'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#image'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Image')),'.'('builtin#varName'(::(B,D),!('URL')),[]))),'builtin#true'). '/bootstrap#signature'(::('cpi#imageURL'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#image'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),~>('/bootstrap#defineImage'(A,B),:-('cpi#imageURL'(A,B),'builtin#true')),'.'('builtin#varName'(::(A,C),!('Image')),'.'('builtin#varName'(::(B,D),!('URL')),[]))),'builtin#true'). :-('cpi#imageURL'(A,B),','('/bootstrap#defineImage'(A,B),'builtin#true')). :-('/bootstrap#defineImage'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#New.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/New.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#New.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/New.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Error.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Error.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Error.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Error.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Create.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Create.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Create.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Create.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Cut.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Cut.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Cut.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Cut.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Delete.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Delete.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Delete.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Delete.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Magic wand.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Magic%20wand.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Magic wand.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Magic%20wand.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Paste.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Paste.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Paste.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Paste.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Redo.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Redo.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Redo.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Redo.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Search.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Search.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Search.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Search.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Undo.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Undo.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Undo.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Undo.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#wavy-arrow.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/wavy-arrow.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#wavy-arrow.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/wavy-arrow.png')). :-('builtin#loadedStatement'(!('/home/boaz/cedalion/bootstrap/image.ced'),'/bootstrap#defineImage'('/bootstrap#Yellow tag.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Yellow%20tag.png')),[]),'builtin#true'). '/bootstrap#defineImage'('/bootstrap#Yellow tag.png',!('https://raw.githubusercontent.com/brosenan/cedalion/master/bootstrap/Yellow%20tag.png')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/bootstrap#signature'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ContTTerm')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should copy variables into the container'),','('/containers#containerize'(::(D,E),::(F,E),!(foo)),'/util#assertEqual'(D,F,E))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('ContTTerm')),'.'('builtin#varName'(::(C,I),!('Cont')),'.'('builtin#varName'(::(D,J),!('X')),'.'('builtin#varName'(::(E,K),!('T')),'.'('builtin#varName'(::(F,L),!('Y')),[]))))))),'builtin#true'). '/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should copy variables into the container'),','('/containers#containerize'(::(D,E),::(F,E),!(foo)),'/util#assertEqual'(D,F,E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should prefix compound terms'),','('/containers#containerize'(::('/bootstrap#listMember'(D,E,F),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,G,H),'builtin#strcat'(!('foo@'),I,G)))),'.'('builtin#varName'(::(A,J),!('TTerm')),'.'('builtin#varName'(::(B,K),!('ContTTerm')),'.'('builtin#varName'(::(C,L),!('Cont')),'.'('builtin#varName'(::(D,M),!('X')),'.'('builtin#varName'(::(E,N),!('T')),'.'('builtin#varName'(::(F,O),!('L')),'.'('builtin#varName'(::(G,P),!('Name')),[])))))))),'builtin#true'). '/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should prefix compound terms'),','('/containers#containerize'(::('/bootstrap#listMember'(D,E,F),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,G,H),'builtin#strcat'(!('foo@'),I,G)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should prefix nested compound terms'),','('/containers#containerize'(::('/bootstrap#listMember'(D,'/bootstrap#string','.'(!(hello),'.'(!(world),[]))),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,E,'.'(F,'.'(G,'.'(H,[])))),','('builtin#parseTerm'(G,I,[]),'builtin#strcat'(!('foo@'),J,I))))),'.'('builtin#varName'(::(A,K),!('TTerm')),'.'('builtin#varName'(::(B,L),!('ContTTerm')),'.'('builtin#varName'(::(C,M),!('Cont')),'.'('builtin#varName'(::(D,N),!('X')),'.'('builtin#varName'(::(G,O),!('StrType')),'.'('builtin#varName'(::(I,P),!('Name')),[]))))))),'builtin#true'). '/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should prefix nested compound terms'),','('/containers#containerize'(::('/bootstrap#listMember'(D,'/bootstrap#string','.'(!(hello),'.'(!(world),[]))),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,E,'.'(F,'.'(G,'.'(H,[])))),','('builtin#parseTerm'(G,I,[]),'builtin#strcat'(!('foo@'),J,I))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should replace builtin#parseTerm/3 with /containers#parseTerm/4'),','('/containers#containerize'(::('builtin#parseTerm'(::('/bootstrap#listMember'(D,E,F),'/bootstrap#pred'),G,H),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,I,J),'/util#assertEqual'(I,!('/containers#parseTerm'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,K),!('TTerm')),'.'('builtin#varName'(::(B,L),!('ContTTerm')),'.'('builtin#varName'(::(C,M),!('Cont')),'.'('builtin#varName'(::(D,N),!('X')),'.'('builtin#varName'(::(E,O),!('T')),'.'('builtin#varName'(::(F,P),!('L')),'.'('builtin#varName'(::(I,Q),!('ParseTermStr')),'.'('builtin#varName'(::(J,R),!('Args')),[]))))))))),'builtin#true'). '/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should replace builtin#parseTerm/3 with /containers#parseTerm/4'),','('/containers#containerize'(::('builtin#parseTerm'(::('/bootstrap#listMember'(D,E,F),'/bootstrap#pred'),G,H),'/bootstrap#pred'),B,!(foo)),','('builtin#parseTerm'(B,I,J),'/util#assertEqual'(I,!('/containers#parseTerm'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'annotation#shrink'(:-('/containers#containerize'(A,B,C),'builtin#if'('builtin#compound'(A),'builtin#if'('/containers#specialTerm'(A,B,C),'builtin#true',','('builtin#parseTerm'(A,D,E),','('/containers#containerizeName'(D,F,C),','('/containers#containerizeList'(E,G,C),'builtin#parseTerm'(B,F,G))))),=(A,B)))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('ContTTerm')),'.'('builtin#varName'(::(C,J),!('Cont')),'.'('builtin#varName'(::(D,K),!('Name')),'.'('builtin#varName'(::(E,L),!('Args')),'.'('builtin#varName'(::(F,M),!('NamePrime')),'.'('builtin#varName'(::(G,N),!('ContArgs')),[])))))))),'builtin#true'). :-('/containers#containerize'(A,B,C),'builtin#if'('builtin#compound'(A),'builtin#if'('/containers#specialTerm'(A,B,C),'builtin#true',','('builtin#parseTerm'(A,D,E),','('/containers#containerizeName'(D,F,C),','('/containers#containerizeList'(E,G,C),'builtin#parseTerm'(B,F,G))))),=(A,B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/bootstrap#signature'(::('/containers#containerizeList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('TTerms')),'.'('builtin#varName'(::(B,E),!('ContTTerms')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#containerizeList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),:-('/containers#containerizeList'([],[],A),'builtin#true'),[]),'builtin#true'). :-('/containers#containerizeList'([],[],A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'annotation#shrink'(:-('/containers#containerizeList'('.'(A,B),'.'(C,D),E),','('/containers#containerize'(A,C,E),'/containers#containerizeList'(B,D,E)))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('TTerms')),'.'('builtin#varName'(::(C,H),!('ContTTerm')),'.'('builtin#varName'(::(D,I),!('ContTTerms')),'.'('builtin#varName'(::(E,J),!('Cont')),[])))))),'builtin#true'). :-('/containers#containerizeList'('.'(A,B),'.'(C,D),E),','('/containers#containerize'(A,C,E),'/containers#containerizeList'(B,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/bootstrap#signature'(::('/containers#specialTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('ContTTerm')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#specialTerm'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),:-('/containers#specialTerm'(A,B,C),'builtin#fail'),[]),'builtin#true'). :-('/containers#specialTerm'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerize.ced'),'/bootstrap#unitTest'('/containers#containerize'(::(:-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#binOp'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,'/bootstrap#type'),!('T')),[])),'builtin#true'),'/bootstrap#statement'),::(B,C),!(foo))),'.'('builtin#varName'(::(A,D),!('T')),[])),'builtin#true'). '/bootstrap#unitTest'('/containers#containerize'(::(:-('builtin#loadedStatement'(!('/home/boaz/cedalion/Functional/binop.ced'),'/bootstrap#signature'(::('/Functional#binOp'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,'/bootstrap#type'),!('T')),[])),'builtin#true'),'/bootstrap#statement'),::(B,C),!(foo))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/bootstrap#signature'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize builtins'),','('/containers#containerizeName'(!('builtin#succ'),B,!(foo)),'/util#assertEqual'(B,!('builtin#succ'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize builtins'),','('/containers#containerizeName'(!('builtin#succ'),B,!(foo)),'/util#assertEqual'(B,!('builtin#succ'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize annotations'),','('/containers#containerizeName'(!('annotation#foo'),B,!(foo)),'/util#assertEqual'(B,!('annotation#foo'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize annotations'),','('/containers#containerizeName'(!('annotation#foo'),B,!(foo)),'/util#assertEqual'(B,!('annotation#foo'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize special global-namespace names'),'/bootstrap#forall'(','('/bootstrap#listMember'(A,'/bootstrap#string','.'(!(:-),'.'(!(','),'.'(!([]),'.'(!('.'),'.'(!(=),'.'(!(>),'.'(!(\+),'.'(!(::),[]))))))))),'/containers#containerizeName'(A,B,!(foo))),'/util#assertEqual'(B,A,'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should not containerize special global-namespace names'),'/bootstrap#forall'(','('/bootstrap#listMember'(A,'/bootstrap#string','.'(!(:-),'.'(!(','),'.'(!([]),'.'(!('.'),'.'(!(=),'.'(!(>),'.'(!(\+),'.'(!(::),[]))))))))),'/containers#containerizeName'(A,B,!(foo))),'/util#assertEqual'(B,A,'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should containerize arbitrary global-scope names'),','('/containers#containerizeName'(!(bar),B,!(foo)),'/util#assertEqual'(B,!('foo@bar'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/util#behavior'(::('/containers#containerizeName'(A,B,C),'/bootstrap#pred'),!('should containerize arbitrary global-scope names'),','('/containers#containerizeName'(!(bar),B,!(foo)),'/util#assertEqual'(B,!('foo@bar'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'annotation#shrink'(:-('/containers#containerizeName'(A,B,C),'builtin#if'('/containers#specialName'(A,B),'builtin#true','/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(@)),'/Functional#concat','/Functional#const'(A))),'/bootstrap#string',B)))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('NamePrime')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). :-('/containers#containerizeName'(A,B,C),'builtin#if'('/containers#specialName'(A,B),'builtin#true','/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(@)),'/Functional#concat','/Functional#const'(A))),'/bootstrap#string',B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/bootstrap#signature'(::('/containers#specialName'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('NamePrime')),[]))),'builtin#true'). '/bootstrap#signature'(::('/containers#specialName'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),:-('/containers#specialName'(A,A),'builtin#strcat'(!('builtin#'),B,A)),'.'('builtin#varName'(::(A,C),!('Name')),[])),'builtin#true'). :-('/containers#specialName'(A,A),'builtin#strcat'(!('builtin#'),B,A)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),:-('/containers#specialName'(A,A),'builtin#strcat'(!('annotation#'),B,A)),'.'('builtin#varName'(::(A,C),!('Name')),[])),'builtin#true'). :-('/containers#specialName'(A,A),'builtin#strcat'(!('annotation#'),B,A)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),:-('/containers#specialName'(A,A),'/bootstrap#listMember'(A,'/bootstrap#string','.'(!(:-),'.'(!(','),'.'(!([]),'.'(!('.'),'.'(!(=),'.'(!(>),'.'(!(\+),'.'(!(::),[])))))))))),'.'('builtin#varName'(::(A,B),!('Name')),[])),'builtin#true'). :-('/containers#specialName'(A,A),'/bootstrap#listMember'(A,'/bootstrap#string','.'(!(:-),'.'(!(','),'.'(!([]),'.'(!('.'),'.'(!(=),'.'(!(>),'.'(!(\+),'.'(!(::),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'/bootstrap#signature'(::('/containers#uncontainerizeName'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('NamePrime')),'.'('builtin#varName'(::(B,E),!('Name')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#uncontainerizeName'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/containerizeName.ced'),'annotation#shrink'(:-('/containers#uncontainerizeName'(A,B,C),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(@))),'/bootstrap#string',D),'builtin#if'('builtin#strcat'(D,B,A),'builtin#true',=(::(B,'/bootstrap#string'),::(A,'/bootstrap#string')))))),'.'('builtin#varName'(::(A,E),!('NamePrime')),'.'('builtin#varName'(::(B,F),!('Name')),'.'('builtin#varName'(::(C,G),!('Cont')),'.'('builtin#varName'(::(D,H),!('Prefix')),[]))))),'builtin#true'). :-('/containers#uncontainerizeName'(A,B,C),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(@))),'/bootstrap#string',D),'builtin#if'('builtin#strcat'(D,B,A),'builtin#true',=(::(B,'/bootstrap#string'),::(A,'/bootstrap#string'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/loadedStatement.ced'),'/bootstrap#signature'(::('/containers#loadedStatement'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#statement'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,E),!('FileName')),'.'('builtin#varName'(::(B,F),!('Cont')),'.'('builtin#varName'(::(C,G),!('CStatement')),'.'('builtin#varName'(::(D,H),!('CVarNames')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/containers#loadedStatement'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#statement'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/loadedStatement.ced'),'/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should containerize builtin#loadedStatement'),'/containers#containerize'(::('builtin#loadedStatement'(!('bar/baz.ced'),'/Functional#def'('/Functional#applyBinOp'(D,'/Functional#numPlus',E),'/bootstrap#number','/Functional#const'(3)),[]),'/bootstrap#pred'),::('/containers#loadedStatement'(!('bar/baz.ced'),!(foo),F,[]),'/bootstrap#pred'),!(foo))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('CTTerm')),'.'('builtin#varName'(::(C,I),!('Cont')),'.'('builtin#varName'(::(D,J),!('A')),'.'('builtin#varName'(::(E,K),!('B')),'.'('builtin#varName'(::(F,L),!('CStatement')),[]))))))),'builtin#true'). '/util#behavior'(::('/containers#containerize'(A,B,C),'/bootstrap#pred'),!('should containerize builtin#loadedStatement'),'/containers#containerize'(::('builtin#loadedStatement'(!('bar/baz.ced'),'/Functional#def'('/Functional#applyBinOp'(D,'/Functional#numPlus',E),'/bootstrap#number','/Functional#const'(3)),[]),'/bootstrap#pred'),::('/containers#loadedStatement'(!('bar/baz.ced'),!(foo),F,[]),'/bootstrap#pred'),!(foo))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/loadedStatement.ced'),'annotation#shrink'(:-('/containers#specialTerm'(::('builtin#loadedStatement'(A,B,C),'/bootstrap#pred'),::('/containers#loadedStatement'(D,E,F,G),'/bootstrap#pred'),E),','('/containers#containerize'(::(A,'/bootstrap#string'),::(D,'/bootstrap#string'),E),','('/containers#containerize'(::(B,'/bootstrap#statement'),::(F,'/bootstrap#statement'),E),'/containers#containerize'(::(C,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')),E))))),'.'('builtin#varName'(::(A,H),!('FileName')),'.'('builtin#varName'(::(B,I),!('Statement')),'.'('builtin#varName'(::(C,J),!('VNs')),'.'('builtin#varName'(::(D,K),!('CFileName')),'.'('builtin#varName'(::(E,L),!('Cont')),'.'('builtin#varName'(::(F,M),!('CStatement')),'.'('builtin#varName'(::(G,N),!('CVNs')),[])))))))),'builtin#true'). :-('/containers#specialTerm'(::('builtin#loadedStatement'(A,B,C),'/bootstrap#pred'),::('/containers#loadedStatement'(D,E,F,G),'/bootstrap#pred'),E),','('/containers#containerize'(::(A,'/bootstrap#string'),::(D,'/bootstrap#string'),E),','('/containers#containerize'(::(B,'/bootstrap#statement'),::(F,'/bootstrap#statement'),E),'/containers#containerize'(::(C,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')),E)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/loadedStatement.ced'),'annotation#shrink'(:-('/containers#specialUncontainerize'(::('/containers#loadedStatement'(A,B,C,D),'/bootstrap#pred'),::('builtin#loadedStatement'(E,F,G),'/bootstrap#pred'),H),','('/containers#uncontainerize'(::(A,'/bootstrap#string'),::(E,'/bootstrap#string'),H),','('/containers#uncontainerize'(::(C,'/bootstrap#statement'),::(F,'/bootstrap#statement'),H),'/containers#uncontainerize'(::(D,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')),H))))),'.'('builtin#varName'(::(A,I),!('CFileName')),'.'('builtin#varName'(::(C,J),!('CStatement')),'.'('builtin#varName'(::(D,K),!('CVNs')),'.'('builtin#varName'(::(E,L),!('FileName')),'.'('builtin#varName'(::(F,M),!('Statement')),'.'('builtin#varName'(::(G,N),!('VNs')),'.'('builtin#varName'(::(H,O),!('Cont')),[])))))))),'builtin#true'). :-('/containers#specialUncontainerize'(::('/containers#loadedStatement'(A,B,C,D),'/bootstrap#pred'),::('builtin#loadedStatement'(E,F,G),'/bootstrap#pred'),H),','('/containers#uncontainerize'(::(A,'/bootstrap#string'),::(E,'/bootstrap#string'),H),','('/containers#uncontainerize'(::(C,'/bootstrap#statement'),::(F,'/bootstrap#statement'),H),'/containers#uncontainerize'(::(D,'/bootstrap#list'('/bootstrap#varName')),::(G,'/bootstrap#list'('/bootstrap#varName')),H)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'/bootstrap#signature'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(D,'/bootstrap#string'),[]))))),'.'('builtin#varName'(::(A,E),!('CTTerm')),'.'('builtin#varName'(::(B,F),!('CName')),'.'('builtin#varName'(::(C,G),!('CArgs')),'.'('builtin#varName'(::(D,H),!('Cont')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(D,'/bootstrap#string'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'annotation#shrink'(:-('/containers#specialTerm'(::('builtin#parseTerm'(A,B,C),'/bootstrap#pred'),::('/containers#parseTerm'(D,E,F,G),'/bootstrap#pred'),G),','('/containers#containerize'(::(A,'/bootstrap#typedTerm'),::(D,'/bootstrap#typedTerm'),G),','('/containers#containerize'(::(B,'/bootstrap#string'),::(E,'/bootstrap#string'),G),'/containers#containerize'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::(F,'/bootstrap#list'('/bootstrap#typedTerm')),G))))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('Name')),'.'('builtin#varName'(::(C,J),!('Args')),'.'('builtin#varName'(::(D,K),!('CTTerm')),'.'('builtin#varName'(::(E,L),!('CName')),'.'('builtin#varName'(::(F,M),!('CArgs')),'.'('builtin#varName'(::(G,N),!('Cont')),[])))))))),'builtin#true'). :-('/containers#specialTerm'(::('builtin#parseTerm'(A,B,C),'/bootstrap#pred'),::('/containers#parseTerm'(D,E,F,G),'/bootstrap#pred'),G),','('/containers#containerize'(::(A,'/bootstrap#typedTerm'),::(D,'/bootstrap#typedTerm'),G),','('/containers#containerize'(::(B,'/bootstrap#string'),::(E,'/bootstrap#string'),G),'/containers#containerize'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::(F,'/bootstrap#list'('/bootstrap#typedTerm')),G)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'/util#behavior'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),!('should construct a containerized term'),','('/containers#parseTerm'(A,!(bar),[],!(foo)),','('builtin#parseTerm'(A,B,[]),'/util#assertEqual'(B,!('foo@bar'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Name')),'.'('builtin#varName'(::(C,G),!('Args')),'.'('builtin#varName'(::(D,H),!('Cont')),[]))))),'builtin#true'). '/util#behavior'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),!('should construct a containerized term'),','('/containers#parseTerm'(A,!(bar),[],!(foo)),','('builtin#parseTerm'(A,B,[]),'/util#assertEqual'(B,!('foo@bar'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'/util#behavior'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),!('should provide the original (un-containerized) name'),','('/containers#parseTerm'(A,!(bar),[],!(foo)),','('/containers#parseTerm'(A,B,[],!(foo)),'/util#assertEqual'(B,!(bar),'/bootstrap#string')))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Name')),'.'('builtin#varName'(::(C,G),!('Args')),'.'('builtin#varName'(::(D,H),!('Cont')),[]))))),'builtin#true'). '/util#behavior'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),!('should provide the original (un-containerized) name'),','('/containers#parseTerm'(A,!(bar),[],!(foo)),','('/containers#parseTerm'(A,B,[],!(foo)),'/util#assertEqual'(B,!(bar),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'annotation#shrink'(:-('/containers#parseTerm'(A,B,C,D),'builtin#if'('builtin#string'(::(B,'/bootstrap#string')),','('/containers#containerizeName'(B,E,D),'builtin#parseTerm'(A,E,C)),','('builtin#parseTerm'(A,E,C),'/containers#uncontainerizeName'(E,B,D))))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Name')),'.'('builtin#varName'(::(C,H),!('Args')),'.'('builtin#varName'(::(D,I),!('Cont')),'.'('builtin#varName'(::(E,J),!('NamePrime')),[])))))),'builtin#true'). :-('/containers#parseTerm'(A,B,C,D),'builtin#if'('builtin#string'(::(B,'/bootstrap#string')),','('/containers#containerizeName'(B,E,D),'builtin#parseTerm'(A,E,C)),','('builtin#parseTerm'(A,E,C),'/containers#uncontainerizeName'(E,B,D)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/parseTerm.ced'),'annotation#shrink'(:-('/containers#specialUncontainerize'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),::('builtin#parseTerm'(E,F,G),'/bootstrap#pred'),H),','('/containers#uncontainerize'(::(A,'/bootstrap#typedTerm'),::(E,'/bootstrap#typedTerm'),H),','('/containers#uncontainerize'(::(B,'/bootstrap#string'),::(F,'/bootstrap#string'),H),'/containers#uncontainerize'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::(G,'/bootstrap#list'('/bootstrap#typedTerm')),H))))),'.'('builtin#varName'(::(A,I),!('CTTerm')),'.'('builtin#varName'(::(B,J),!('CName')),'.'('builtin#varName'(::(C,K),!('CTArgs')),'.'('builtin#varName'(::(E,L),!('TTerm')),'.'('builtin#varName'(::(F,M),!('Name')),'.'('builtin#varName'(::(G,N),!('TArgs')),'.'('builtin#varName'(::(H,O),!('Cont')),[])))))))),'builtin#true'). :-('/containers#specialUncontainerize'(::('/containers#parseTerm'(A,B,C,D),'/bootstrap#pred'),::('builtin#parseTerm'(E,F,G),'/bootstrap#pred'),H),','('/containers#uncontainerize'(::(A,'/bootstrap#typedTerm'),::(E,'/bootstrap#typedTerm'),H),','('/containers#uncontainerize'(::(B,'/bootstrap#string'),::(F,'/bootstrap#string'),H),'/containers#uncontainerize'(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::(G,'/bootstrap#list'('/bootstrap#typedTerm')),H)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'/bootstrap#signature'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('CTTerm')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'/util#behavior'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),!('should pass non-compound terms as-is'),','('/containers#uncontainerize'(::(!(bar),'/bootstrap#string'),::(D,'/bootstrap#string'),!(foo)),'/util#assertEqual'(D,!(bar),'/bootstrap#string'))),'.'('builtin#varName'(::(A,E),!('CTTerm')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('Cont')),'.'('builtin#varName'(::(D,H),!('BAR')),[]))))),'builtin#true'). '/util#behavior'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),!('should pass non-compound terms as-is'),','('/containers#uncontainerize'(::(!(bar),'/bootstrap#string'),::(D,'/bootstrap#string'),!(foo)),'/util#assertEqual'(D,!(bar),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'/util#behavior'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),!('should undo the working of containerize'),','(=(::(D,'/bootstrap#pred'),::('annotation#parentheses'(','('builtin#succ'(4,E),','('/Functional#eval'('/Functional#num2str'('/Functional#const'(E)),'/bootstrap#string',F),','('builtin#parseTerm'(::([],'/bootstrap#list'(G)),!(foo),'.'(::(!(bar),'/bootstrap#string'),[])),'builtin#loadedStatement'(!('/foo/bar'),'/Functional#def'('/containers#pi','/bootstrap#number','/Functional#const'(3.1415)),[]))))),'/bootstrap#pred')),','('/containers#containerize'(::(D,'/bootstrap#pred'),A,!(bar)),','('/containers#uncontainerize'(A,::(H,'/bootstrap#pred'),!(bar)),'/util#assertEqual'(H,D,'/bootstrap#pred'))))),'.'('builtin#varName'(::(A,I),!('CTTerm')),'.'('builtin#varName'(::(B,J),!('TTerm')),'.'('builtin#varName'(::(C,K),!('Cont')),'.'('builtin#varName'(::(D,L),!('Pred')),'.'('builtin#varName'(::(E,M),!('X')),'.'('builtin#varName'(::(F,N),!('Str')),'.'('builtin#varName'(::(H,O),!('PredPrime')),[])))))))),'builtin#true'). '/util#behavior'(::('/containers#uncontainerize'(A,B,C),'/bootstrap#pred'),!('should undo the working of containerize'),','(=(::(D,'/bootstrap#pred'),::(','('builtin#succ'(4,E),','('/Functional#eval'('/Functional#num2str'('/Functional#const'(E)),'/bootstrap#string',F),','('builtin#parseTerm'(::([],'/bootstrap#list'(G)),!(foo),'.'(::(!(bar),'/bootstrap#string'),[])),'builtin#loadedStatement'(!('/foo/bar'),'/Functional#def'('/containers#pi','/bootstrap#number','/Functional#const'(3.1415)),[])))),'/bootstrap#pred')),','('/containers#containerize'(::(D,'/bootstrap#pred'),A,!(bar)),','('/containers#uncontainerize'(A,::(H,'/bootstrap#pred'),!(bar)),'/util#assertEqual'(H,D,'/bootstrap#pred'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'annotation#shrink'(:-('/containers#uncontainerize'(A,B,C),'builtin#if'('builtin#compound'(A),'builtin#if'('/containers#specialUncontainerize'(A,B,C),'builtin#true',','('builtin#parseTerm'(A,D,E),','('/containers#uncontainerizeName'(D,F,C),','('/containers#uncontainerizeList'(E,G,C),'builtin#parseTerm'(B,F,G))))),=(A,B)))),'.'('builtin#varName'(::(A,H),!('CTTerm')),'.'('builtin#varName'(::(B,I),!('TTerm')),'.'('builtin#varName'(::(C,J),!('Cont')),'.'('builtin#varName'(::(D,K),!('CName')),'.'('builtin#varName'(::(E,L),!('CArgs')),'.'('builtin#varName'(::(F,M),!('Name')),'.'('builtin#varName'(::(G,N),!('Args')),[])))))))),'builtin#true'). :-('/containers#uncontainerize'(A,B,C),'builtin#if'('builtin#compound'(A),'builtin#if'('/containers#specialUncontainerize'(A,B,C),'builtin#true',','('builtin#parseTerm'(A,D,E),','('/containers#uncontainerizeName'(D,F,C),','('/containers#uncontainerizeList'(E,G,C),'builtin#parseTerm'(B,F,G))))),=(A,B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'/bootstrap#signature'(::('/containers#uncontainerizeList'(A,B,C),'/bootstrap#pred'),'annotation#changeMode'('.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[]))),'/bootstrap#vert')),'.'('builtin#varName'(::(A,D),!('CArgs')),'.'('builtin#varName'(::(B,E),!('Args')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#uncontainerizeList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),:-('/containers#uncontainerizeList'([],[],A),'builtin#true'),[]),'builtin#true'). :-('/containers#uncontainerizeList'([],[],A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'annotation#shrink'(:-('/containers#uncontainerizeList'('.'(A,B),'.'(C,D),E),','('/containers#uncontainerize'(A,C,E),'/containers#uncontainerizeList'(B,D,E)))),'.'('builtin#varName'(::(A,F),!('CTTerm')),'.'('builtin#varName'(::(B,G),!('CTTerms')),'.'('builtin#varName'(::(C,H),!('TTerm')),'.'('builtin#varName'(::(D,I),!('TTerms')),'.'('builtin#varName'(::(E,J),!('Cont')),[])))))),'builtin#true'). :-('/containers#uncontainerizeList'('.'(A,B),'.'(C,D),E),','('/containers#uncontainerize'(A,C,E),'/containers#uncontainerizeList'(B,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/uncontainerize.ced'),'/bootstrap#signature'(::('/containers#specialUncontainerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('CTTerm')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('Cont')),[])))),'builtin#true'). '/bootstrap#signature'(::('/containers#specialUncontainerize'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/bootstrap#signature'(::('/impred#clause'(A,B),'/bootstrap#statement'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,C),!('Head')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#clause'(A,B),'/bootstrap#statement'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/bootstrap#projection'(::('/impred#clause'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))),'.'('builtin#varName'(::(A,C),!('Head')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#projection'(::('/impred#clause'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/bootstrap#adapter'(::(A,'/impred#impred'),::('/impred#clause'(A,'/impred#true'),'/bootstrap#statement')),'.'('builtin#varName'(::(A,B),!('Head')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/impred#impred'),::('/impred#clause'(A,'/impred#true'),'/bootstrap#statement')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/bootstrap#signature'(::('/impred#greet'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#greet'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/impred#clause'('/impred#greet'(A),'/impred#conj'('/impred#task'('/impred#userInput',B,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(!('Hello, '),B,A)))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Name')),[]))),'builtin#true'). '/impred#clause'('/impred#greet'(A),'/impred#conj'('/impred#task'('/impred#userInput',B,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(!('Hello, '),B,A)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#greet'(!('Hello, cedalion')),'.'('/impred#task'('/impred#userInput',!(cedalion),'/bootstrap#string'),[]),'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#greet'(!('Hello, cedalion')),'.'('/impred#task'('/impred#userInput',!(cedalion),'/bootstrap#string'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/clause.ced'),~>('/impred#clause'(A,B),:-('/impred#solve'(A,C,D,E),'/impred#solve'(B,C,D,E))),'.'('builtin#varName'(::(A,F),!('H')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('X')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('C')),[])))))),'builtin#true'). :-('/impred#solve'(A,B,C,D),','('/impred#clause'(A,E),'/impred#solve'(E,B,C,D))). :-('/impred#clause'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'/bootstrap#signature'(::('/impred#testLoadNamespace'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('File')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#testLoadNamespace'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'/bootstrap#signature'(::('/impred#foo'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#foo'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),:-('/impred#foo'(4),'builtin#true'),[]),'builtin#true'). :-('/impred#foo'(4),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'/bootstrap#signature'(::('/impred#loadCedalionImage'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#statement'),'.'(::(D,'/bootstrap#statement'),[]))))),'.'('builtin#varName'(::(A,E),!('File')),'.'('builtin#varName'(::(B,F),!('Prep')),'.'('builtin#varName'(::(C,G),!('In')),'.'('builtin#varName'(::(D,H),!('Out')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/impred#loadCedalionImage'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#statement'),'.'(::(D,'/bootstrap#statement'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'/bootstrap#signature'(::('/impred#loadImageToContainer'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('ImgFile')),'.'('builtin#varName'(::(B,D),!('Container')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#loadImageToContainer'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'/impred#clause'('/impred#loadImageToContainer'(A,B),'/impred#task'('/impred#loadCedalionImage'(A,'/containers#containerize'(::(C,'/bootstrap#statement'),::(D,'/bootstrap#statement'),B),C,D),E,'/nodalion#voidType')),'.'('builtin#varName'(::(A,F),!('ImgFile')),'.'('builtin#varName'(::(B,G),!('Container')),'.'('builtin#varName'(::(C,H),!('In')),'.'('builtin#varName'(::(D,I),!('Out')),[]))))),'builtin#true'). '/impred#clause'('/impred#loadImageToContainer'(A,B),'/impred#task'('/impred#loadCedalionImage'(A,'/containers#containerize'(::(C,'/bootstrap#statement'),::(D,'/bootstrap#statement'),B),C,D),E,'/nodalion#voidType')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/containers.ced'),'annotation#shrink'('/impred#clause'('/impred#testLoadNamespace'(A,B),'/impred#conj'('/impred#loadImageToContainer'(A,!(foobar)),'/impred#conj'('/impred#pred'('/containers#containerize'(::('/impred#foo'(B),'/bootstrap#pred'),::(C,'/bootstrap#pred'),!(foobar))),'/impred#pred'(','(C,\+('/impred#foo'(B)))))))),'.'('builtin#varName'(::(A,D),!('File')),'.'('builtin#varName'(::(B,E),!('X')),'.'('builtin#varName'(::(C,F),!('Goal')),[])))),'builtin#true'). '/impred#clause'('/impred#testLoadNamespace'(A,B),'/impred#conj'('/impred#loadImageToContainer'(A,!(foobar)),'/impred#conj'('/impred#pred'('/containers#containerize'(::('/impred#foo'(B),'/bootstrap#pred'),::(C,'/bootstrap#pred'),!(foobar))),'/impred#pred'(','(C,\+('/impred#foo'(B))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#defAtom'(::('/impred#someException','/bootstrap#exception')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#someException','/bootstrap#exception')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#signature'(::('/impred#throws'(A),'/impred#response'(B)),'.'(::(A,'/bootstrap#exception'),[])),'.'('builtin#varName'(::(A,C),!('Exception')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#throws'(A),'/impred#response'(B)),'.'(::(A,'/bootstrap#exception'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#pred'('builtin#throw'('/impred#someException')),A,B,'/impred#throws'('/impred#someException'))),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#pred'('builtin#throw'('/impred#someException')),A,B,'/impred#throws'('/impred#someException'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#signature'(::('/impred#catch'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/impred#impred'),[])))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Exception')),'.'('builtin#varName'(::(C,F),!('Catch')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#catch'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/impred#impred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#projection'(::('/impred#catch'(A,B,C),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#label'(!('try:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(catch)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[])))))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Exception')),'.'('builtin#varName'(::(C,F),!('Catch')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#catch'(A,B,C),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#label'(!('try:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(catch)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#catch'('/impred#pred'(=(::(3,'/bootstrap#number'),::(A,'/bootstrap#number'))),B,'/impred#pred'('builtin#fail')),A,'/bootstrap#number','/impred#solution'(3))),'.'('builtin#varName'(::(A,C),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#catch'('/impred#pred'(=(::(3,'/bootstrap#number'),::(A,'/bootstrap#number'))),B,'/impred#pred'('builtin#fail')),A,'/bootstrap#number','/impred#solution'(3))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),:-('/impred#solve'('/impred#catch'(A,B,C),D,E,'/impred#solution'(F)),'/impred#solve'(A,D,E,'/impred#solution'(F))),'.'('builtin#varName'(::(A,G),!('Goal')),'.'('builtin#varName'(::(B,H),!('Exception')),'.'('builtin#varName'(::(C,I),!('Catch')),'.'('builtin#varName'(::(D,J),!('X')),'.'('builtin#varName'(::(E,K),!('T')),'.'('builtin#varName'(::(F,L),!('XPrime')),[]))))))),'builtin#true'). :-('/impred#solve'('/impred#catch'(A,B,C),D,E,'/impred#solution'(F)),'/impred#solve'(A,D,E,'/impred#solution'(F))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'(','('/impred#solve'('annotation#parentheses'('/impred#catch'('/impred#pred'('builtin#throw'('/impred#someException')),A,'/impred#pred'(=(::(3,'/bootstrap#number'),::(B,'/bootstrap#number'))))),B,'/bootstrap#number','/impred#solution'(C)),'builtin#equals'(::(C,'/bootstrap#number'),::(3,'/bootstrap#number')))),'.'('builtin#varName'(::(B,D),!('X')),'.'('builtin#varName'(::(C,E),!('XPrime')),[]))),'builtin#true'). '/bootstrap#unitTest'(','('/impred#solve'('/impred#catch'('/impred#pred'('builtin#throw'('/impred#someException')),A,'/impred#pred'(=(::(3,'/bootstrap#number'),::(B,'/bootstrap#number')))),B,'/bootstrap#number','/impred#solution'(C)),'builtin#equals'(::(C,'/bootstrap#number'),::(3,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),:-('/impred#solve'('/impred#catch'(A,B,C),D,E,F),','('/impred#solve'(A,D,E,'/impred#throws'(G)),'builtin#if'(=(::(B,'/bootstrap#exception'),::(G,'/bootstrap#exception')),'/impred#solve'(C,D,E,F),'builtin#throw'(G)))),'.'('builtin#varName'(::(A,H),!('Goal')),'.'('builtin#varName'(::(B,I),!('Exception')),'.'('builtin#varName'(::(C,J),!('Catch')),'.'('builtin#varName'(::(D,K),!('X')),'.'('builtin#varName'(::(E,L),!('T')),'.'('builtin#varName'(::(F,M),!('Sol')),'.'('builtin#varName'(::(G,N),!('ExceptionPrime')),[])))))))),'builtin#true'). :-('/impred#solve'('/impred#catch'(A,B,C),D,E,F),','('/impred#solve'(A,D,E,'/impred#throws'(G)),'builtin#if'(=(::(B,'/bootstrap#exception'),::(G,'/bootstrap#exception')),'/impred#solve'(C,D,E,F),'builtin#throw'(G)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#sigProj'(::('/impred#throwInto'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/impred#response'(E)),'.'(::(D,E),'.'(::(E,'/bootstrap#type'),[]))))),'/bootstrap#horiz'('.'('/bootstrap#label'(!(throw)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),'.'('/bootstrap#label'(!('into find')),'.'('/bootstrap#vis'(::(D,E)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(E,'/bootstrap#type')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!('to get')),'.'('/bootstrap#vis'(::(C,'/impred#response'(E))),[])))))))))))),'.'('builtin#varName'(::(A,F),!('Goal')),'.'('builtin#varName'(::(B,G),!('Exception')),'.'('builtin#varName'(::(C,H),!('Response')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/bootstrap#sigProj'(::('/impred#throwInto'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#exception'),'.'(::(C,'/impred#response'(E)),'.'(::(D,E),'.'(::(E,'/bootstrap#type'),[]))))),'/bootstrap#horiz'('.'('/bootstrap#label'(!(throw)),'.'('/bootstrap#vis'(::(B,'/bootstrap#exception')),'.'('/bootstrap#label'(!('into find')),'.'('/bootstrap#vis'(::(D,E)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(E,'/bootstrap#type')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!('to get')),'.'('/bootstrap#vis'(::(C,'/impred#response'(E))),[])))))))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'(','('/impred#throwInto'('/impred#true','/impred#someException',A,B,C),'builtin#equals'(::(A,'/impred#response'(C)),::('/impred#throws'('/impred#someException'),'/impred#response'(C))))),'.'('builtin#varName'(::(A,D),!('Resp')),'.'('builtin#varName'(::(B,E),!('X')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#unitTest'(','('/impred#throwInto'('/impred#true','/impred#someException',A,B,C),'builtin#equals'(::(A,'/impred#response'(C)),::('/impred#throws'('/impred#someException'),'/impred#response'(C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),:-('/impred#throwInto'(A,B,C,D,E),'builtin#if'('annotation#parentheses'(=(::(A,'/impred#impred'),::('/impred#catch'(F,B,G),'/impred#impred'))),'/impred#solve'(G,D,E,C),=(::(C,'/impred#response'(E)),::('/impred#throws'(B),'/impred#response'(E))))),'.'('builtin#varName'(::(A,H),!('Goal')),'.'('builtin#varName'(::(B,I),!('Exception')),'.'('builtin#varName'(::(C,J),!('Solution')),'.'('builtin#varName'(::(D,K),!('X')),'.'('builtin#varName'(::(E,L),!('T')),'.'('builtin#varName'(::(G,M),!('Catch')),[]))))))),'builtin#true'). :-('/impred#throwInto'(A,B,C,D,E),'builtin#if'(=(::(A,'/impred#impred'),::('/impred#catch'(F,B,G),'/impred#impred')),'/impred#solve'(G,D,E,C),=(::(C,'/impred#response'(E)),::('/impred#throws'(B),'/impred#response'(E))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'(','('/impred#throwInto'('/impred#catch'('/impred#true',A,'/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#someException',C,B,'/bootstrap#number'),'builtin#equals'(::(C,'/impred#response'('/bootstrap#number')),::('/impred#solution'(2),'/impred#response'('/bootstrap#number'))))),'.'('builtin#varName'(::(B,D),!('X')),'.'('builtin#varName'(::(C,E),!('Resp')),[]))),'builtin#true'). '/bootstrap#unitTest'(','('/impred#throwInto'('/impred#catch'('/impred#true',A,'/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#someException',C,B,'/bootstrap#number'),'builtin#equals'(::(C,'/impred#response'('/bootstrap#number')),::('/impred#solution'(2),'/impred#response'('/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'(','('/impred#throwInto'('/impred#catch'('/impred#true','/bootstrap#false'(A),'/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#someException',C,B,'/bootstrap#number'),'builtin#equals'(::(C,'/impred#response'('/bootstrap#number')),::('/impred#throws'('/impred#someException'),'/impred#response'('/bootstrap#number'))))),'.'('builtin#varName'(::(B,D),!('X')),'.'('builtin#varName'(::(C,E),!('Resp')),[]))),'builtin#true'). '/bootstrap#unitTest'(','('/impred#throwInto'('/impred#catch'('/impred#true','/bootstrap#false'(A),'/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#someException',C,B,'/bootstrap#number'),'builtin#equals'(::(C,'/impred#response'('/bootstrap#number')),::('/impred#throws'('/impred#someException'),'/impred#response'('/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'/bootstrap#unitTest'(','('/impred#solve'('/impred#catch'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#true'),'/impred#someException','/impred#pred'('builtin#fail')),B,C,D),'builtin#equals'(::(D,'/impred#response'(C)),::('/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#catch'('/impred#conj'('/impred#true','/impred#true'),'/impred#someException','/impred#pred'('builtin#fail')),B),'/impred#response'(C))))),'.'('builtin#varName'(::(A,E),!('Str')),'.'('builtin#varName'(::(B,F),!('X')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Resp')),[]))))),'builtin#true'). '/bootstrap#unitTest'(','('/impred#solve'('/impred#catch'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#true'),'/impred#someException','/impred#pred'('builtin#fail')),B,C,D),'builtin#equals'(::(D,'/impred#response'(C)),::('/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#catch'('/impred#conj'('/impred#true','/impred#true'),'/impred#someException','/impred#pred'('builtin#fail')),B),'/impred#response'(C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/exceptions.ced'),'annotation#shrink'(:-('/impred#solve'('/impred#catch'(A,B,C),D,E,'/impred#continuation'(F,G,H,'/impred#catch'(I,B,C),J)),'/impred#solve'(A,D,E,'/impred#continuation'(F,G,H,I,J)))),'.'('builtin#varName'(::(A,K),!('Goal')),'.'('builtin#varName'(::(B,L),!('Exception')),'.'('builtin#varName'(::(C,M),!('Catch')),'.'('builtin#varName'(::(D,N),!('X')),'.'('builtin#varName'(::(E,O),!('T')),'.'('builtin#varName'(::(F,P),!('Task')),'.'('builtin#varName'(::(G,Q),!('Result')),'.'('builtin#varName'(::(H,R),!('Tau')),'.'('builtin#varName'(::(I,S),!('GoalPrime')),'.'('builtin#varName'(::(J,T),!('XPrime')),[]))))))))))),'builtin#true'). :-('/impred#solve'('/impred#catch'(A,B,C),D,E,'/impred#continuation'(F,G,H,'/impred#catch'(I,B,C),J)),'/impred#solve'(A,D,E,'/impred#continuation'(F,G,H,I,J))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/forall.ced'),'/bootstrap#signature'(::('/impred#forall'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#forall'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/forall.ced'),'/bootstrap#projection'(::('/impred#forall'(A,B),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(8704),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[])))))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/impred#forall'(A,B),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(8704),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/forall.ced'),'/util#behavior'(::('/impred#forall'(A,B),'/impred#impred'),!('should succeed if for all assigmnets that satisfy G1 also satisfy G2'),'/impred#simulate'('/impred#forall'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('builtin#greaterThen'(C,0))),[],'/impred#true')),'.'('builtin#varName'(::(A,D),!('G1')),'.'('builtin#varName'(::(B,E),!('G2')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/impred#forall'(A,B),'/impred#impred'),!('should succeed if for all assigmnets that satisfy G1 also satisfy G2'),'/impred#simulate'('/impred#forall'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('builtin#greaterThen'(C,0))),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/forall.ced'),'/util#behavior'(::('/impred#forall'(A,B),'/impred#impred'),!('should fail if G1 holds but G2 does not'),\+('/impred#simulate'('/impred#forall'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('builtin#greaterThen'(C,1))),[],'/impred#true'))),'.'('builtin#varName'(::(A,D),!('G1')),'.'('builtin#varName'(::(B,E),!('G2')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/impred#forall'(A,B),'/impred#impred'),!('should fail if G1 holds but G2 does not'),\+('/impred#simulate'('/impred#forall'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('builtin#greaterThen'(C,1))),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/forall.ced'),'/impred#clause'('/impred#forall'(A,B),'/impred#not'('annotation#parentheses'('/impred#conj'(A,'/impred#not'(B))))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/impred#clause'('/impred#forall'(A,B),'/impred#not'('/impred#conj'(A,'/impred#not'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#expr'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#eval'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Val')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#eval'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#projection'(::('/impred#eval'(A,B,C),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(A,'/impred#expr'(B))),[])))))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Val')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#eval'(A,B,C),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(C,B)),'.'('/bootstrap#halfSize'('/bootstrap#horiz'('.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[])))),'.'('/bootstrap#symbol'(8656),'.'('/bootstrap#vis'(::(A,'/impred#expr'(B))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#pureExpr'(A),'/impred#expr'(B)),'.'(::(A,'/Functional#expr'(B)),[])),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#pureExpr'(A),'/impred#expr'(B)),'.'(::(A,'/Functional#expr'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#projection'(::('/impred#pureExpr'(A),'/impred#expr'(B)),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),8810,8811),[]))),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/impred#pureExpr'(A),'/impred#expr'(B)),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/Functional#expr'(B))),8810,8811),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#adapter'(::(A,'/Functional#expr'(B)),::('/impred#pureExpr'(A),'/impred#expr'(B))),'.'('builtin#varName'(::(A,C),!('Expr')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#expr'(B)),::('/impred#pureExpr'(A),'/impred#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#adapter'(::(A,B),::('/impred#pureExpr'('/Functional#const'(A)),'/impred#expr'(B))),'.'('builtin#varName'(::(A,C),!('Val')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,B),::('/impred#pureExpr'('/Functional#const'(A)),'/impred#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#pureExpr'('/Functional#const'(2)),'/bootstrap#number',2),[],'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#pureExpr'('/Functional#const'(2)),'/bootstrap#number',2),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/impred#clause'('/impred#eval'('/impred#pureExpr'(A),B,C),'/impred#pred'('/Functional#eval'(A,B,C))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('V')),[])))),'builtin#true'). '/impred#clause'('/impred#eval'('/impred#pureExpr'(A),B,C),'/impred#pred'('/Functional#eval'(A,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#binop'(A,B,C),'/impred#expr'(D)),'.'(::(A,'/impred#expr'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/impred#expr'(D)),[])))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('B')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/impred#binop'(A,B,C),'/impred#expr'(D)),'.'(::(A,'/impred#expr'(D)),'.'(::(B,'/Functional#binOp'(D)),'.'(::(C,'/impred#expr'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#projection'(::('/impred#binop'(A,B,C),'/impred#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#expr'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/impred#expr'(D))),[]))))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('Op')),'.'('builtin#varName'(::(C,G),!('B')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/impred#binop'(A,B,C),'/impred#expr'(D)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#expr'(D))),'.'('/bootstrap#vis'(::(B,'/Functional#binOp'(D))),'.'('/bootstrap#vis'(::(C,'/impred#expr'(D))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/impred#binop'(C,A,D),'/impred#expr'(B))),'.'('builtin#varName'(::(A,E),!('Op')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('A')),'.'('builtin#varName'(::(D,H),!('B')),[]))))),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#binOp'(B)),::('/impred#binop'(C,A,D),'/impred#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#pureExpr'('/Functional#const'(1)),'/Functional#numPlus','/impred#pureExpr'('/Functional#const'(2))),'/bootstrap#number',3),[],'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#pureExpr'('/Functional#const'(1)),'/Functional#numPlus','/impred#pureExpr'('/Functional#const'(2))),'/bootstrap#number',3),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#pureExpr'('/Functional#const'(1)),'/Functional#numPlus','/impred#pureExpr'('/Functional#const'(2))),'/bootstrap#number',4),[],'/impred#true'))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#pureExpr'('/Functional#const'(1)),'/Functional#numPlus','/impred#pureExpr'('/Functional#const'(2))),'/bootstrap#number',4),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/impred#clause'('/impred#eval'('/impred#binop'(A,B,C),D,E),'/impred#conj'('/impred#eval'(A,D,F),'/impred#conj'('/impred#eval'(C,D,G),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),B,'/Functional#const'(G)),D,E))))),'.'('builtin#varName'(::(A,H),!('A')),'.'('builtin#varName'(::(B,I),!('Op')),'.'('builtin#varName'(::(C,J),!('B')),'.'('builtin#varName'(::(D,K),!('T')),'.'('builtin#varName'(::(E,L),!('V')),'.'('builtin#varName'(::(F,M),!('APrime')),'.'('builtin#varName'(::(G,N),!('BPrime')),[])))))))),'builtin#true'). '/impred#clause'('/impred#eval'('/impred#binop'(A,B,C),D,E),'/impred#conj'('/impred#eval'(A,D,F),'/impred#conj'('/impred#eval'(C,D,G),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),B,'/Functional#const'(G)),D,E))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#call'(A),'/impred#expr'(B)),'.'(::(A,'/impred#task'(B)),[])),'.'('builtin#varName'(::(A,C),!('Task')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#call'(A),'/impred#expr'(B)),'.'(::(A,'/impred#task'(B)),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#adapter'(::(A,'/impred#task'(B)),::('/impred#call'(A),'/impred#expr'(B))),'.'('builtin#varName'(::(A,C),!('Task')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,'/impred#task'(B)),::('/impred#call'(A),'/impred#expr'(B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#call'('/impred#userInput'),'/Functional#concat','/impred#pureExpr'('/Functional#const'(!(' world')))),'/bootstrap#string',!('hello world')),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#binop'('/impred#call'('/impred#userInput'),'/Functional#concat','/impred#pureExpr'('/Functional#const'(!(' world')))),'/bootstrap#string',!('hello world')),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#call'('/impred#userInput'),'/bootstrap#string',!(hello)),[],'/impred#true'))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#call'('/impred#userInput'),'/bootstrap#string',!(hello)),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/impred#clause'('/impred#eval'('/impred#call'(A),B,C),'/impred#task'(A,C,B)),'.'('builtin#varName'(::(A,D),!('Task')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Val')),[])))),'builtin#true'). '/impred#clause'('/impred#eval'('/impred#call'(A),B,C),'/impred#task'(A,C,B)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#defAtom'(::('/impred#greeting','/impred#expr'('/bootstrap#string'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#greeting','/impred#expr'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#signature'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/impred#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/impred#expr'(B)),[])))),'.'('builtin#varName'(::(A,D),!('Def')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/impred#expr'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/impred#expr'(B)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#projection'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,'/impred#expr'(B))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/impred#expr'(B))),[])))))),'.'('builtin#varName'(::(A,D),!('Def')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,'/impred#expr'(B))),'.'('/bootstrap#symbol'(8797),'.'('/bootstrap#vis'(::(C,'/impred#expr'(B))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#alias'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),!('=def (impure)')),'.'('builtin#varName'(::(A,D),!('Def')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Expr')),[])))),'builtin#true'). '/bootstrap#alias'(::('/impred#defFunc'(A,B,C),'/bootstrap#statement'),!('=def (impure)')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/impred#defFunc'('/impred#greeting','/bootstrap#string','/impred#binop'('/impred#pureExpr'('/Functional#const'(!('hello, '))),'/Functional#concat','/impred#call'('/impred#userInput'))),[]),'builtin#true'). '/impred#defFunc'('/impred#greeting','/bootstrap#string','/impred#binop'('/impred#pureExpr'('/Functional#const'(!('hello, '))),'/Functional#concat','/impred#call'('/impred#userInput'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#greeting','/bootstrap#string',!('hello, impred')),'.'('/impred#task'('/impred#userInput',!(impred),'/bootstrap#string'),[]),'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#eval'('/impred#greeting','/bootstrap#string',!('hello, impred')),'.'('/impred#task'('/impred#userInput',!(impred),'/bootstrap#string'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#greeting','/bootstrap#string',!('foo bar')),[],'/impred#true'))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#eval'('/impred#greeting','/bootstrap#string',!('foo bar')),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),~>('/impred#defFunc'(A,B,C),'/impred#clause'('/impred#eval'(A,B,D),'/impred#eval'(C,B,D))),'.'('builtin#varName'(::(A,E),!('Def')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Expr')),'.'('builtin#varName'(::(D,H),!('V')),[]))))),'builtin#true'). :-('/impred#clause'('/impred#eval'(A,B,C),'/impred#eval'(D,B,C)),','('/impred#defFunc'(A,B,D),'builtin#true')). :-('/impred#defFunc'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func.ced'),'/bootstrap#defines'('/impred#clause'('/impred#eval'(A,B,C),D),::(A,'/impred#expr'(B)),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,E),!('F')),'.'('builtin#varName'(::(B,F),!('T')),[]))),'builtin#true'). '/bootstrap#defines'('/impred#clause'('/impred#eval'(A,B,C),D),::(A,'/impred#expr'(B)),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#signature'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#expr'(D)),'.'(::(C,'/impred#expr'(D)),[])))),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#expr'(D)),'.'(::(C,'/impred#expr'(D)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#projection'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/impred#expr'(D))),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#expr'(D))),[]))),[])))))),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/impred#expr'(D))),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#expr'(D))),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#alias'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('if (impure)')),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#alias'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('if (impure)')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/util#behavior'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('should evaluate to Then if Cond holds'),'/impred#simulate'('/impred#eval'('/impred#funcIf'('/impred#true','/impred#pureExpr'('/Functional#const'(2)),'/impred#pureExpr'('/Functional#const'(3))),'/bootstrap#number',2),[],'/impred#true')),'.'('builtin#varName'(::(A,E),!('Cond')),'.'('builtin#varName'(::(B,F),!('Then')),'.'('builtin#varName'(::(C,G),!('Else')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/util#behavior'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('should evaluate to Then if Cond holds'),'/impred#simulate'('/impred#eval'('/impred#funcIf'('/impred#true','/impred#pureExpr'('/Functional#const'(2)),'/impred#pureExpr'('/Functional#const'(3))),'/bootstrap#number',2),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/impred#clause'('/impred#eval'('annotation#parentheses'('/impred#funcIf'(A,B,C)),D,E),'/impred#if'(A,'/impred#eval'(B,D,E),'/impred#eval'(C,D,E))),'.'('builtin#varName'(::(A,F),!('Cond')),'.'('builtin#varName'(::(B,G),!('Then')),'.'('builtin#varName'(::(C,H),!('Else')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Value')),[])))))),'builtin#true'). '/impred#clause'('/impred#eval'('/impred#funcIf'(A,B,C),D,E),'/impred#if'(A,'/impred#eval'(B,D,E),'/impred#eval'(C,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/util#behavior'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('should evaluate to Else if Cond does not hold'),','('/impred#simulate'('/impred#eval'('/impred#funcIf'('/impred#pred'('builtin#fail'),'/impred#pureExpr'('/Functional#const'(2)),'/impred#pureExpr'('/Functional#const'(3))),'/bootstrap#number',E),[],'/impred#true'),'builtin#equals'(::(E,'/bootstrap#number'),::(3,'/bootstrap#number')))),'.'('builtin#varName'(::(A,F),!('Cond')),'.'('builtin#varName'(::(B,G),!('Then')),'.'('builtin#varName'(::(C,H),!('Else')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/impred#funcIf'(A,B,C),'/impred#expr'(D)),!('should evaluate to Else if Cond does not hold'),','('/impred#simulate'('/impred#eval'('/impred#funcIf'('/impred#pred'('builtin#fail'),'/impred#pureExpr'('/Functional#const'(2)),'/impred#pureExpr'('/Functional#const'(3))),'/bootstrap#number',E),[],'/impred#true'),'builtin#equals'(::(E,'/bootstrap#number'),::(3,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#signature'(::('/impred#where'(A,B),'/impred#expr'(C)),'.'(::(A,'/impred#expr'(C)),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Impred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#where'(A,B),'/impred#expr'(C)),'.'(::(A,'/impred#expr'(C)),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#projection'(::('/impred#where'(A,B),'/impred#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#expr'(C))),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))),'.'('builtin#varName'(::(A,D),!('Expr')),'.'('builtin#varName'(::(B,E),!('Impred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#where'(A,B),'/impred#expr'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#expr'(C))),'.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/util#behavior'(::('/impred#where'(A,B),'/impred#expr'(C)),!('should evaluate Imred as condition for the Expr'),'/impred#simulate'('/impred#eval'('/impred#where'('/impred#pureExpr'('/Functional#const'(D)),'/impred#pred'('builtin#succ'(1,D))),'/bootstrap#number',2),[],'/impred#true')),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('Impred')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/impred#where'(A,B),'/impred#expr'(C)),!('should evaluate Imred as condition for the Expr'),'/impred#simulate'('/impred#eval'('/impred#where'('/impred#pureExpr'('/Functional#const'(D)),'/impred#pred'('builtin#succ'(1,D))),'/bootstrap#number',2),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/bootstrap#signature'(::('/impred#false'(A),'/bootstrap#exception'),'.'(::(A,'/impred#impred'),[])),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#false'(A),'/bootstrap#exception'),'.'(::(A,'/impred#impred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/impred#clause'('/impred#eval'('/impred#where'(A,B),C,D),'/impred#if'(B,'/impred#eval'(A,C,D),'/impred#pred'('builtin#throw'('/impred#false'(B))))),'.'('builtin#varName'(::(A,E),!('Expr')),'.'('builtin#varName'(::(B,F),!('Impred')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Value')),[]))))),'builtin#true'). '/impred#clause'('/impred#eval'('/impred#where'(A,B),C,D),'/impred#if'(B,'/impred#eval'(A,C,D),'/impred#pred'('builtin#throw'('/impred#false'(B))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/func2.ced'),'/util#behavior'(::('/impred#where'(A,B),'/impred#expr'(C)),!('should throw an exception if Impred fails'),'/impred#solve'('/impred#eval'('/impred#where'(D,'/impred#pred'('builtin#fail')),'/bootstrap#number',E),F,G,'/impred#throws'('/impred#false'('/impred#pred'('builtin#fail'))))),'.'('builtin#varName'(::(A,H),!('Expr')),'.'('builtin#varName'(::(B,I),!('Impred')),'.'('builtin#varName'(::(C,J),!('T')),'.'('builtin#varName'(::(D,K),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/impred#where'(A,B),'/impred#expr'(C)),!('should throw an exception if Impred fails'),'/impred#solve'('/impred#eval'('/impred#where'(D,'/impred#pred'('builtin#fail')),'/bootstrap#number',E),F,G,'/impred#throws'('/impred#false'('/impred#pred'('builtin#fail'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/bootstrap#signature'(::('/impred#if'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),'.'(::(C,'/impred#impred'),[])))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#if'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),'.'(::(C,'/impred#impred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/bootstrap#projection'(::('/impred#if'(A,B,C),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[])))))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#if'(A,B,C),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(:)),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))),'.'('/bootstrap#label'(!('else:')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should succeed if both Cond and Then succeed'),'/impred#solve'('/impred#if'('/impred#true','/impred#true','/impred#pred'('builtin#fail')),2,'/bootstrap#number','/impred#solution'(2))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should succeed if both Cond and Then succeed'),'/impred#solve'('/impred#if'('/impred#true','/impred#true','/impred#pred'('builtin#fail')),2,'/bootstrap#number','/impred#solution'(2))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),:-('/impred#solve'('/impred#if'(A,B,C),D,E,F),'builtin#if'('/impred#solve'(A,B,'/impred#impred',G),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#solution'(H),'/impred#response'('/impred#impred'))),'/impred#solve'(H,D,E,F),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#continuation'(I,J,K,L,H),'/impred#response'('/impred#impred'))),=(::(F,'/impred#response'(E)),::('/impred#continuation'(I,J,K,'/impred#if'(L,H,C),D),'/impred#response'(E))),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#throws'(M),'/impred#response'(N))),=(::(F,'/impred#response'(E)),::('/impred#throws'(M),'/impred#response'(E))),'/impred#solve'(C,D,E,F)))),'/impred#solve'(C,D,E,F))),'.'('builtin#varName'(::(A,O),!('Cond')),'.'('builtin#varName'(::(B,P),!('Then')),'.'('builtin#varName'(::(C,Q),!('Else')),'.'('builtin#varName'(::(D,R),!('R')),'.'('builtin#varName'(::(E,S),!('T')),'.'('builtin#varName'(::(F,T),!('RespPrime')),'.'('builtin#varName'(::(G,U),!('Resp')),'.'('builtin#varName'(::(H,V),!('ThenPrime')),'.'('builtin#varName'(::(I,W),!('Task')),'.'('builtin#varName'(::(J,X),!('RetVal')),'.'('builtin#varName'(::(K,Y),!('Tau')),'.'('builtin#varName'(::(L,Z),!('Cont')),'.'('builtin#varName'(::(M,A1),!('Exception')),[])))))))))))))),'builtin#true'). :-('/impred#solve'('/impred#if'(A,B,C),D,E,F),'builtin#if'('/impred#solve'(A,B,'/impred#impred',G),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#solution'(H),'/impred#response'('/impred#impred'))),'/impred#solve'(H,D,E,F),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#continuation'(I,J,K,L,H),'/impred#response'('/impred#impred'))),=(::(F,'/impred#response'(E)),::('/impred#continuation'(I,J,K,'/impred#if'(L,H,C),D),'/impred#response'(E))),'builtin#if'(=(::(G,'/impred#response'('/impred#impred')),::('/impred#throws'(M),'/impred#response'(N))),=(::(F,'/impred#response'(E)),::('/impred#throws'(M),'/impred#response'(E))),'/impred#solve'(C,D,E,F)))),'/impred#solve'(C,D,E,F))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should succeed if Cond fails and Else succeed'),'/impred#solve'('/impred#if'('/impred#pred'('builtin#fail'),'/impred#pred'('builtin#fail'),'/impred#true'),2,'/bootstrap#number','/impred#solution'(2))),'.'('builtin#varName'(::(A,D),!('Cond')),'.'('builtin#varName'(::(B,E),!('Then')),'.'('builtin#varName'(::(C,F),!('Else')),[])))),'builtin#true'). '/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should succeed if Cond fails and Else succeed'),'/impred#solve'('/impred#if'('/impred#pred'('builtin#fail'),'/impred#pred'('builtin#fail'),'/impred#true'),2,'/bootstrap#number','/impred#solution'(2))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should handle impure conditions'),','('/impred#solve'('/impred#if'('/impred#greet'(!('Hello, yes')),'/impred#pred'(=(::(D,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(2,'/bootstrap#number')))),D,'/bootstrap#number','/impred#continuation'(E,F,'/bootstrap#string',G,H)),','('builtin#equals'(::(E,'/impred#task'('/bootstrap#string')),::('/impred#userInput','/impred#task'('/bootstrap#string'))),'builtin#equals'(::(G,'/impred#impred'),::('/impred#if'('/impred#conj'('/impred#true','/impred#pred'('builtin#strcat'(!('Hello, '),F,!('Hello, yes')))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#impred'))))),'.'('builtin#varName'(::(A,I),!('Cond')),'.'('builtin#varName'(::(B,J),!('Then')),'.'('builtin#varName'(::(C,K),!('Else')),'.'('builtin#varName'(::(D,L),!('X')),'.'('builtin#varName'(::(E,M),!('Task')),'.'('builtin#varName'(::(F,N),!('Answer')),'.'('builtin#varName'(::(G,O),!('Cont')),[])))))))),'builtin#true'). '/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should handle impure conditions'),','('/impred#solve'('/impred#if'('/impred#greet'(!('Hello, yes')),'/impred#pred'(=(::(D,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(2,'/bootstrap#number')))),D,'/bootstrap#number','/impred#continuation'(E,F,'/bootstrap#string',G,H)),','('builtin#equals'(::(E,'/impred#task'('/bootstrap#string')),::('/impred#userInput','/impred#task'('/bootstrap#string'))),'builtin#equals'(::(G,'/impred#impred'),::('/impred#if'('/impred#conj'('/impred#true','/impred#pred'('builtin#strcat'(!('Hello, '),F,!('Hello, yes')))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#number'),::(2,'/bootstrap#number')))),'/impred#impred'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should throw exceptions thrown by the condition'),'/impred#solve'('/impred#if'('/impred#pred'('builtin#throw'('/impred#someException')),'/impred#true','/impred#true'),D,E,'/impred#throws'('/impred#someException'))),'.'('builtin#varName'(::(A,F),!('Cond')),'.'('builtin#varName'(::(B,G),!('Then')),'.'('builtin#varName'(::(C,H),!('Else')),'.'('builtin#varName'(::(D,I),!('R')),'.'('builtin#varName'(::(E,J),!('T')),[])))))),'builtin#true'). '/util#behavior'(::('/impred#if'(A,B,C),'/impred#impred'),!('should throw exceptions thrown by the condition'),'/impred#solve'('/impred#if'('/impred#pred'('builtin#throw'('/impred#someException')),'/impred#true','/impred#true'),D,E,'/impred#throws'('/impred#someException'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/bootstrap#signature'(::('/impred#not'(A),'/impred#impred'),'.'(::(A,'/impred#impred'),[])),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#not'(A),'/impred#impred'),'.'(::(A,'/impred#impred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/bootstrap#projection'(::('/impred#not'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#projection'(::('/impred#not'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#not'(A),'/impred#impred'),!('should fail if Goal succeeds'),\+('/impred#simulate'('/impred#not'('/impred#true'),[],'/impred#true'))),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/util#behavior'(::('/impred#not'(A),'/impred#impred'),!('should fail if Goal succeeds'),\+('/impred#simulate'('/impred#not'('/impred#true'),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/util#behavior'(::('/impred#not'(A),'/impred#impred'),!('should succeed if Goal fails'),'/impred#simulate'('/impred#not'('/impred#pred'('builtin#fail')),[],'/impred#true')),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/util#behavior'(::('/impred#not'(A),'/impred#impred'),!('should succeed if Goal fails'),'/impred#simulate'('/impred#not'('/impred#pred'('builtin#fail')),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/if.ced'),'/impred#clause'('/impred#not'(A),'/impred#if'(A,'/impred#pred'('builtin#fail'),'/impred#true')),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/impred#clause'('/impred#not'(A),'/impred#if'(A,'/impred#pred'('builtin#fail'),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#signature'(::('/impred#response'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#response'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#signature'(::('/impred#solution'(A),'/impred#response'(B)),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('Res')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#solution'(A),'/impred#response'(B)),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#defAtom'(::('/impred#impred','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#impred','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#pred'('builtin#plus'(1,2,3)),3,'/bootstrap#number','/impred#solution'(3))),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#pred'('builtin#plus'(1,2,3)),3,'/bootstrap#number','/impred#solution'(3))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'(\+('/impred#solve'('/impred#pred'('builtin#fail'),A,B,C))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#solve'('/impred#pred'('builtin#fail'),A,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#signature'(::('/impred#pred'(A),'/impred#impred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#pred'(A),'/impred#impred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#projection'(::('/impred#pred'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),8810,8811),[]))),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#projection'(::('/impred#pred'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),8810,8811),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/impred#pred'(A),'/impred#impred')),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/impred#pred'(A),'/impred#impred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#signature'(::('/impred#solve'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#response'(C)),[]))))),'.'('builtin#varName'(::(A,E),!('Impred')),'.'('builtin#varName'(::(B,F),!('Res')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Resp')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/impred#solve'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#response'(C)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'annotation#shrink'('/bootstrap#projection'(::('/impred#solve'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(find)),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(D,'/impred#response'(C))),[]))))))))))),'.'('builtin#varName'(::(A,E),!('Impred')),'.'('builtin#varName'(::(B,F),!('Res')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Resp')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/impred#solve'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(find)),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(D,'/impred#response'(C))),[])))))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),:-('/impred#solve'('/impred#pred'(A),B,C,D),'builtin#catch'(','(A,=(::(D,'/impred#response'(C)),::('/impred#solution'(B),'/impred#response'(C)))),E,=(::(D,'/impred#response'(C)),::('/impred#throws'(E),'/impred#response'(C))))),'.'('builtin#varName'(::(A,F),!('Pred')),'.'('builtin#varName'(::(B,G),!('Res')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Solution')),'.'('builtin#varName'(::(E,J),!('Exception')),[])))))),'builtin#true'). :-('/impred#solve'('/impred#pred'(A),B,C,D),'builtin#catch'(','(A,=(::(D,'/impred#response'(C)),::('/impred#solution'(B),'/impred#response'(C)))),E,=(::(D,'/impred#response'(C)),::('/impred#throws'(E),'/impred#response'(C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#conj'('/impred#pred'('builtin#plus'(1,2,A)),'/impred#pred'('builtin#plus'(A,3,B))),B,'/bootstrap#number',C)),'.'('builtin#varName'(::(A,D),!('Y')),'.'('builtin#varName'(::(B,E),!('X')),[]))),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#conj'('/impred#pred'('builtin#plus'(1,2,A)),'/impred#pred'('builtin#plus'(A,3,B))),B,'/bootstrap#number',C)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'(\+('/impred#solve'('/impred#conj'('/impred#pred'('builtin#plus'(1,2,A)),'/impred#pred'('builtin#plus'(2,3,A))),A,'/bootstrap#number',B))),'.'('builtin#varName'(::(A,C),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#solve'('/impred#conj'('/impred#pred'('builtin#plus'(1,2,A)),'/impred#pred'('builtin#plus'(2,3,A))),A,'/bootstrap#number',B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#signature'(::('/impred#conj'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,C),!('IP1')),'.'('builtin#varName'(::(B,D),!('IP2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#conj'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#projection'(::('/impred#conj'(A,B),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[])))),'.'('builtin#varName'(::(A,C),!('IP1')),'.'('builtin#varName'(::(B,D),!('IP2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/impred#conj'(A,B),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#alias'(::('/impred#conj'(A,B),'/impred#impred'),!(',')),'.'('builtin#varName'(::(A,C),!('IP1')),'.'('builtin#varName'(::(B,D),!('IP2')),[]))),'builtin#true'). '/bootstrap#alias'(::('/impred#conj'(A,B),'/impred#impred'),!(',')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),:-('/impred#solve'('/impred#conj'(A,B),C,D,E),','('/impred#solve'(A,B,'/impred#impred','/impred#solution'(B)),'/impred#solve'(B,C,D,E))),'.'('builtin#varName'(::(A,F),!('IP1')),'.'('builtin#varName'(::(B,G),!('IP2')),'.'('builtin#varName'(::(C,H),!('Res')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Sol')),[])))))),'builtin#true'). :-('/impred#solve'('/impred#conj'(A,B),C,D,E),','('/impred#solve'(A,B,'/impred#impred','/impred#solution'(B)),'/impred#solve'(B,C,D,E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#conj'('/impred#pred'('builtin#throw'('/impred#someException')),'/impred#true'),A,B,'/impred#throws'('/impred#someException'))),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#conj'('/impred#pred'('builtin#throw'('/impred#someException')),'/impred#true'),A,B,'/impred#throws'('/impred#someException'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),:-('/impred#solve'('/impred#conj'(A,B),C,D,'/impred#throws'(E)),'/impred#solve'(A,B,'/impred#impred','/impred#throws'(E))),'.'('builtin#varName'(::(A,F),!('IP1')),'.'('builtin#varName'(::(B,G),!('IP2')),'.'('builtin#varName'(::(C,H),!('Res')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Exception')),[])))))),'builtin#true'). :-('/impred#solve'('/impred#conj'(A,B),C,D,'/impred#throws'(E)),'/impred#solve'(A,B,'/impred#impred','/impred#throws'(E))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#defAtom'(::('/impred#true','/impred#impred')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#true','/impred#impred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#projection'(::('/impred#true','/impred#impred'),'/bootstrap#symbol'(8868)),[]),'builtin#true'). '/bootstrap#projection'(::('/impred#true','/impred#impred'),'/bootstrap#symbol'(8868)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#default'(::('/impred#true','/impred#impred')),[]),'builtin#true'). '/bootstrap#default'(::('/impred#true','/impred#impred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#alias'(::('/impred#true','/impred#impred'),!('T')),[]),'builtin#true'). '/bootstrap#alias'(::('/impred#true','/impred#impred'),!('T')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#true',2,'/bootstrap#number','/impred#solution'(2))),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#true',2,'/bootstrap#number','/impred#solution'(2))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#unitTest'(\+('/impred#solve'('/impred#true',2,'/bootstrap#number','/impred#solution'(3)))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#solve'('/impred#true',2,'/bootstrap#number','/impred#solution'(3)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),:-('/impred#solve'('/impred#true',A,B,'/impred#solution'(A)),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Res')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/impred#solve'('/impred#true',A,B,'/impred#solution'(A)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/impred.ced'),'/bootstrap#defines'(:-('/impred#solve'(A,B,C,D),E),::(A,'/impred#impred'),'/bootstrap#semanticDefinition'),'.'('builtin#varName'(::(A,F),!('Impred')),[])),'builtin#true'). '/bootstrap#defines'(:-('/impred#solve'(A,B,C,D),E),::(A,'/impred#impred'),'/bootstrap#semanticDefinition'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),'/bootstrap#signature'(::('/impred#isPure'(A),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),[])),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#isPure'(A),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),'/bootstrap#projection'(::('/impred#isPure'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('pure:')),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#projection'(::('/impred#isPure'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('pure:')),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),'/util#behavior'(::('/impred#isPure'(A),'/bootstrap#pred'),!('should succeed if Impred succeeds without continuations'),','('/impred#isPure'('/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'builtin#equals'(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'.'('builtin#varName'(::(A,C),!('Impred')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/util#behavior'(::('/impred#isPure'(A),'/bootstrap#pred'),!('should succeed if Impred succeeds without continuations'),','('/impred#isPure'('/impred#pred'(=(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))),'builtin#equals'(::(B,'/bootstrap#number'),::(2,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),:-('/impred#isPure'(A),'/impred#solve'(A,B,C,'/impred#solution'(D))),'.'('builtin#varName'(::(A,E),!('Impred')),[])),'builtin#true'). :-('/impred#isPure'(A),'/impred#solve'(A,B,C,'/impred#solution'(D))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),'/bootstrap#signature'(::('/impred#addWithClause'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/impred#impred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Impred')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#addWithClause'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/impred#impred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),:-('cpi#procedureCommand'('/impred#addWithClause'(A,B,C),'/bootstrap#doProc'('cpi#edit'(B,::('/impred#isPure'('/impred#with'(D,E,F,A)),'/bootstrap#pred'),C))),','(\+('builtin#var'(::(A,'/impred#impred'))),'/impred#solve'(A,G,H,'/impred#continuation'(D,E,F,I,J)))),'.'('builtin#varName'(::(A,K),!('Impred')),'.'('builtin#varName'(::(B,L),!('Path')),'.'('builtin#varName'(::(C,M),!('VNs')),'.'('builtin#varName'(::(D,N),!('Task')),'.'('builtin#varName'(::(E,O),!('Value')),'.'('builtin#varName'(::(F,P),!('T')),[]))))))),'builtin#true'). :-('cpi#procedureCommand'('/impred#addWithClause'(A,B,C),'/bootstrap#doProc'('cpi#edit'(B,::('/impred#isPure'('/impred#with'(D,E,F,A)),'/bootstrap#pred'),C))),','(\+('builtin#var'(::(A,'/impred#impred'))),'/impred#solve'(A,G,H,'/impred#continuation'(D,E,F,I,J)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/isPure.ced'),'/bootstrap#contextMenuEntry'(::('/impred#isPure'(A),'/bootstrap#pred'),B,C,!('Add With Clause'),'/impred#addWithClause'(A,C,B)),'.'('builtin#varName'(::(A,D),!('Impred')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/impred#isPure'(A),'/bootstrap#pred'),B,C,!('Add With Clause'),'/impred#addWithClause'(A,C,B)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#signature'(::('/impred#testLocalQueue'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Num')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#testLocalQueue'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#signature'(::('/impred#localEnqueue'(A,B),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Content')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#localEnqueue'(A,B),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#signature'(::('/impred#localDequeue'(A),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Name')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#localDequeue'(A),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/impred#clause'('/impred#testLocalQueue'(1,A),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/impred#localStr'(!(hello))),B,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/impred#localStr'(!(world))),C,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),'/impred#localStr'(D),'/impred#localStoreVal'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),'/impred#localStr'(E),'/impred#localStoreVal'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#concat','/Functional#const'(E)),'/bootstrap#string',A))))))),'.'('builtin#varName'(::(A,F),!('X')),'.'('builtin#varName'(::(D,G),!('X1')),'.'('builtin#varName'(::(E,H),!('X2')),[])))),'builtin#true'). '/impred#clause'('/impred#testLocalQueue'(1,A),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/impred#localStr'(!(hello))),B,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/impred#localStr'(!(world))),C,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),'/impred#localStr'(D),'/impred#localStoreVal'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),'/impred#localStr'(E),'/impred#localStoreVal'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#concat','/Functional#const'(E)),'/bootstrap#string',A))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#defAtom'(::('/impred#yesno','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#yesno','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#signature'(::('/impred#localQueueEmpty'(A),'/impred#task'('/impred#yesno')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Name')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#localQueueEmpty'(A),'/impred#task'('/impred#yesno')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#signature'(::('/impred#yesNoStr'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/impred#yesno'),[])),'.'('builtin#varName'(::(A,B),!('Y1')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#yesNoStr'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/impred#yesno'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#defAtom'(::('/impred#yes','/impred#yesno')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#yes','/impred#yesno')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/Functional#def'('/impred#yesNoStr'('/impred#yes'),'/bootstrap#string','/Functional#const'(!('Y'))),[]),'builtin#true'). '/Functional#def'('/impred#yesNoStr'('/impred#yes'),'/bootstrap#string','/Functional#const'(!('Y'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/bootstrap#defAtom'(::('/impred#no','/impred#yesno')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#no','/impred#yesno')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/Functional#def'('/impred#yesNoStr'('/impred#no'),'/bootstrap#string','/Functional#const'(!('N'))),[]),'builtin#true'). '/Functional#def'('/impred#yesNoStr'('/impred#no'),'/bootstrap#string','/Functional#const'(!('N'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localQueue.ced'),'/impred#clause'('/impred#testLocalQueue'(2,A),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),B,'/impred#yesno'),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/counterDB#localNum'(2)),C,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),D,'/impred#yesno'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),E,'/impred#localStoreVal'),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),F,'/impred#yesno'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/impred#yesNoStr'(B),'/Functional#concat','/impred#yesNoStr'(D)),'/Functional#concat','/impred#yesNoStr'(F)),'/bootstrap#string',A)))))))),'.'('builtin#varName'(::(A,G),!('X')),'.'('builtin#varName'(::(B,H),!('Y1')),'.'('builtin#varName'(::(D,I),!('N')),'.'('builtin#varName'(::(F,J),!('Y2')),[]))))),'builtin#true'). '/impred#clause'('/impred#testLocalQueue'(2,A),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),B,'/impred#yesno'),'/impred#conj'('/impred#task'('/impred#localEnqueue'(!(myQueue),'/counterDB#localNum'(2)),C,'/nodalion#voidType'),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),D,'/impred#yesno'),'/impred#conj'('/impred#task'('/impred#localDequeue'(!(myQueue)),E,'/impred#localStoreVal'),'/impred#conj'('/impred#task'('/impred#localQueueEmpty'(!(myQueue)),F,'/impred#yesno'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/impred#yesNoStr'(B),'/Functional#concat','/impred#yesNoStr'(D)),'/Functional#concat','/impred#yesNoStr'(F)),'/bootstrap#string',A)))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#signature'(::('/impred#testLocalStore'(A),'/impred#impred'),'.'(::(A,'/impred#localStoreVal'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#testLocalStore'(A),'/impred#impred'),'.'(::(A,'/impred#localStoreVal'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#defAtom'(::('/impred#localStoreVal','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#localStoreVal','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#signature'(::('/impred#localSet'(A,B),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#localSet'(A,B),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#signature'(::('/impred#localGet'(A),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Key')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#localGet'(A),'/impred#task'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/impred#clause'('/impred#testLocalStore'(A),'/impred#conj'('/impred#task'('/impred#localSet'(!(foo),'/impred#localStr'(!(bar))),B,'/impred#localStoreVal'),'/impred#task'('/impred#localGet'(!(foo)),A,'/impred#localStoreVal'))),'.'('builtin#varName'(::(A,C),!('X')),[])),'builtin#true'). '/impred#clause'('/impred#testLocalStore'(A),'/impred#conj'('/impred#task'('/impred#localSet'(!(foo),'/impred#localStr'(!(bar))),B,'/impred#localStoreVal'),'/impred#task'('/impred#localGet'(!(foo)),A,'/impred#localStoreVal'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#signature'(::('/impred#localGet'(A,B),'/impred#expr'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Default')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#localGet'(A,B),'/impred#expr'('/impred#localStoreVal')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/impred#localStoreVal'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#signature'(::('/impred#localStr'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#localStr'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#projection'(::('/impred#localStr'(A),'/impred#localStoreVal'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#projection'(::('/impred#localStr'(A),'/impred#localStoreVal'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/impred#localStr'(A),'/impred#localStoreVal')),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/impred#localStr'(A),'/impred#localStoreVal')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/util#behavior'(::('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#expr'('/impred#localStoreVal')),!('should provide the default value if the key is not in the local storage'),'/impred#simulate'('/impred#eval'('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#localStoreVal','/impred#localStr'(!(foo))),[],A)),[]),'builtin#true'). '/util#behavior'(::('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#expr'('/impred#localStoreVal')),!('should provide the default value if the key is not in the local storage'),'/impred#simulate'('/impred#eval'('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#localStoreVal','/impred#localStr'(!(foo))),[],A)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/impred#defFunc'('/impred#localGet'(A,B),'/impred#localStoreVal','/impred#funcIf'('/impred#conj'('/impred#task'('/impred#localGet'(A),C,'/impred#localStoreVal'),'/impred#pred'(\+('builtin#var'(::(C,'/impred#localStoreVal'))))),'/impred#pureExpr'('/Functional#const'(C)),'/impred#pureExpr'('/Functional#const'(B)))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Default')),'.'('builtin#varName'(::(C,F),!('Value')),[])))),'builtin#true'). '/impred#defFunc'('/impred#localGet'(A,B),'/impred#localStoreVal','/impred#funcIf'('/impred#conj'('/impred#task'('/impred#localGet'(A),C,'/impred#localStoreVal'),'/impred#pred'(\+('builtin#var'(::(C,'/impred#localStoreVal'))))),'/impred#pureExpr'('/Functional#const'(C)),'/impred#pureExpr'('/Functional#const'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/localStore.ced'),'/util#behavior'(::('/impred#localGet'(A,B),'/impred#expr'('/impred#localStoreVal')),!('should return the value associated with the key if one exists'),'/impred#simulate'('/impred#eval'('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#localStoreVal','/impred#localStr'(!(bar))),'.'('/impred#task'('/impred#localGet'(!(x)),'/impred#localStr'(!(bar)),'/impred#localStoreVal'),[]),'/impred#true')),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Default')),[]))),'builtin#true'). '/util#behavior'(::('/impred#localGet'(A,B),'/impred#expr'('/impred#localStoreVal')),!('should return the value associated with the key if one exists'),'/impred#simulate'('/impred#eval'('/impred#localGet'(!(x),'/impred#localStr'(!(foo))),'/impred#localStoreVal','/impred#localStr'(!(bar))),'.'('/impred#task'('/impred#localGet'(!(x)),'/impred#localStr'(!(bar)),'/impred#localStoreVal'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#signature'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#list'('/impred#impred')),'.'(::(C,'/impred#impred'),[])))),'.'('builtin#varName'(::(A,D),!('Impred')),'.'('builtin#varName'(::(B,E),!('List')),'.'('builtin#varName'(::(C,F),!('Next')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/bootstrap#list'('/impred#impred')),'.'(::(C,'/impred#impred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#projection'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(simulate)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('having:')),'.'('cpi#vis'(::(B,'/bootstrap#list'('/impred#impred')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('next:')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[]))),[]))),[])))),'.'('builtin#varName'(::(A,D),!('Impred')),'.'('builtin#varName'(::(B,E),!('List')),'.'('builtin#varName'(::(C,F),!('Next')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(simulate)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('having:')),'.'('cpi#vis'(::(B,'/bootstrap#list'('/impred#impred')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('next:')),'.'('/bootstrap#vis'(::(C,'/impred#impred')),[]))),[]))),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#pred'('builtin#plus'(1,2,3)),[],'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#pred'('builtin#plus'(1,2,3)),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#pred'('builtin#plus'(1,2,4)),[],'/impred#true'))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#pred'('builtin#plus'(1,2,4)),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),[],'/impred#true'))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),[],'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#signature'(::('/impred#simulateResp'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/impred#response'(D)),'.'(::(B,'/bootstrap#list'('/impred#impred')),'.'(::(C,'/impred#impred'),[])))),'.'('builtin#varName'(::(A,E),!('Resp')),'.'('builtin#varName'(::(B,F),!('Having')),'.'('builtin#varName'(::(C,G),!('Next')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#simulateResp'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/impred#response'(D)),'.'(::(B,'/bootstrap#list'('/impred#impred')),'.'(::(C,'/impred#impred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),:-('/impred#simulate'(A,B,C),','('/impred#solve'(A,D,E,F),'/impred#simulateResp'(F,B,C))),'.'('builtin#varName'(::(A,G),!('Impred')),'.'('builtin#varName'(::(B,H),!('Having')),'.'('builtin#varName'(::(C,I),!('Next')),'.'('builtin#varName'(::(F,J),!('Resp')),[]))))),'builtin#true'). :-('/impred#simulate'(A,B,C),','('/impred#solve'(A,D,E,F),'/impred#simulateResp'(F,B,C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),:-('/impred#simulateResp'('/impred#solution'(A),[],'/impred#true'),'builtin#true'),[]),'builtin#true'). :-('/impred#simulateResp'('/impred#solution'(A),[],'/impred#true'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),:-('/impred#simulateResp'('/impred#throws'(A),B,C),'builtin#throw'(A)),'.'('builtin#varName'(::(A,D),!('Ex')),[])),'builtin#true'). :-('/impred#simulateResp'('/impred#throws'(A),B,C),'builtin#throw'(A)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'annotation#shrink'(:-('/impred#simulateResp'('/impred#continuation'(A,B,C,D,E),F,G),'builtin#if'(=(::(F,'/bootstrap#list'('/impred#impred')),::('.'('/impred#task'(H,I,J),K),'/bootstrap#list'('/impred#impred'))),','(=(::('/impred#task'(H,I,J),'/impred#impred'),::('/impred#task'(A,B,C),'/impred#impred')),'/impred#simulate'(D,K,G)),'builtin#if'('/impred#simulateTask'(A,C,F,D,B,L,M),'/impred#simulate'(M,L,G),=(::(G,'/impred#impred'),::('/impred#task'(A,B,C),'/impred#impred')))))),'.'('builtin#varName'(::(A,N),!('Task')),'.'('builtin#varName'(::(B,O),!('RetVal')),'.'('builtin#varName'(::(C,P),!('T')),'.'('builtin#varName'(::(D,Q),!('Cont')),'.'('builtin#varName'(::(F,R),!('Having')),'.'('builtin#varName'(::(G,S),!('Next')),'.'('builtin#varName'(::(H,T),!('TaskPrime')),'.'('builtin#varName'(::(I,U),!('RetValPrime')),'.'('builtin#varName'(::(J,V),!('TPrime')),'.'('builtin#varName'(::(K,W),!('Rest')),'.'('builtin#varName'(::(L,X),!('HavingPrime')),'.'('builtin#varName'(::(M,Y),!('ContPrime')),[]))))))))))))),'builtin#true'). :-('/impred#simulateResp'('/impred#continuation'(A,B,C,D,E),F,G),'builtin#if'(=(::(F,'/bootstrap#list'('/impred#impred')),::('.'('/impred#task'(H,I,J),K),'/bootstrap#list'('/impred#impred'))),','(=(::('/impred#task'(H,I,J),'/impred#impred'),::('/impred#task'(A,B,C),'/impred#impred')),'/impred#simulate'(D,K,G)),'builtin#if'('/impred#simulateTask'(A,C,F,D,B,L,M),'/impred#simulate'(M,L,G),=(::(G,'/impred#impred'),::('/impred#task'(A,B,C),'/impred#impred'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!(', world'),!('hello, world')))),[],'/impred#task'('/impred#userInput',A,'/bootstrap#string'))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!(', world'),!('hello, world')))),[],'/impred#task'('/impred#userInput',A,'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'('/impred#simulate'('annotation#parentheses'('/impred#conj'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),'/impred#pred'('builtin#strcat'(!(hello),!(', world'),!('hello, world'))))),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true')),[]),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),'/impred#pred'('builtin#strcat'(!(hello),!(', world'),!('hello, world')))),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('annotation#parentheses'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!(', world'),!('goodbye, world'))))),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true'))),'.'('builtin#varName'(::(A,B),!('Greet')),[])),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!(', world'),!('goodbye, world')))),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),'/impred#task'('/impred#userInput',A,'/bootstrap#string')),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#task'('/impred#userInput',A,'/bootstrap#string'))),'.'('builtin#varName'(::(A,B),!('Y')),[])),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#conj'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),'/impred#task'('/impred#userInput',A,'/bootstrap#string')),'.'('/impred#task'('/impred#userInput',!(hello),'/bootstrap#string'),[]),'/impred#task'('/impred#userInput',A,'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#signature'(::('/impred#appendNext'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))),'.'('builtin#varName'(::(A,D),!('Simulate')),'.'('builtin#varName'(::(B,E),!('Path')),'.'('builtin#varName'(::(C,F),!('VNs')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#appendNext'(A,B,C),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'cpi#path'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),:-('cpi#procedureCommand'('/impred#appendNext'('/impred#simulate'(A,B,C),D,E),'/bootstrap#doProc'('cpi#edit'(D,::('/impred#simulate'(A,F,C),'/bootstrap#pred'),E))),','('builtin#catch'('/impred#simulate'(A,B,G),H,=(::(G,'/impred#impred'),::('/impred#greet'(H),'/impred#impred'))),'/bootstrap#append'(B,'.'(G,[]),F,'/impred#impred'))),'.'('builtin#varName'(::(A,I),!('Impred')),'.'('builtin#varName'(::(B,J),!('Having')),'.'('builtin#varName'(::(C,K),!('Next')),'.'('builtin#varName'(::(D,L),!('Path')),'.'('builtin#varName'(::(E,M),!('VNs')),'.'('builtin#varName'(::(F,N),!('HavingPrime')),'.'('builtin#varName'(::(G,O),!('N')),'.'('builtin#varName'(::(H,P),!('Exception')),[]))))))))),'builtin#true'). :-('cpi#procedureCommand'('/impred#appendNext'('/impred#simulate'(A,B,C),D,E),'/bootstrap#doProc'('cpi#edit'(D,::('/impred#simulate'(A,F,C),'/bootstrap#pred'),E))),','('builtin#catch'('/impred#simulate'(A,B,G),H,=(::(G,'/impred#impred'),::('/impred#greet'(H),'/impred#impred'))),'/bootstrap#append'(B,'.'(G,[]),F,'/impred#impred'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#contextMenuEntry'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),D,E,!('Append Next'),'/impred#appendNext'('/impred#simulate'(A,B,C),E,D)),'.'('builtin#varName'(::(A,F),!('Impred')),'.'('builtin#varName'(::(B,G),!('Having')),'.'('builtin#varName'(::(C,H),!('Next')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),D,E,!('Append Next'),'/impred#appendNext'('/impred#simulate'(A,B,C),E,D)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulate.ced'),'/bootstrap#unitTest'(\+('/impred#simulate'('/impred#true','.'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),[]),'/impred#true'))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#simulate'('/impred#true','.'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),[]),'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulatePlugins.ced'),'/bootstrap#signature'(::('example#myTask'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('example#myTask'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulatePlugins.ced'),'/util#behavior'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),!('should consult a task simulator if one exists'),','('/impred#simulate'('/impred#task'('example#myTask'(!(foo)),D,'/bootstrap#string'),[],'/impred#true'),'/util#assertEqual'(D,!('hello, foo'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,E),!('Impred')),'.'('builtin#varName'(::(B,F),!('Having')),'.'('builtin#varName'(::(C,G),!('Next')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/impred#simulate'(A,B,C),'/bootstrap#pred'),!('should consult a task simulator if one exists'),','('/impred#simulate'('/impred#task'('example#myTask'(!(foo)),D,'/bootstrap#string'),[],'/impred#true'),'/util#assertEqual'(D,!('hello, foo'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulatePlugins.ced'),'/bootstrap#signature'(::('/impred#simulateTask'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/impred#task'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/impred#impred')),'.'(::(D,'/impred#impred'),'.'(::(E,B),'.'(::(F,'/bootstrap#list'('/impred#impred')),'.'(::(G,'/impred#impred'),[])))))))),'.'('builtin#varName'(::(A,H),!('Task')),'.'('builtin#varName'(::(B,I),!('T')),'.'('builtin#varName'(::(C,J),!('Having')),'.'('builtin#varName'(::(D,K),!('Cont')),'.'('builtin#varName'(::(E,L),!('RetVal')),'.'('builtin#varName'(::(F,M),!('HavingPrime')),'.'('builtin#varName'(::(G,N),!('ContPrime')),[])))))))),'builtin#true'). '/bootstrap#signature'(::('/impred#simulateTask'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/impred#task'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/impred#impred')),'.'(::(D,'/impred#impred'),'.'(::(E,B),'.'(::(F,'/bootstrap#list'('/impred#impred')),'.'(::(G,'/impred#impred'),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/simulatePlugins.ced'),:-('/impred#simulateTask'('example#myTask'(A),'/bootstrap#string',B,C,D,B,C),'builtin#strcat'(!('hello, '),A,D)),'.'('builtin#varName'(::(A,E),!('Str')),'.'('builtin#varName'(::(B,F),!('Having')),'.'('builtin#varName'(::(C,G),!('Cont')),'.'('builtin#varName'(::(D,H),!('StrPrime')),[]))))),'builtin#true'). :-('/impred#simulateTask'('example#myTask'(A),'/bootstrap#string',B,C,D,B,C),'builtin#strcat'(!('hello, '),A,D)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#signature'(::('/impred#task'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#task'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#signature'(::('/impred#task'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Task')),'.'('builtin#varName'(::(B,E),!('Value')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/impred#task'(A,B,C),'/impred#impred'),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#projection'(::('/impred#task'(A,B,C),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[])))))))),'.'('builtin#varName'(::(A,D),!('Task')),'.'('builtin#varName'(::(B,E),!('Value')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/impred#task'(A,B,C),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#signature'(::('/impred#continuation'(A,B,C,D,E),'/impred#response'(F)),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),'.'(::(E,F),[])))))),'.'('builtin#varName'(::(A,G),!('Task')),'.'('builtin#varName'(::(B,H),!('RetVal')),'.'('builtin#varName'(::(C,I),!('RetType')),'.'('builtin#varName'(::(D,J),!('Continuation')),'.'('builtin#varName'(::(E,K),!('Res')),'.'('builtin#varName'(::(F,L),!('T')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/impred#continuation'(A,B,C,D,E),'/impred#response'(F)),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),'.'(::(E,F),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#projection'(::('/impred#continuation'(A,B,C,D,E),'/impred#response'(F)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(then)),'.'('/bootstrap#vis'(::(D,'/impred#impred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(E,F)),[])))))))))))),'.'('builtin#varName'(::(A,G),!('Task')),'.'('builtin#varName'(::(B,H),!('RetVal')),'.'('builtin#varName'(::(C,I),!('RetType')),'.'('builtin#varName'(::(D,J),!('Continuation')),'.'('builtin#varName'(::(E,K),!('Res')),'.'('builtin#varName'(::(F,L),!('T')),[]))))))),'builtin#true'). '/bootstrap#projection'(::('/impred#continuation'(A,B,C,D,E),'/impred#response'(F)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(then)),'.'('/bootstrap#vis'(::(D,'/impred#impred')),'.'('/bootstrap#label'(!(into)),'.'('/bootstrap#vis'(::(E,F)),[])))))))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#defAtom'(::('/impred#userInput','/impred#task'('/bootstrap#string'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#userInput','/impred#task'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#unitTest'('/impred#solve'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),B,C,'/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#true',B))),'.'('builtin#varName'(::(A,D),!('Str')),'.'('builtin#varName'(::(B,E),!('Res')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),B,C,'/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#true',B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),:-('/impred#solve'('/impred#task'(A,B,C),D,E,'/impred#continuation'(A,B,C,'/impred#true',D)),'builtin#true'),'.'('builtin#varName'(::(A,F),!('Task')),'.'('builtin#varName'(::(B,G),!('Ret')),'.'('builtin#varName'(::(C,H),!('RetType')),'.'('builtin#varName'(::(D,I),!('Res')),'.'('builtin#varName'(::(E,J),!('ResType')),[])))))),'builtin#true'). :-('/impred#solve'('/impred#task'(A,B,C),D,E,'/impred#continuation'(A,B,C,'/impred#true',D)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#unitTest'('/impred#solve'('annotation#parentheses'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!('X'),B)))),B,'/bootstrap#string','/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#conj'('/impred#true','/impred#pred'('builtin#strcat'(A,!('X'),B))),B))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Res')),[]))),'builtin#true'). '/bootstrap#unitTest'('/impred#solve'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!('X'),B))),B,'/bootstrap#string','/impred#continuation'('/impred#userInput',A,'/bootstrap#string','/impred#conj'('/impred#true','/impred#pred'('builtin#strcat'(A,!('X'),B))),B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#unitTest'(\+('/impred#solve'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!('X'),B))),B,'/bootstrap#string','/impred#continuation'('/impred#userInput',C,'/bootstrap#string','/impred#pred'('builtin#true'),D)))),'.'('builtin#varName'(::(A,E),!('Str')),'.'('builtin#varName'(::(B,F),!('Res')),'.'('builtin#varName'(::(C,G),!('Str1')),[])))),'builtin#true'). '/bootstrap#unitTest'(\+('/impred#solve'('/impred#conj'('/impred#task'('/impred#userInput',A,'/bootstrap#string'),'/impred#pred'('builtin#strcat'(A,!('X'),B))),B,'/bootstrap#string','/impred#continuation'('/impred#userInput',C,'/bootstrap#string','/impred#pred'('builtin#true'),D)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'annotation#shrink'(:-('/impred#solve'('annotation#parentheses'('/impred#conj'(A,B)),C,D,'/impred#continuation'(E,F,G,'annotation#parentheses'('/impred#conj'(H,B)),C)),'/impred#solve'(A,C,D,'/impred#continuation'(E,F,G,H,C)))),'.'('builtin#varName'(::(A,I),!('A')),'.'('builtin#varName'(::(B,J),!('B')),'.'('builtin#varName'(::(C,K),!('Res')),'.'('builtin#varName'(::(D,L),!('ResT')),'.'('builtin#varName'(::(E,M),!('Task')),'.'('builtin#varName'(::(F,N),!('Ret')),'.'('builtin#varName'(::(G,O),!('RetT')),'.'('builtin#varName'(::(H,P),!('APrime')),[]))))))))),'builtin#true'). :-('/impred#solve'('/impred#conj'(A,B),C,D,'/impred#continuation'(E,F,G,'/impred#conj'(H,B),C)),'/impred#solve'(A,C,D,'/impred#continuation'(E,F,G,H,C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/tasks.ced'),'/bootstrap#adapter'(::(A,'/impred#task'(B)),::('/impred#task'(A,C,B),'/impred#impred')),'.'('builtin#varName'(::(A,D),!('Task')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Value')),[])))),'builtin#true'). '/bootstrap#adapter'(::(A,'/impred#task'(B)),::('/impred#task'(A,C,B),'/impred#impred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#defAtom'(::('/impred#now','/impred#task'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#now','/impred#task'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#testNow'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),[])),'.'('builtin#varName'(::(A,B),!('L')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#testNow'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/impred#clause'('/impred#testNow'('.'(A,'.'(B,'.'(C,[])))),'/impred#conj'('/impred#task'('/impred#now',A,'/bootstrap#number'),'/impred#conj'('/impred#task'('/impred#now',B,'/bootstrap#number'),'/impred#task'('/impred#now',C,'/bootstrap#number')))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('Z')),[])))),'builtin#true'). '/impred#clause'('/impred#testNow'('.'(A,'.'(B,'.'(C,[])))),'/impred#conj'('/impred#task'('/impred#now',A,'/bootstrap#number'),'/impred#conj'('/impred#task'('/impred#now',B,'/bootstrap#number'),'/impred#task'('/impred#now',C,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#defAtom'(::('/impred#uuid','/impred#task'('/bootstrap#string'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/impred#uuid','/impred#task'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#testUUID'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),[])),'.'('builtin#varName'(::(A,B),!('L')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#testUUID'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/impred#clause'('/impred#testUUID'('.'(A,'.'(B,'.'(C,[])))),'/impred#conj'('/impred#task'('/impred#uuid',A,'/bootstrap#string'),'/impred#conj'('/impred#task'('/impred#uuid',B,'/bootstrap#string'),'/impred#task'('/impred#uuid',C,'/bootstrap#string')))),'.'('builtin#varName'(::(A,D),!('U1')),'.'('builtin#varName'(::(B,E),!('U2')),'.'('builtin#varName'(::(C,F),!('U3')),[])))),'builtin#true'). '/impred#clause'('/impred#testUUID'('.'(A,'.'(B,'.'(C,[])))),'/impred#conj'('/impred#task'('/impred#uuid',A,'/bootstrap#string'),'/impred#conj'('/impred#task'('/impred#uuid',B,'/bootstrap#string'),'/impred#task'('/impred#uuid',C,'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#base64Encode'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Plain')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#base64Encode'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#testBase64Encode'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Plain')),'.'('builtin#varName'(::(B,D),!('Encoded')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#testBase64Encode'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/impred#clause'('/impred#testBase64Encode'(A,B),'/impred#task'('/impred#base64Encode'(A),B,'/bootstrap#string')),'.'('builtin#varName'(::(A,C),!('Plain')),'.'('builtin#varName'(::(B,D),!('Encoded')),[]))),'builtin#true'). '/impred#clause'('/impred#testBase64Encode'(A,B),'/impred#task'('/impred#base64Encode'(A),B,'/bootstrap#string')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#base64Decode'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Enc')),[])),'builtin#true'). '/bootstrap#signature'(::('/impred#base64Decode'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/bootstrap#signature'(::('/impred#testBase64Decode'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Enc')),'.'('builtin#varName'(::(B,D),!('Plain')),[]))),'builtin#true'). '/bootstrap#signature'(::('/impred#testBase64Decode'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/time.ced'),'/impred#clause'('/impred#testBase64Decode'(A,B),'/impred#task'('/impred#base64Decode'(A),B,'/bootstrap#string')),'.'('builtin#varName'(::(A,C),!('Enc')),'.'('builtin#varName'(::(B,D),!('Plain')),[]))),'builtin#true'). '/impred#clause'('/impred#testBase64Decode'(A,B),'/impred#task'('/impred#base64Decode'(A),B,'/bootstrap#string')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/util.ced'),'/bootstrap#contextMenuEntry'(::(A,'/impred#impred'),B,C,!('Insert'),'cpi#edit'(C,::('/impred#conj'(D,A),'/impred#impred'),B)),'.'('builtin#varName'(::(A,E),!('P')),'.'('builtin#varName'(::(B,F),!('VNs')),'.'('builtin#varName'(::(C,G),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/impred#impred'),B,C,!('Insert'),'cpi#edit'(C,::('/impred#conj'(D,A),'/impred#impred'),B)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/util.ced'),'/bootstrap#contextMenuEntry'(::('/impred#conj'(A,B),'/impred#impred'),C,D,!('Delete'),'cpi#edit'(D,::(B,'/impred#impred'),C)),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/impred#conj'(A,B),'/impred#impred'),C,D,!('Delete'),'cpi#edit'(D,::(B,'/impred#impred'),C)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/bootstrap#signature'(::('/impred#with'(A,B,C,D),'/impred#impred'),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))),'.'('builtin#varName'(::(A,E),!('Task')),'.'('builtin#varName'(::(B,F),!('Value')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Impred')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/impred#with'(A,B,C,D),'/impred#impred'),'.'(::(A,'/impred#task'(C)),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/bootstrap#projection'(::('/impred#with'(A,B,C,D),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(with)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/impred#impred')),[]))),[])))),'.'('builtin#varName'(::(A,E),!('Task')),'.'('builtin#varName'(::(B,F),!('Value')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Impred')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/impred#with'(A,B,C,D),'/impred#impred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(with)),'.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(8680),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/impred#impred')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should evaluate Impred'),','('/impred#simulate'('/impred#with'(E,F,G,'/impred#pred'(=(::(H,'/bootstrap#number'),::(2,'/bootstrap#number')))),[],'/impred#true'),'builtin#equals'(::(H,'/bootstrap#number'),::(2,'/bootstrap#number')))),'.'('builtin#varName'(::(A,I),!('Task')),'.'('builtin#varName'(::(B,J),!('Value')),'.'('builtin#varName'(::(C,K),!('T')),'.'('builtin#varName'(::(D,L),!('Impred')),'.'('builtin#varName'(::(H,M),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should evaluate Impred'),','('/impred#simulate'('/impred#with'(E,F,G,'/impred#pred'(=(::(H,'/bootstrap#number'),::(2,'/bootstrap#number')))),[],'/impred#true'),'builtin#equals'(::(H,'/bootstrap#number'),::(2,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'annotation#shrink'(:-('/impred#solve'('/impred#with'(A,B,C,D),E,F,G),','('/impred#solve'(D,E,F,H),'builtin#if'(=(::(H,'/impred#response'(F)),::('/impred#continuation'(A,B,C,I,E),'/impred#response'(F))),'/impred#solve'('/impred#with'(A,B,C,I),E,F,G),'builtin#if'(=(::(H,'/impred#response'(F)),::('/impred#continuation'(J,K,L,I,E),'/impred#response'(F))),=(::(G,'/impred#response'(F)),::('/impred#continuation'(J,K,L,'/impred#with'(A,B,C,I),E),'/impred#response'(F))),=(::(G,'/impred#response'(F)),::(H,'/impred#response'(F)))))))),'.'('builtin#varName'(::(A,M),!('Task')),'.'('builtin#varName'(::(B,N),!('Value')),'.'('builtin#varName'(::(C,O),!('TPrime')),'.'('builtin#varName'(::(D,P),!('Impred')),'.'('builtin#varName'(::(E,Q),!('X')),'.'('builtin#varName'(::(F,R),!('T')),'.'('builtin#varName'(::(G,S),!('S')),'.'('builtin#varName'(::(H,T),!('SPrime')),'.'('builtin#varName'(::(I,U),!('Cont')),'.'('builtin#varName'(::(J,V),!('Task1')),'.'('builtin#varName'(::(K,W),!('Value1')),'.'('builtin#varName'(::(L,X),!('TPrime1')),[]))))))))))))),'builtin#true'). :-('/impred#solve'('/impred#with'(A,B,C,D),E,F,G),','('/impred#solve'(D,E,F,H),'builtin#if'(=(::(H,'/impred#response'(F)),::('/impred#continuation'(A,B,C,I,E),'/impred#response'(F))),'/impred#solve'('/impred#with'(A,B,C,I),E,F,G),'builtin#if'(=(::(H,'/impred#response'(F)),::('/impred#continuation'(J,K,L,I,E),'/impred#response'(F))),=(::(G,'/impred#response'(F)),::('/impred#continuation'(J,K,L,'/impred#with'(A,B,C,I),E),'/impred#response'(F))),=(::(G,'/impred#response'(F)),::(H,'/impred#response'(F))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should answer Task with Value'),','('/impred#simulate'('/impred#with'('/impred#userInput',!(me),'/bootstrap#string','/impred#greet'(E)),[],'/impred#true'),'builtin#equals'(::(E,'/bootstrap#string'),::(!('Hello, me'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,F),!('Task')),'.'('builtin#varName'(::(B,G),!('Value')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Impred')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should answer Task with Value'),','('/impred#simulate'('/impred#with'('/impred#userInput',!(me),'/bootstrap#string','/impred#greet'(E)),[],'/impred#true'),'builtin#equals'(::(E,'/bootstrap#string'),::(!('Hello, me'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/bootstrap#defAtom'(::('example#someTask','/impred#task'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('example#someTask','/impred#task'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should handle pure Impred'),','('/impred#solve'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#pred'(=(::(E,'/bootstrap#number'),::(2,'/bootstrap#number')))),E,'/bootstrap#number',F),'builtin#equals'(::(F,'/impred#response'('/bootstrap#number')),::('/impred#solution'(2),'/impred#response'('/bootstrap#number'))))),'.'('builtin#varName'(::(A,G),!('Task')),'.'('builtin#varName'(::(B,H),!('Value')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('Impred')),'.'('builtin#varName'(::(E,K),!('Res')),'.'('builtin#varName'(::(F,L),!('Sol')),[]))))))),'builtin#true'). '/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should handle pure Impred'),','('/impred#solve'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#pred'(=(::(E,'/bootstrap#number'),::(2,'/bootstrap#number')))),E,'/bootstrap#number',F),'builtin#equals'(::(F,'/impred#response'('/bootstrap#number')),::('/impred#solution'(2),'/impred#response'('/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should handle multiple tasks'),'/impred#simulate'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#with'('example#someTask',123,'/bootstrap#number','/impred#greet'(E))),[],'/impred#true')),'.'('builtin#varName'(::(A,F),!('Task')),'.'('builtin#varName'(::(B,G),!('Value')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Impred')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should handle multiple tasks'),'/impred#simulate'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#with'('example#someTask',123,'/bootstrap#number','/impred#greet'(E))),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should support multiple queries of the Task'),'/impred#simulate'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#conj'('/impred#greet'(E),'/impred#greet'(F))),[],'/impred#true')),'.'('builtin#varName'(::(A,G),!('Task')),'.'('builtin#varName'(::(B,H),!('Value')),'.'('builtin#varName'(::(C,I),!('T')),'.'('builtin#varName'(::(D,J),!('Impred')),'.'('builtin#varName'(::(E,K),!('X')),'.'('builtin#varName'(::(F,L),!('Y')),[]))))))),'builtin#true'). '/util#behavior'(::('/impred#with'(A,B,C,D),'/impred#impred'),!('should support multiple queries of the Task'),'/impred#simulate'('/impred#with'('/impred#userInput',!(foo),'/bootstrap#string','/impred#conj'('/impred#greet'(E),'/impred#greet'(F))),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/impred/with.ced'),'/bootstrap#contextMenuEntry'(::('/impred#simulate'(A,'.'('/impred#task'(B,C,D),E),F),'/bootstrap#pred'),G,H,!('Convert to With'),'cpi#edit'(H,::('/impred#simulate'('/impred#with'(B,C,D,A),E,F),'/bootstrap#pred'),G)),'.'('builtin#varName'(::(A,I),!('Impred')),'.'('builtin#varName'(::(B,J),!('Task')),'.'('builtin#varName'(::(C,K),!('Res')),'.'('builtin#varName'(::(D,L),!('T')),'.'('builtin#varName'(::(E,M),!('Rest')),'.'('builtin#varName'(::(F,N),!('Next')),'.'('builtin#varName'(::(G,O),!('VNs')),'.'('builtin#varName'(::(H,P),!('Path')),[]))))))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/impred#simulate'(A,'.'('/impred#task'(B,C,D),E),F),'/bootstrap#pred'),G,H,!('Convert to With'),'cpi#edit'(H,::('/impred#simulate'('/impred#with'(B,C,D,A),E,F),'/bootstrap#pred'),G)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/bind.ced'),'/bootstrap#signature'(::('/nodalion#bind'(A,B,C,D),'/impred#impred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('Y')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Goal')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#bind'(A,B,C,D),'/impred#impred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/bind.ced'),'/impred#clause'('/nodalion#bind'(A,A,B,C),C),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Goal')),[])))),'builtin#true'). '/impred#clause'('/nodalion#bind'(A,A,B,C),C). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'/bootstrap#signature'(::('/nodalion#objStoreToTmp'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Hash')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#objStoreToTmp'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'/bootstrap#signature'(::('/nodalion#callWithContainers'(A),'/impred#impred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#callWithContainers'(A),'/impred#impred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'annotation#shrink'('/impred#clause'('/nodalion#callWithContainers'(A),'/impred#catch'('/impred#pred'(A),'/containers#missingContainer'(B),'/impred#conj'('/impred#task'('/nodalion#objStoreToTmp'(B),C,'/bootstrap#string'),'/impred#conj'('/impred#loadImageToContainer'(C,B),'/nodalion#callWithContainers'(A)))))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Hash')),'.'('builtin#varName'(::(C,F),!('FileName')),[])))),'builtin#true'). '/impred#clause'('/nodalion#callWithContainers'(A),'/impred#catch'('/impred#pred'(A),'/containers#missingContainer'(B),'/impred#conj'('/impred#task'('/nodalion#objStoreToTmp'(B),C,'/bootstrap#string'),'/impred#conj'('/impred#loadImageToContainer'(C,B),'/nodalion#callWithContainers'(A))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'/bootstrap#signature'(::('/nodalion#isVerySpecial'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#isVerySpecial'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'/bootstrap#signature'(::('/nodalion#testContainer'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Hash')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#testContainer'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/containers.ced'),'/impred#clause'('/nodalion#testContainer'(A,B),'/nodalion#callWithContainers'('/containers#callInContainer'(A,'/nodalion#isVerySpecial'(B)))),'.'('builtin#varName'(::(A,C),!('Hash')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/impred#clause'('/nodalion#testContainer'(A,B),'/nodalion#callWithContainers'('/containers#callInContainer'(A,'/nodalion#isVerySpecial'(B)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/export.ced'),'/bootstrap#export'(!('nodalion.cedimg')),[]),'builtin#true'). '/bootstrap#export'(!('nodalion.cedimg')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#signature'(::('/nodalion#findall'(A,B,C,D),'/impred#impred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/impred#impred'),'.'(::(D,'/bootstrap#list'(B)),[]))))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Impred')),'.'('builtin#varName'(::(D,H),!('Xs')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#findall'(A,B,C,D),'/impred#impred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/impred#impred'),'.'(::(D,'/bootstrap#list'(B)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/util#behavior'(::('/nodalion#findall'(A,B,C,D),'/impred#impred'),!('should find all Xs of type T that meet Impred'),','('/impred#simulate'('/nodalion#findall'(E,'/bootstrap#number','/impred#pred'('/bootstrap#listMember'(E,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),F),'.'('/impred#task'('/nodalion#findAll'(E,'/impred#pred'('/bootstrap#listMember'(E,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))))),'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')),[]),'/impred#true'),'/util#assertEqual'(F,'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,G),!('X')),'.'('builtin#varName'(::(B,H),!('T')),'.'('builtin#varName'(::(C,I),!('Impred')),'.'('builtin#varName'(::(D,J),!('Xs')),'.'('builtin#varName'(::(E,K),!('XPrime')),'.'('builtin#varName'(::(F,L),!('XsPrime')),[]))))))),'builtin#true'). '/util#behavior'(::('/nodalion#findall'(A,B,C,D),'/impred#impred'),!('should find all Xs of type T that meet Impred'),','('/impred#simulate'('/nodalion#findall'(E,'/bootstrap#number','/impred#pred'('/bootstrap#listMember'(E,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),F),'.'('/impred#task'('/nodalion#findAll'(E,'/impred#pred'('/bootstrap#listMember'(E,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))))),'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')),[]),'/impred#true'),'/util#assertEqual'(F,'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#signature'(::('/nodalion#findAll'(A,B),'/impred#task'('/bootstrap#list'(C))),'.'(::(A,C),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Impred')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#findAll'(A,B),'/impred#task'('/bootstrap#list'(C))),'.'(::(A,C),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/impred#clause'('/nodalion#findall'(A,B,C,D),'/impred#task'('/nodalion#findAll'(A,C),D,'/bootstrap#list'(B))),'.'('builtin#varName'(::(A,E),!('X')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('Impred')),'.'('builtin#varName'(::(D,H),!('Xs')),[]))))),'builtin#true'). '/impred#clause'('/nodalion#findall'(A,B,C,D),'/impred#task'('/nodalion#findAll'(A,C),D,'/bootstrap#list'(B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#signature'(::('/nodalion#parallel'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#parallel'(A,B),'/impred#impred'),'.'(::(A,'/impred#impred'),'.'(::(B,'/impred#impred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#projection'(::('/nodalion#parallel'(A,B),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#symbol'(124),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#parallel'(A,B),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#impred')),'.'('/bootstrap#symbol'(124),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#alias'(::('/nodalion#parallel'(A,B),'/impred#impred'),!('| ')),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#parallel'(A,B),'/impred#impred'),!('| ')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/util#behavior'(::('/nodalion#parallel'(A,B),'/impred#impred'),!('should evaluate both G1 and G2 to agreement'),','('/impred#simulate'('/nodalion#parallel'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[])))))),'.'('/impred#task'('/nodalion#par'('/nodalion#findAll'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))))),'/nodalion#findAll'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))))),'/bootstrap#pair'('annotation#changeMode'('.'('/impred#pred'('/bootstrap#listMember'(1,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(2,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(3,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),[]))),'/bootstrap#vert'),'annotation#changeMode'('.'('/impred#pred'('/bootstrap#listMember'(2,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(4,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(6,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),[]))),'/bootstrap#vert')),'/bootstrap#pairType'('/bootstrap#list'('/impred#impred'),'/bootstrap#list'('/impred#impred'))),[]),'/impred#true'),'/util#assertEqual'(C,2,'/bootstrap#number'))),'.'('builtin#varName'(::(A,D),!('G1')),'.'('builtin#varName'(::(B,E),!('G2')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/nodalion#parallel'(A,B),'/impred#impred'),!('should evaluate both G1 and G2 to agreement'),','('/impred#simulate'('/nodalion#parallel'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[])))))),'.'('/impred#task'('/nodalion#par'('/nodalion#findAll'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,'.'(3,[])))))),'/nodalion#findAll'('/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'/impred#pred'('/bootstrap#listMember'(C,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))))),'/bootstrap#pair'('.'('/impred#pred'('/bootstrap#listMember'(1,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(2,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(3,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),[]))),'.'('/impred#pred'('/bootstrap#listMember'(2,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(4,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),'.'('/impred#pred'('/bootstrap#listMember'(6,'/bootstrap#number','.'(2,'.'(4,'.'(6,[]))))),[])))),'/bootstrap#pairType'('/bootstrap#list'('/impred#impred'),'/bootstrap#list'('/impred#impred'))),[]),'/impred#true'),'/util#assertEqual'(C,2,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#signature'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),'.'(::(A,'/impred#task'(C)),'.'(::(B,'/impred#task'(D)),[]))),'.'('builtin#varName'(::(A,E),!('Task1')),'.'('builtin#varName'(::(B,F),!('Task2')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),'.'(::(A,'/impred#task'(C)),'.'(::(B,'/impred#task'(D)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#projection'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(124),'.'('/bootstrap#vis'(::(B,'/impred#task'(D))),[]))))),'.'('builtin#varName'(::(A,E),!('Task1')),'.'('builtin#varName'(::(B,F),!('Task2')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/impred#task'(C))),'.'('/bootstrap#symbol'(124),'.'('/bootstrap#vis'(::(B,'/impred#task'(D))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#alias'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),!('| ')),'.'('builtin#varName'(::(A,E),!('Task1')),'.'('builtin#varName'(::(B,F),!('Task2')),'.'('builtin#varName'(::(C,G),!('T1')),'.'('builtin#varName'(::(D,H),!('T2')),[]))))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#par'(A,B),'/impred#task'('/bootstrap#pairType'(C,D))),!('| ')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/impred#clause'('/nodalion#parallel'(A,B),'/impred#conj'('/impred#task'('/nodalion#par'('/nodalion#findAll'(A,A),'/nodalion#findAll'(B,B)),'/bootstrap#pair'(C,D),'/bootstrap#pairType'('/bootstrap#list'('/impred#impred'),'/bootstrap#list'('/impred#impred'))),'/impred#conj'('/impred#pred'('/bootstrap#listMember'(A,'/impred#impred',C)),'/impred#pred'('/bootstrap#listMember'(B,'/impred#impred',D))))),'.'('builtin#varName'(::(A,E),!('G1')),'.'('builtin#varName'(::(B,F),!('G2')),'.'('builtin#varName'(::(C,G),!('Gs1')),'.'('builtin#varName'(::(D,H),!('Gs2')),[]))))),'builtin#true'). '/impred#clause'('/nodalion#parallel'(A,B),'/impred#conj'('/impred#task'('/nodalion#par'('/nodalion#findAll'(A,A),'/nodalion#findAll'(B,B)),'/bootstrap#pair'(C,D),'/bootstrap#pairType'('/bootstrap#list'('/impred#impred'),'/bootstrap#list'('/impred#impred'))),'/impred#conj'('/impred#pred'('/bootstrap#listMember'(A,'/impred#impred',C)),'/impred#pred'('/bootstrap#listMember'(B,'/impred#impred',D))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/bootstrap#signature'(::('/nodalion#testParallel'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Test')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#testParallel'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/findAll.ced'),'/impred#clause'('/nodalion#testParallel'(1,A),'/nodalion#parallel'('/impred#pred'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(A,'/bootstrap#number','.'(2,'.'(3,'.'(4,'.'(5,[])))))))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/impred#clause'('/nodalion#testParallel'(1,A),'/nodalion#parallel'('/impred#pred'('/bootstrap#listMember'(A,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'/impred#pred'('/bootstrap#listMember'(A,'/bootstrap#number','.'(2,'.'(3,'.'(4,'.'(5,[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#app','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#app','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('example#myApp','/nodalion#app')),[]),'builtin#true'). '/bootstrap#defAtom'(::('example#myApp','/nodalion#app')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#handler','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#handler','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#httpMethod','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#httpMethod','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/nodalion#app'),'.'(::(B,'/nodalion#httpMethod'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#handler')),[]))))),'.'('builtin#varName'(::(A,E),!('App')),'.'('builtin#varName'(::(B,F),!('Method')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Handlers')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),'.'(::(A,'/nodalion#app'),'.'(::(B,'/nodalion#httpMethod'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#handler')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(app)),'.'('/bootstrap#vis'(::(A,'/nodalion#app')),'.'('/bootstrap#label'(!(serves)),'.'('/bootstrap#vis'(::(B,'/nodalion#httpMethod')),'.'('/bootstrap#vis'(::(C,'/bootstrap#string')),'.'('/bootstrap#label'(!('as:')),[]))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(D,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[]))),[])))),'.'('builtin#varName'(::(A,E),!('App')),'.'('builtin#varName'(::(B,F),!('Method')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Handlers')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(app)),'.'('/bootstrap#vis'(::(A,'/nodalion#app')),'.'('/bootstrap#label'(!(serves)),'.'('/bootstrap#vis'(::(B,'/nodalion#httpMethod')),'.'('/bootstrap#vis'(::(C,'/bootstrap#string')),'.'('/bootstrap#label'(!('as:')),[]))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(D,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#alias'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),!(app)),'.'('builtin#varName'(::(A,E),!('App')),'.'('builtin#varName'(::(B,F),!('Method')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Handlers')),[]))))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#serve'(A,B,C,D),'/bootstrap#statement'),!(app)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#outputText'(A,B),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('ContentType')),'.'('builtin#varName'(::(B,D),!('Text')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#outputText'(A,B),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#get','/nodalion#httpMethod')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#get','/nodalion#httpMethod')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#get','/nodalion#httpMethod'),'/bootstrap#label'(!('GET'))),[]),'builtin#true'). '/bootstrap#projection'(::('/nodalion#get','/nodalion#httpMethod'),'/bootstrap#label'(!('GET'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/hello'),'.'('/nodalion#outputText'(!('text/plain'),!('Hello, World')),[])),[]),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/hello'),'.'('/nodalion#outputText'(!('text/plain'),!('Hello, World')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#serveHandlers'(A,B,C,D),'/impred#impred'),'.'(::(A,'/nodalion#app'),'.'(::(B,'/nodalion#httpMethod'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#handler')),[]))))),'.'('builtin#varName'(::(A,E),!('App')),'.'('builtin#varName'(::(B,F),!('Method')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Handlers')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#serveHandlers'(A,B,C,D),'/impred#impred'),'.'(::(A,'/nodalion#app'),'.'(::(B,'/nodalion#httpMethod'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#handler')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),~>('/nodalion#serve'(A,B,C,D),'/impred#clause'('/nodalion#serveHandlers'(A,B,C,D),'/impred#true')),'.'('builtin#varName'(::(A,E),!('App')),'.'('builtin#varName'(::(B,F),!('Method')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Handlers')),[]))))),'builtin#true'). :-('/impred#clause'('/nodalion#serveHandlers'(A,B,C,D),'/impred#true'),','('/nodalion#serve'(A,B,C,D),'builtin#true')). :-('/nodalion#serve'(A,B,C,D),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#with'(A,B,C),'/nodalion#handler'),'.'(::(A,'/nodalion#json'),'.'(::(B,'/impred#impred'),'.'(::(C,'/bootstrap#list'('/nodalion#handler')),[])))),'.'('builtin#varName'(::(A,D),!('Ctx')),'.'('builtin#varName'(::(B,E),!('Impred')),'.'('builtin#varName'(::(C,F),!('Handlers')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#with'(A,B,C),'/nodalion#handler'),'.'(::(A,'/nodalion#json'),'.'(::(B,'/impred#impred'),'.'(::(C,'/bootstrap#list'('/nodalion#handler')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#with'(A,B,C),'/nodalion#handler'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(with)),'.'('/bootstrap#vis'(::(A,'/nodalion#json')),'.'('/bootstrap#label'(!('do:')),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(C,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))),[]))))),'.'('builtin#varName'(::(A,D),!('Ctx')),'.'('builtin#varName'(::(B,E),!('Impred')),'.'('builtin#varName'(::(C,F),!('Handlers')),[])))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#with'(A,B,C),'/nodalion#handler'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(with)),'.'('/bootstrap#vis'(::(A,'/nodalion#json')),'.'('/bootstrap#label'(!('do:')),[])))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(C,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(B,'/impred#impred')),[]))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#str2num'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#string')),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#str2num'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/bootstrap#string')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/util#behavior'(::('/nodalion#str2num'(A),'/Functional#expr'('/bootstrap#number')),!('should convert strings to numbers'),','('/Functional#eval'('/nodalion#str2num'('/Functional#const'(!('-2.3'))),'/bootstrap#number',B),'/util#assertEqual'(B,-2.3,'/bootstrap#number'))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#str2num'(A),'/Functional#expr'('/bootstrap#number')),!('should convert strings to numbers'),','('/Functional#eval'('/nodalion#str2num'('/Functional#const'(!('-2.3'))),'/bootstrap#number',B),'/util#assertEqual'(B,-2.3,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),:-('/Functional#eval'('/nodalion#str2num'(A),'/bootstrap#number',B),','('/Functional#eval'(A,'/bootstrap#string',C),'builtin#rawTermToString'(::(B,'/bootstrap#number'),C))),'.'('builtin#varName'(::(A,D),!('Str')),'.'('builtin#varName'(::(B,E),!('Num')),'.'('builtin#varName'(::(C,F),!('StrPrime')),[])))),'builtin#true'). :-('/Functional#eval'('/nodalion#str2num'(A),'/bootstrap#number',B),','('/Functional#eval'(A,'/bootstrap#string',C),'builtin#rawTermToString'(::(B,'/bootstrap#number'),C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/calc'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(query),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(a)))),'/Functional#numPlus','/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(b))))),'/bootstrap#number',B)),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(result),'/nodalion#jsonNum'(B)),[]))),[])),[])),'.'('builtin#varName'(::(A,C),!('Q')),'.'('builtin#varName'(::(B,D),!('C')),[]))),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/calc'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(query),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(a)))),'/Functional#numPlus','/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(b))))),'/bootstrap#number',B)),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(result),'/nodalion#jsonNum'(B)),[]))),[])),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#header'(A,B),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#header'(A,B),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#header'(A,B),'/nodalion#handler'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#header'(A,B),'/nodalion#handler'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#objStoreGet'(A),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Hash')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#objStoreGet'(A),'/nodalion#handler'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#objStoreGet'(A),'/nodalion#handler'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('objStore cat')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))),'.'('builtin#varName'(::(A,B),!('Hash')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#objStoreGet'(A),'/nodalion#handler'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('objStore cat')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('example#myObjStoreApp','/nodalion#app')),[]),'builtin#true'). '/bootstrap#defAtom'(::('example#myObjStoreApp','/nodalion#app')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myObjStoreApp','/nodalion#get',!('/objStore/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),[])),'/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(hash))),'/bootstrap#string',B)),'.'('/nodalion#header'(!('content-type'),!('text/foo')),'.'('/nodalion#objStoreGet'(B),[]))),[])),'.'('builtin#varName'(::(A,C),!('Params')),'.'('builtin#varName'(::(B,D),!('Hash')),[]))),'builtin#true'). '/nodalion#serve'('example#myObjStoreApp','/nodalion#get',!('/objStore/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),[])),'/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(hash))),'/bootstrap#string',B)),'.'('/nodalion#header'(!('content-type'),!('text/foo')),'.'('/nodalion#objStoreGet'(B),[]))),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#post','/nodalion#httpMethod')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#post','/nodalion#httpMethod')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#post','/nodalion#httpMethod'),'/bootstrap#label'(!('POST'))),[]),'builtin#true'). '/bootstrap#projection'(::('/nodalion#post','/nodalion#httpMethod'),'/bootstrap#label'(!('POST'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#objStoreBody','/nodalion#handler')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#objStoreBody','/nodalion#handler')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myObjStoreApp','/nodalion#post',!('/objStore'),'.'('/nodalion#objStoreBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),'.'('/nodalion#field'(!(protocol),B),'.'('/nodalion#field'(!(headers),C),[])))),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/nodalion#asString'('/Functional#const'(B)),'/Functional#concat','/Functional#const'(!(://))),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(C),!(host)))),'/Functional#concat','/Functional#const'(!('/objStore/'))),'/Functional#concat','/nodalion#asString'('/Functional#const'(A))),'/bootstrap#string',D)),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(url),'/nodalion#jsonStr'(D)),[]))),[])),[]))),'.'('builtin#varName'(::(A,E),!('Hash')),'.'('builtin#varName'(::(B,F),!('Proto')),'.'('builtin#varName'(::(C,G),!('Headers')),'.'('builtin#varName'(::(D,H),!('URL')),[]))))),'builtin#true'). '/nodalion#serve'('example#myObjStoreApp','/nodalion#post',!('/objStore'),'.'('/nodalion#objStoreBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),'.'('/nodalion#field'(!(protocol),B),'.'('/nodalion#field'(!(headers),C),[])))),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/nodalion#asString'('/Functional#const'(B)),'/Functional#concat','/Functional#const'(!(://))),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(C),!(host)))),'/Functional#concat','/Functional#const'(!('/objStore/'))),'/Functional#concat','/nodalion#asString'('/Functional#const'(A))),'/bootstrap#string',D)),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(url),'/nodalion#jsonStr'(D)),[]))),[])),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#jsonBody','/nodalion#handler')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#jsonBody','/nodalion#handler')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#post',!('/hello'),'.'('/nodalion#jsonBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(!('hello, ')),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(firstName)))),'/Functional#concat','/Functional#const'(!(' '))),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(lastName)))),'/bootstrap#string',B)),'.'('/nodalion#outputText'(!('text/plain'),B),[])),[]))),'.'('builtin#varName'(::(A,C),!('Details')),'.'('builtin#varName'(::(B,D),!('Greet')),[]))),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#post',!('/hello'),'.'('/nodalion#jsonBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(!('hello, ')),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(firstName)))),'/Functional#concat','/Functional#const'(!(' '))),'/Functional#concat','/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(lastName)))),'/bootstrap#string',B)),'.'('/nodalion#outputText'(!('text/plain'),B),[])),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#textBody','/nodalion#handler')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#textBody','/nodalion#handler')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#defAtom'(::('/nodalion#put','/nodalion#httpMethod')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#put','/nodalion#httpMethod')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#put','/nodalion#httpMethod'),'/bootstrap#label'(!('PUT'))),[]),'builtin#true'). '/bootstrap#projection'(::('/nodalion#put','/nodalion#httpMethod'),'/bootstrap#label'(!('PUT'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#post',!('/helloText'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(!('hello, ')),'/Functional#concat','/nodalion#asString'('/Functional#const'(A))),'/bootstrap#string',B)),'.'('/nodalion#outputText'(!('text/plain'),B),[])),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Greet')),[]))),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#post',!('/helloText'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),[])),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(!('hello, ')),'/Functional#concat','/nodalion#asString'('/Functional#const'(A))),'/bootstrap#string',B)),'.'('/nodalion#outputText'(!('text/plain'),B),[])),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#setStatus'(A),'/nodalion#handler'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Status')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#setStatus'(A),'/nodalion#handler'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/someStatus'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(query),A),[])),'/impred#pred'('/Functional#eval'('/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(status)))),'/bootstrap#number',B)),'.'('/nodalion#setStatus'(B),'.'('/nodalion#outputText'(!('text/plain'),!('Sending your requested status')),[]))),[])),'.'('builtin#varName'(::(A,C),!('Query')),'.'('builtin#varName'(::(B,D),!('Status')),[]))),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/someStatus'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(query),A),[])),'/impred#pred'('/Functional#eval'('/nodalion#str2num'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(status)))),'/bootstrap#number',B)),'.'('/nodalion#setStatus'(B),'.'('/nodalion#outputText'(!('text/plain'),!('Sending your requested status')),[]))),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/throw'),'.'('/nodalion#with'('/nodalion#jsonObj'([]),'/impred#pred'('builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputText'(!('text/plain'),!('This comes from the exception')),[]))))),'.'('/nodalion#outputText'(!('text/plain'),!('no exception')),[])),[])),[]),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/throw'),'.'('/nodalion#with'('/nodalion#jsonObj'([]),'/impred#pred'('builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputText'(!('text/plain'),!('This comes from the exception')),[]))))),'.'('/nodalion#outputText'(!('text/plain'),!('no exception')),[])),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#signature'(::('/nodalion#serviceException'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#list'('/nodalion#handler')),[])),'.'('builtin#varName'(::(A,B),!('Handlers')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#serviceException'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#list'('/nodalion#handler')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/http.ced'),'/bootstrap#projection'(::('/nodalion#serviceException'(A),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Report error:')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[])))),'.'('builtin#varName'(::(A,B),!('Handlers')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#serviceException'(A),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('Report error:')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#handler')),'/bootstrap#vert'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/bootstrap#signature'(::('/nodalion#objStoreAdd'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#objStoreAdd'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/bootstrap#signature'(::('/nodalion#objStoreCat'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Hash')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#objStoreCat'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/bootstrap#sandbox'(::('/nodalion#objStoreCat'(A),'/impred#task'('/bootstrap#string'))),'.'('builtin#varName'(::(A,B),!('Hash')),[])),'builtin#true'). '/bootstrap#sandbox'(::('/nodalion#objStoreCat'(A),'/impred#task'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/bootstrap#signature'(::('/nodalion#hashForText'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Text')),'.'('builtin#varName'(::(B,D),!('Hash')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#hashForText'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/util#behavior'(::('/nodalion#hashForText'(A,B),'/impred#impred'),!('should call IPFS to get a hash for the text'),','('/impred#simulate'('/nodalion#hashForText'(!('foo bar'),B),'.'('/impred#task'('/nodalion#objStoreAdd'(!('foo bar')),!(hashashashash),'/bootstrap#string'),[]),C),'/util#assertEqual'(B,!(hashashashash),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Text')),'.'('builtin#varName'(::(B,E),!('Hash')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#hashForText'(A,B),'/impred#impred'),!('should call IPFS to get a hash for the text'),','('/impred#simulate'('/nodalion#hashForText'(!('foo bar'),B),'.'('/impred#task'('/nodalion#objStoreAdd'(!('foo bar')),!(hashashashash),'/bootstrap#string'),[]),C),'/util#assertEqual'(B,!(hashashashash),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/util#behavior'(::('/nodalion#hashForText'(A,B),'/impred#impred'),!('should store Text keyed by Hash in local storage'),','('/impred#simulate'('/impred#with'('/nodalion#objStoreAdd'(!('foo bar')),!(hashashashash),'/bootstrap#string','/nodalion#hashForText'(!('foo bar'),B)),'.'('/impred#task'('/impred#localSet'(!(hashashashash),'/impred#localStr'(!('foo bar'))),C,'/impred#localStoreVal'),[]),D),'/util#assertEqual'(B,!(hashashashash),'/bootstrap#string'))),'.'('builtin#varName'(::(A,E),!('Text')),'.'('builtin#varName'(::(B,F),!('Hash')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#hashForText'(A,B),'/impred#impred'),!('should store Text keyed by Hash in local storage'),','('/impred#simulate'('/impred#with'('/nodalion#objStoreAdd'(!('foo bar')),!(hashashashash),'/bootstrap#string','/nodalion#hashForText'(!('foo bar'),B)),'.'('/impred#task'('/impred#localSet'(!(hashashashash),'/impred#localStr'(!('foo bar'))),C,'/impred#localStoreVal'),[]),D),'/util#assertEqual'(B,!(hashashashash),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/impred#clause'('/nodalion#hashForText'(A,B),'/impred#conj'('/impred#task'('/nodalion#objStoreAdd'(A),B,'/bootstrap#string'),'/impred#task'('/impred#localSet'(B,'/impred#localStr'(A)),C,'/impred#localStoreVal'))),'.'('builtin#varName'(::(A,D),!('Text')),'.'('builtin#varName'(::(B,E),!('Hash')),[]))),'builtin#true'). '/impred#clause'('/nodalion#hashForText'(A,B),'/impred#conj'('/impred#task'('/nodalion#objStoreAdd'(A),B,'/bootstrap#string'),'/impred#task'('/impred#localSet'(B,'/impred#localStr'(A)),C,'/impred#localStoreVal'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/bootstrap#signature'(::('/nodalion#textForHash'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Hash')),'.'('builtin#varName'(::(B,D),!('Text')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#textForHash'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/util#behavior'(::('/nodalion#textForHash'(A,B),'/impred#impred'),!('should fetch Text from local store by key Hash'),','('/impred#simulate'('/nodalion#textForHash'(!(hashashash),B),'.'('/impred#task'('/impred#localGet'(!(hashashash)),'/impred#localStr'(!('foo baz')),'/impred#localStoreVal'),[]),C),'/util#assertEqual'(B,!('foo baz'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Hash')),'.'('builtin#varName'(::(B,E),!('Text')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#textForHash'(A,B),'/impred#impred'),!('should fetch Text from local store by key Hash'),','('/impred#simulate'('/nodalion#textForHash'(!(hashashash),B),'.'('/impred#task'('/impred#localGet'(!(hashashash)),'/impred#localStr'(!('foo baz')),'/impred#localStoreVal'),[]),C),'/util#assertEqual'(B,!('foo baz'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/util#behavior'(::('/nodalion#textForHash'(A,B),'/impred#impred'),!('should go to IPFS if Hash is not in local storage'),','('/impred#simulate'('/nodalion#textForHash'(!(hashashash),B),'.'('/impred#task'('/impred#localGet'(!(hashashash)),C,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#objStoreCat'(!(hashashash)),!('foo baz'),'/bootstrap#string'),'.'('/impred#task'('/impred#localSet'(!(hashashash),'/impred#localStr'(!('foo baz'))),D,'/impred#localStoreVal'),[]))),E),'/util#assertEqual'(B,!('foo baz'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,F),!('Hash')),'.'('builtin#varName'(::(B,G),!('Text')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#textForHash'(A,B),'/impred#impred'),!('should go to IPFS if Hash is not in local storage'),','('/impred#simulate'('/nodalion#textForHash'(!(hashashash),B),'.'('/impred#task'('/impred#localGet'(!(hashashash)),C,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#objStoreCat'(!(hashashash)),!('foo baz'),'/bootstrap#string'),'.'('/impred#task'('/impred#localSet'(!(hashashash),'/impred#localStr'(!('foo baz'))),D,'/impred#localStoreVal'),[]))),E),'/util#assertEqual'(B,!('foo baz'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/ipfs.ced'),'/impred#clause'('/nodalion#textForHash'(A,B),'/impred#conj'('/impred#task'('/impred#localGet'(A),'/impred#localStr'(B),'/impred#localStoreVal'),'/impred#if'('/impred#pred'('builtin#var'(::(B,'/bootstrap#string'))),'/impred#conj'('/impred#task'('/nodalion#objStoreCat'(A),B,'/bootstrap#string'),'/impred#task'('/impred#localSet'(A,'/impred#localStr'(B)),C,'/impred#localStoreVal')),'/impred#true'))),'.'('builtin#varName'(::(A,D),!('Hash')),'.'('builtin#varName'(::(B,E),!('Text')),[]))),'builtin#true'). '/impred#clause'('/nodalion#textForHash'(A,B),'/impred#conj'('/impred#task'('/impred#localGet'(A),'/impred#localStr'(B),'/impred#localStoreVal'),'/impred#if'('/impred#pred'('builtin#var'(::(B,'/bootstrap#string'))),'/impred#conj'('/impred#task'('/nodalion#objStoreCat'(A),B,'/bootstrap#string'),'/impred#task'('/impred#localSet'(A,'/impred#localStr'(B)),C,'/impred#localStoreVal')),'/impred#true'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#defAtom'(::('/nodalion#json','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#json','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#defAtom'(::('/nodalion#jsonField','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#jsonField','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),[])),'.'('builtin#varName'(::(A,B),!('Fields')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('')))),123,125),[]))),'.'('builtin#varName'(::(A,B),!('Fields')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('')))),123,125),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'/bootstrap#vert','/bootstrap#vert'('.'('/bootstrap#label'(!('{')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'/bootstrap#vert'),[]))),'.'('/bootstrap#label'(!('}')),[]))))),'.'('builtin#varName'(::(A,B),!('Fields')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonObj'(A),'/nodalion#json'),'/bootstrap#vert','/bootstrap#vert'('.'('/bootstrap#label'(!('{')),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'/bootstrap#vert'),[]))),'.'('/bootstrap#label'(!('}')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#alias'(::('/nodalion#jsonObj'(A),'/nodalion#json'),!({})),'.'('builtin#varName'(::(A,B),!('Fields')),[])),'builtin#true'). '/bootstrap#alias'(::('/nodalion#jsonObj'(A),'/nodalion#json'),!({})). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#field'(A,B),'/nodalion#jsonField'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/nodalion#json'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#field'(A,B),'/nodalion#jsonField'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/nodalion#json'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#field'(A,B),'/nodalion#jsonField'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/nodalion#json')),[]))))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#field'(A,B),'/nodalion#jsonField'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/nodalion#json')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#field'(A,B),'/nodalion#jsonField')),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#field'(A,B),'/nodalion#jsonField')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#jsonStr'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonStr'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonStr'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonStr'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('"')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('"')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#jsonStr'(A),'/nodalion#json')),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#jsonStr'(A),'/nodalion#json')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#jsonNum'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonNum'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonNum'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#number')),1,'cpi#rgb'(192,192,192)),[]))),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonNum'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#number')),1,'cpi#rgb'(192,192,192)),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#number'),::('/nodalion#jsonNum'(A),'/nodalion#json')),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#number'),::('/nodalion#jsonNum'(A),'/nodalion#json')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#jsonList'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#list'('/nodalion#json')),[])),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonList'(A),'/nodalion#json'),'.'(::(A,'/bootstrap#list'('/nodalion#json')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonList'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#json')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('')))),91,93),[]))),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonList'(A),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('cpi#vis'(::(A,'/bootstrap#list'('/nodalion#json')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(',')),'/bootstrap#label'(!('')))),91,93),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#list'('/nodalion#json')),::('/nodalion#jsonList'(A),'/nodalion#json')),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#list'('/nodalion#json')),::('/nodalion#jsonList'(A),'/nodalion#json')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#outputJson'(A),'/nodalion#handler'),'.'(::(A,'/nodalion#json'),[])),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#outputJson'(A),'/nodalion#handler'),'.'(::(A,'/nodalion#json'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/hi-json'),'.'('/nodalion#outputJson'('/nodalion#jsonList'('.'('/nodalion#jsonStr'(!(str)),'.'('/nodalion#jsonNum'(2),'.'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(2)),[])),[]))))),[])),[]),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/hi-json'),'.'('/nodalion#outputJson'('/nodalion#jsonList'('.'('/nodalion#jsonStr'(!(str)),'.'('/nodalion#jsonNum'(2),'.'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(2)),[])),[]))))),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#signature'(::('/nodalion#jsonTypedTerm'(A,B),'/nodalion#json'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonTypedTerm'(A,B),'/nodalion#json'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/bootstrap#projection'(::('/nodalion#jsonTypedTerm'(A,B),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonTypedTerm'(A,B),'/nodalion#json'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,B)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(B,'/bootstrap#type')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/json.ced'),'/nodalion#serve'('example#myApp','/nodalion#get',!('/json-with-ced-values'),'.'('/nodalion#outputJson'('/nodalion#jsonList'('.'('/nodalion#jsonTypedTerm'(!(str),'/bootstrap#string'),'.'('/nodalion#jsonTypedTerm'(2,'/bootstrap#number'),'.'('/nodalion#jsonTypedTerm'('builtin#succ'(A,B),'/bootstrap#pred'),[]))))),[])),'.'('builtin#varName'(::(A,C),!('Y')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/nodalion#serve'('example#myApp','/nodalion#get',!('/json-with-ced-values'),'.'('/nodalion#outputJson'('/nodalion#jsonList'('.'('/nodalion#jsonTypedTerm'(!(str),'/bootstrap#string'),'.'('/nodalion#jsonTypedTerm'(2,'/bootstrap#number'),'.'('/nodalion#jsonTypedTerm'('builtin#succ'(A,B),'/bootstrap#pred'),[]))))),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#signature'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),'.'(::(A,'/Functional#expr'('/nodalion#json')),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Obj')),'.'('builtin#varName'(::(B,D),!('Field')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),'.'(::(A,'/Functional#expr'('/nodalion#json')),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#projection'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Obj')),'.'('builtin#varName'(::(B,D),!('Field')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should evaluate to Object\'s field named Field'),','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(1)),'.'('/nodalion#field'(!(b),'/nodalion#jsonNum'(2)),[])))),!(b)),'/nodalion#json',C),'/util#assertEqual'(C,'/nodalion#jsonNum'(2),'/nodalion#json'))),'.'('builtin#varName'(::(A,D),!('Obj')),'.'('builtin#varName'(::(B,E),!('Field')),'.'('builtin#varName'(::(C,F),!('Two')),[])))),'builtin#true'). '/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should evaluate to Object\'s field named Field'),','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(1)),'.'('/nodalion#field'(!(b),'/nodalion#jsonNum'(2)),[])))),!(b)),'/nodalion#json',C),'/util#assertEqual'(C,'/nodalion#jsonNum'(2),'/nodalion#json'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#signature'(::('/nodalion#fieldDoesNotExist'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('C')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#fieldDoesNotExist'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should throw an exception if Field does not exist in Object'),'builtin#catch'(','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(1)),'.'('/nodalion#field'(!(b),'/nodalion#jsonNum'(2)),[])))),!(c)),'/nodalion#json',C),'builtin#fail'),'/nodalion#fieldDoesNotExist'(D),'/util#assertEqual'(D,!(c),'/bootstrap#string'))),'.'('builtin#varName'(::(A,E),!('Obj')),'.'('builtin#varName'(::(B,F),!('Field')),'.'('builtin#varName'(::(D,G),!('C')),[])))),'builtin#true'). '/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should throw an exception if Field does not exist in Object'),'builtin#catch'(','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(a),'/nodalion#jsonNum'(1)),'.'('/nodalion#field'(!(b),'/nodalion#jsonNum'(2)),[])))),!(c)),'/nodalion#json',C),'builtin#fail'),'/nodalion#fieldDoesNotExist'(D),'/util#assertEqual'(D,!(c),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should throw an exception if Object is not genuinely an object'),'builtin#catch'(','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonStr'(!(foo))),!(c)),'/nodalion#json',C),'builtin#fail'),'/nodalion#jsonTypeMismatch'(D,E),','('/util#assertStracturallyEqual'(D,'/nodalion#jsonObj'(F),'/nodalion#json'),'/util#assertEqual'(E,'/nodalion#jsonStr'(!(foo)),'/nodalion#json')))),'.'('builtin#varName'(::(A,G),!('Obj')),'.'('builtin#varName'(::(B,H),!('Field')),'.'('builtin#varName'(::(D,I),!('Expected')),'.'('builtin#varName'(::(E,J),!('Actual')),[]))))),'builtin#true'). '/util#behavior'(::('/nodalion#jsonMember'(A,B),'/Functional#expr'('/nodalion#json')),!('should throw an exception if Object is not genuinely an object'),'builtin#catch'(','('/Functional#eval'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonStr'(!(foo))),!(c)),'/nodalion#json',C),'builtin#fail'),'/nodalion#jsonTypeMismatch'(D,E),','('/util#assertStracturallyEqual'(D,'/nodalion#jsonObj'(F),'/nodalion#json'),'/util#assertEqual'(E,'/nodalion#jsonStr'(!(foo)),'/nodalion#json')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),:-('/Functional#eval'('/nodalion#jsonMember'(A,B),'/nodalion#json',C),','('/Functional#eval'(A,'/nodalion#json',D),'builtin#if'(=(::(D,'/nodalion#json'),::('/nodalion#jsonObj'(E),'/nodalion#json')),'builtin#if'('/bootstrap#listMember'('/nodalion#field'(B,C),'/nodalion#jsonField',E),'builtin#true','builtin#throw'('/nodalion#fieldDoesNotExist'(B))),'builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonObj'(E),D))))),'.'('builtin#varName'(::(A,F),!('Obj')),'.'('builtin#varName'(::(B,G),!('FieldName')),'.'('builtin#varName'(::(C,H),!('FieldVal')),'.'('builtin#varName'(::(D,I),!('ObjVal')),'.'('builtin#varName'(::(E,J),!('Fields')),[])))))),'builtin#true'). :-('/Functional#eval'('/nodalion#jsonMember'(A,B),'/nodalion#json',C),','('/Functional#eval'(A,'/nodalion#json',D),'builtin#if'(=(::(D,'/nodalion#json'),::('/nodalion#jsonObj'(E),'/nodalion#json')),'builtin#if'('/bootstrap#listMember'('/nodalion#field'(B,C),'/nodalion#jsonField',E),'builtin#true','builtin#throw'('/nodalion#fieldDoesNotExist'(B))),'builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonObj'(E),D))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#signature'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/nodalion#json')),[])),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),'.'(::(A,'/Functional#expr'('/nodalion#json')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#projection'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(str))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),[])))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(str))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#adapter'(::(A,'/Functional#expr'('/nodalion#json')),::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string'))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#expr'('/nodalion#json')),::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#adapter'(::(A,'/nodalion#json'),::('/nodalion#asString'('/Functional#const'(A)),'/Functional#expr'('/bootstrap#string'))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/nodalion#json'),::('/nodalion#asString'('/Functional#const'(A)),'/Functional#expr'('/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),!('should cast a string json value to a string'),','('/Functional#eval'('/nodalion#asString'('/Functional#const'('/nodalion#jsonStr'(!(foo)))),'/bootstrap#string',B),'/util#assertEqual'(B,!(foo),'/bootstrap#string'))),'.'('builtin#varName'(::(A,C),!('Json')),'.'('builtin#varName'(::(B,D),!('Str')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),!('should cast a string json value to a string'),','('/Functional#eval'('/nodalion#asString'('/Functional#const'('/nodalion#jsonStr'(!(foo)))),'/bootstrap#string',B),'/util#assertEqual'(B,!(foo),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#signature'(::('/nodalion#jsonTypeMismatch'(A,B),'/bootstrap#exception'),'.'(::(A,'/nodalion#json'),'.'(::(B,'/nodalion#json'),[]))),'.'('builtin#varName'(::(A,C),!('Expected')),'.'('builtin#varName'(::(B,D),!('Actual')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#jsonTypeMismatch'(A,B),'/bootstrap#exception'),'.'(::(A,'/nodalion#json'),'.'(::(B,'/nodalion#json'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),!('should throw an exception if Json does not evaluate to a string'),'builtin#catch'(','('/Functional#eval'('/nodalion#asString'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(foo),'/nodalion#jsonNum'(1)),[])))),'/bootstrap#string',B),'builtin#fail'),'/nodalion#jsonTypeMismatch'(C,D),','('/util#assertStracturallyEqual'(C,'/nodalion#jsonStr'(E),'/nodalion#json'),'/util#assertEqual'(D,'/nodalion#jsonObj'('.'('/nodalion#field'(!(foo),'/nodalion#jsonNum'(1)),[])),'/nodalion#json')))),'.'('builtin#varName'(::(A,F),!('Json')),'.'('builtin#varName'(::(B,G),!('Str')),'.'('builtin#varName'(::(C,H),!('Expected')),'.'('builtin#varName'(::(D,I),!('Actual')),[]))))),'builtin#true'). '/util#behavior'(::('/nodalion#asString'(A),'/Functional#expr'('/bootstrap#string')),!('should throw an exception if Json does not evaluate to a string'),'builtin#catch'(','('/Functional#eval'('/nodalion#asString'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(foo),'/nodalion#jsonNum'(1)),[])))),'/bootstrap#string',B),'builtin#fail'),'/nodalion#jsonTypeMismatch'(C,D),','('/util#assertStracturallyEqual'(C,'/nodalion#jsonStr'(E),'/nodalion#json'),'/util#assertEqual'(D,'/nodalion#jsonObj'('.'('/nodalion#field'(!(foo),'/nodalion#jsonNum'(1)),[])),'/nodalion#json')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'annotation#shrink'(:-('/Functional#eval'('/nodalion#asString'(A),'/bootstrap#string',B),','('/Functional#eval'(A,'/nodalion#json',C),'builtin#if'(=(::('/nodalion#jsonStr'(B),'/nodalion#json'),::(C,'/nodalion#json')),'builtin#true','builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonStr'(B),C)))))),'.'('builtin#varName'(::(A,D),!('Json')),'.'('builtin#varName'(::(B,E),!('Str')),'.'('builtin#varName'(::(C,F),!('JsonVal')),[])))),'builtin#true'). :-('/Functional#eval'('/nodalion#asString'(A),'/bootstrap#string',B),','('/Functional#eval'(A,'/nodalion#json',C),'builtin#if'(=(::('/nodalion#jsonStr'(B),'/nodalion#json'),::(C,'/nodalion#json')),'builtin#true','builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonStr'(B),C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#signature'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/nodalion#json')),[])),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/Functional#expr'('/nodalion#json')),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#projection'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(num))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),[])))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),'/bootstrap#horiz'('.'('/bootstrap#halfSize'('/bootstrap#label'(!(num))),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/nodalion#json'))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#adapter'(::(A,'/Functional#expr'('/nodalion#json')),::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number'))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/Functional#expr'('/nodalion#json')),::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/bootstrap#adapter'(::(A,'/nodalion#json'),::('/nodalion#asNumber'('/Functional#const'(A)),'/Functional#expr'('/bootstrap#number'))),'.'('builtin#varName'(::(A,B),!('Json')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/nodalion#json'),::('/nodalion#asNumber'('/Functional#const'(A)),'/Functional#expr'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),!('should cast a json number to a number'),','('/Functional#eval'('/nodalion#asNumber'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(num),'/nodalion#jsonNum'(3)),[]))),!(num))),'/bootstrap#number',B),'/util#assertEqual'(B,3,'/bootstrap#number'))),'.'('builtin#varName'(::(A,C),!('Json')),'.'('builtin#varName'(::(B,D),!('Num')),[]))),'builtin#true'). '/util#behavior'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),!('should cast a json number to a number'),','('/Functional#eval'('/nodalion#asNumber'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'('.'('/nodalion#field'(!(num),'/nodalion#jsonNum'(3)),[]))),!(num))),'/bootstrap#number',B),'/util#assertEqual'(B,3,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),'/util#behavior'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),!('should throw an exception if Json is not a number'),'builtin#catch'(','('/Functional#eval'('/nodalion#asNumber'('/Functional#const'('/nodalion#jsonObj'([]))),'/bootstrap#number',B),'builtin#fail'),'/nodalion#jsonTypeMismatch'(C,D),','('/util#assertStracturallyEqual'(C,'/nodalion#jsonNum'(E),'/nodalion#json'),'/util#assertEqual'(D,'/nodalion#jsonObj'([]),'/nodalion#json')))),'.'('builtin#varName'(::(A,F),!('Json')),'.'('builtin#varName'(::(B,G),!('Num')),'.'('builtin#varName'(::(C,H),!('Expected')),'.'('builtin#varName'(::(D,I),!('Actual')),[]))))),'builtin#true'). '/util#behavior'(::('/nodalion#asNumber'(A),'/Functional#expr'('/bootstrap#number')),!('should throw an exception if Json is not a number'),'builtin#catch'(','('/Functional#eval'('/nodalion#asNumber'('/Functional#const'('/nodalion#jsonObj'([]))),'/bootstrap#number',B),'builtin#fail'),'/nodalion#jsonTypeMismatch'(C,D),','('/util#assertStracturallyEqual'(C,'/nodalion#jsonNum'(E),'/nodalion#json'),'/util#assertEqual'(D,'/nodalion#jsonObj'([]),'/nodalion#json')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/jsonExpr.ced'),:-('/Functional#eval'('/nodalion#asNumber'(A),'/bootstrap#number',B),','('/Functional#eval'(A,'/nodalion#json',C),'builtin#if'(=(::(C,'/nodalion#json'),::('/nodalion#jsonNum'(B),'/nodalion#json')),'builtin#true','builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonNum'(B),C))))),'.'('builtin#varName'(::(A,D),!('Json')),'.'('builtin#varName'(::(B,E),!('Num')),'.'('builtin#varName'(::(C,F),!('JsonVal')),[])))),'builtin#true'). :-('/Functional#eval'('/nodalion#asNumber'(A),'/bootstrap#number',B),','('/Functional#eval'(A,'/nodalion#json',C),'builtin#if'(=(::(C,'/nodalion#json'),::('/nodalion#jsonNum'(B),'/nodalion#json')),'builtin#true','builtin#throw'('/nodalion#jsonTypeMismatch'('/nodalion#jsonNum'(B),C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),'.'(::(A,'/impred#expr'('/bootstrap#string')),'.'(::(B,'/impred#expr'('/bootstrap#string')),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Default')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),'.'(::(A,'/impred#expr'('/bootstrap#string')),'.'(::(B,'/impred#expr'('/bootstrap#string')),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/util#behavior'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),!('should evaluate to the value underlying Key if one exists'),','('/impred#simulate'('/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(myKey))),'/impred#pureExpr'('/Functional#const'(!(someDefault)))),'/bootstrap#string',C),'.'('/impred#task'('/nodalion#kvsGet'(!(myKey)),!(foo),'/bootstrap#string'),[]),'/impred#true'),'builtin#equals'(::(C,'/bootstrap#string'),::(!(foo),'/bootstrap#string')))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Default')),'.'('builtin#varName'(::(C,F),!('Val')),[])))),'builtin#true'). '/util#behavior'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),!('should evaluate to the value underlying Key if one exists'),','('/impred#simulate'('/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(myKey))),'/impred#pureExpr'('/Functional#const'(!(someDefault)))),'/bootstrap#string',C),'.'('/impred#task'('/nodalion#kvsGet'(!(myKey)),!(foo),'/bootstrap#string'),[]),'/impred#true'),'builtin#equals'(::(C,'/bootstrap#string'),::(!(foo),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#kvsGet'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Key')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#kvsGet'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/impred#defFunc'('/nodalion#kvsGet'(A,B),'/bootstrap#string','/impred#where'('/impred#funcIf'('/impred#pred'(=(::(C,'/bootstrap#string'),::(!(''),'/bootstrap#string'))),B,'/impred#pureExpr'('/Functional#const'(C))),'/impred#conj'('/impred#eval'(A,'/bootstrap#string',D),'/impred#task'('/nodalion#kvsGet'(D),C,'/bootstrap#string')))),'.'('builtin#varName'(::(A,E),!('Key')),'.'('builtin#varName'(::(B,F),!('Default')),'.'('builtin#varName'(::(C,G),!('Value')),'.'('builtin#varName'(::(D,H),!('KeyPrime')),[]))))),'builtin#true'). '/impred#defFunc'('/nodalion#kvsGet'(A,B),'/bootstrap#string','/impred#where'('/impred#funcIf'('/impred#pred'(=(::(C,'/bootstrap#string'),::(!(''),'/bootstrap#string'))),B,'/impred#pureExpr'('/Functional#const'(C))),'/impred#conj'('/impred#eval'(A,'/bootstrap#string',D),'/impred#task'('/nodalion#kvsGet'(D),C,'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/util#behavior'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),!('should evaluate to Default if Key is not defined in the KVS'),','('/impred#simulate'('/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(myKey))),'/impred#pureExpr'('/Functional#const'(!(someDefault)))),'/bootstrap#string',C),'.'('/impred#task'('/nodalion#kvsGet'(!(myKey)),!(''),'/bootstrap#string'),[]),'/impred#true'),'builtin#equals'(::(C,'/bootstrap#string'),::(!(someDefault),'/bootstrap#string')))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Default')),'.'('builtin#varName'(::(C,F),!('Val')),[])))),'builtin#true'). '/util#behavior'(::('/nodalion#kvsGet'(A,B),'/impred#expr'('/bootstrap#string')),!('should evaluate to Default if Key is not defined in the KVS'),','('/impred#simulate'('/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(myKey))),'/impred#pureExpr'('/Functional#const'(!(someDefault)))),'/bootstrap#string',C),'.'('/impred#task'('/nodalion#kvsGet'(!(myKey)),!(''),'/bootstrap#string'),[]),'/impred#true'),'builtin#equals'(::(C,'/bootstrap#string'),::(!(someDefault),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#defAtom'(::('/nodalion#voidType','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#voidType','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#kvsSet'(A,B),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#kvsSet'(A,B),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#testKVS1'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#testKVS1'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/impred#clause'('/nodalion#testKVS1'(A),'/impred#conj'('/impred#task'('/nodalion#kvsSet'(!(a),!('1')),B,'/nodalion#voidType'),'/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(a))),'/impred#pureExpr'('/Functional#const'(!('0')))),'/bootstrap#string',A))),'.'('builtin#varName'(::(A,C),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#testKVS1'(A),'/impred#conj'('/impred#task'('/nodalion#kvsSet'(!(a),!('1')),B,'/nodalion#voidType'),'/impred#eval'('/nodalion#kvsGet'('/impred#pureExpr'('/Functional#const'(!(a))),'/impred#pureExpr'('/Functional#const'(!('0')))),'/bootstrap#string',A))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#testKVS2'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#testKVS2'(A),'/impred#impred'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/bootstrap#signature'(::('/nodalion#kvsSetWithTTL'(A,B,C),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Value')),'.'('builtin#varName'(::(C,F),!('TTL')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#kvsSetWithTTL'(A,B,C),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/kvs.ced'),'/impred#clause'('/nodalion#testKVS2'(A),'/impred#conj'('/impred#task'('/nodalion#kvsSetWithTTL'(!('G'),!('7'),2),B,'/nodalion#voidType'),'/impred#eval'('/impred#call'('/nodalion#kvsGet'(!('G'))),'/bootstrap#string',A))),'.'('builtin#varName'(::(A,C),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#testKVS2'(A),'/impred#conj'('/impred#task'('/nodalion#kvsSetWithTTL'(!('G'),!('7'),2),B,'/nodalion#voidType'),'/impred#eval'('/impred#call'('/nodalion#kvsGet'(!('G'))),'/bootstrap#string',A))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#defAtom'(::('/nodalion#testName','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#testName','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#mongoTest'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('TestNumber')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#mongoTest'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#databaseValue'(A,B,C),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('TRow')),'.'('builtin#varName'(::(B,E),!('TCol')),'.'('builtin#varName'(::(C,F),!('TVal')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#databaseValue'(A,B,C),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#databaseOp'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))),'.'('builtin#varName'(::(A,C),!('TCol')),'.'('builtin#varName'(::(B,D),!('TVal')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#databaseOp'(A,B),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#type'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#trans'(A,B,C),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(D,E,F)))),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'('/nodalion#databaseOp'(E,F))),[])))),'.'('builtin#varName'(::(A,G),!('Table')),'.'('builtin#varName'(::(B,H),!('Row')),'.'('builtin#varName'(::(C,I),!('Ops')),'.'('builtin#varName'(::(D,J),!('TRow')),'.'('builtin#varName'(::(E,K),!('TCol')),'.'('builtin#varName'(::(F,L),!('TVal')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#trans'(A,B,C),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(D,E,F)))),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'('/nodalion#databaseOp'(E,F))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#trans'(A,B,C),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(D,E,F)))),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('on table')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(row)),'.'('/bootstrap#vis'(::(B,D)),[]))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(C,'/bootstrap#list'('/nodalion#databaseOp'(E,F))),'/bootstrap#vert'),[]))),[])))),'.'('builtin#varName'(::(A,G),!('Table')),'.'('builtin#varName'(::(B,H),!('Row')),'.'('builtin#varName'(::(C,I),!('Ops')),'.'('builtin#varName'(::(D,J),!('TRow')),'.'('builtin#varName'(::(E,K),!('TCol')),'.'('builtin#varName'(::(F,L),!('TVal')),[]))))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#trans'(A,B,C),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(D,E,F)))),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('on table')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(row)),'.'('/bootstrap#vis'(::(B,D)),[]))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('cpi#vis'(::(C,'/bootstrap#list'('/nodalion#databaseOp'(E,F))),'/bootstrap#vert'),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#alias'(::('/nodalion#trans'(A,B,[]),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(C,D,E)))),!('on table ... row ...')),'.'('builtin#varName'(::(A,F),!('Table')),'.'('builtin#varName'(::(B,G),!('Row')),[]))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#trans'(A,B,[]),'/impred#task'('/bootstrap#list'('/nodalion#databaseValue'(C,D,E)))),!('on table ... row ...')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#set'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'(E)),[])))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Values')),'.'('builtin#varName'(::(D,I),!('TCol')),'.'('builtin#varName'(::(E,J),!('TVal')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#set'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'(E)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#set'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),[])))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(E))),[]))))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Values')),'.'('builtin#varName'(::(D,I),!('TCol')),'.'('builtin#varName'(::(E,J),!('TVal')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#set'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),[])))),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(E))),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#get'(A,B),'/nodalion#databaseOp'(C,D)),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),[]))),'.'('builtin#varName'(::(A,E),!('Family')),'.'('builtin#varName'(::(B,F),!('Key')),'.'('builtin#varName'(::(C,G),!('TCol')),'.'('builtin#varName'(::(D,H),!('TVal')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#get'(A,B),'/nodalion#databaseOp'(C,D)),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#get'(A,B),'/nodalion#databaseOp'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,C)),[])))))),'.'('builtin#varName'(::(A,E),!('Family')),'.'('builtin#varName'(::(B,F),!('Key')),'.'('builtin#varName'(::(C,G),!('TCol')),'.'('builtin#varName'(::(D,H),!('TVal')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#get'(A,B),'/nodalion#databaseOp'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,C)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#value'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'.'(::(A,'/bootstrap#string'),'.'(::(B,E),'.'(::(C,'/bootstrap#list'(F)),[])))),'.'('builtin#varName'(::(A,G),!('Family')),'.'('builtin#varName'(::(B,H),!('Key')),'.'('builtin#varName'(::(C,I),!('Values')),'.'('builtin#varName'(::(D,J),!('TRow')),'.'('builtin#varName'(::(E,K),!('TCol')),'.'('builtin#varName'(::(F,L),!('TVal')),[]))))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#value'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'.'(::(A,'/bootstrap#string'),'.'(::(B,E),'.'(::(C,'/bootstrap#list'(F)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#value'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(F))),[]))))))),'.'('builtin#varName'(::(A,G),!('Family')),'.'('builtin#varName'(::(B,H),!('Key')),'.'('builtin#varName'(::(C,I),!('Values')),'.'('builtin#varName'(::(D,J),!('TRow')),'.'('builtin#varName'(::(E,K),!('TCol')),'.'('builtin#varName'(::(F,L),!('TVal')),[]))))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#value'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(F))),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(1,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(abcd),'.'('/nodalion#set'(!(fam),!(foo),'.'(4,[])),'.'('/nodalion#set'(!(fam),!(moo),'.'(7,[])),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(abcd),'.'('/nodalion#get'(!(fam),!(foo)),[])),'.'('/nodalion#value'(!(fam),!(foo),'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))))),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(1,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(abcd),'.'('/nodalion#set'(!(fam),!(foo),'.'(4,[])),'.'('/nodalion#set'(!(fam),!(moo),'.'(7,[])),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(abcd),'.'('/nodalion#get'(!(fam),!(foo)),[])),'.'('/nodalion#value'(!(fam),!(foo),'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#defAtom'(::('/nodalion#populateARow','/impred#impred')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#populateARow','/impred#impred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#populateARow','/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#set'(!(fam),!(a),'.'(1,[])),'.'('/nodalion#set'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#set'(!(fam),!(c),'.'(3,[])),[])))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))),[]),'builtin#true'). '/impred#clause'('/nodalion#populateARow','/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#set'(!(fam),!(a),'.'(1,[])),'.'('/nodalion#set'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#set'(!(fam),!(c),'.'(3,[])),[])))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#getAll'(A),'/nodalion#databaseOp'(B,C)),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,D),!('Family')),'.'('builtin#varName'(::(B,E),!('TCol')),'.'('builtin#varName'(::(C,F),!('TVal')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#getAll'(A),'/nodalion#databaseOp'(B,C)),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#getAll'(A),'/nodalion#databaseOp'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:*)),[]))))),'.'('builtin#varName'(::(A,D),!('Family')),'.'('builtin#varName'(::(B,E),!('TCol')),'.'('builtin#varName'(::(C,F),!('TVal')),[])))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#getAll'(A),'/nodalion#databaseOp'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:*)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(2,A),'/impred#conj'('/nodalion#populateARow','/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#getAll'(!(fam)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(1,[])),'.'('/nodalion#value'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#value'(!(fam),!(c),'.'(A,[])),[]))),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))))),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(2,A),'/impred#conj'('/nodalion#populateARow','/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#getAll'(!(fam)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(1,[])),'.'('/nodalion#value'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#value'(!(fam),!(c),'.'(A,[])),[]))),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#append'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,E),[])))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('TCol')),'.'('builtin#varName'(::(E,J),!('TVal')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#append'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,E),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#append'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),[])))),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(C,E)),[]))))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('TCol')),'.'('builtin#varName'(::(E,J),!('TVal')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#append'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),[])))),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(C,E)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(3,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#append'(!(fam),!(a),1.1),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(1,'.'(A,[]))),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(3,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#append'(!(fam),!(a),1.1),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(1,'.'(A,[]))),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#check'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'(E)),[])))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Values')),'.'('builtin#varName'(::(D,I),!('KeyType')),'.'('builtin#varName'(::(E,J),!('ValueType')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#check'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#list'(E)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#check'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(E))),[])))))))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Values')),'.'('builtin#varName'(::(D,I),!('KeyType')),'.'('builtin#varName'(::(E,J),!('ValueType')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#check'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(where)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#list'(E))),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(4,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#check'(!(fam),!(a),'.'(2,[])),'.'('/nodalion#append'(!(fam),!(a),1.1),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))),'.'('builtin#varName'(::(A,B),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(4,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#check'(!(fam),!(a),'.'(2,[])),'.'('/nodalion#append'(!(fam),!(a),1.1),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(5,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#check'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#append'(!(fam),!(a),1.1),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(B,'.'(A,[]))),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))),'.'('builtin#varName'(::(A,C),!('Value')),[])),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(5,A),'/impred#conj'('/nodalion#populateARow','/impred#conj'('/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#check'(!(fam),!(b),'.'(2,[])),'.'('/nodalion#append'(!(fam),!(a),1.1),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number'))),'/impred#task'('/nodalion#trans'(!(test3),!(xyz),'.'('/nodalion#get'(!(fam),!(a)),[])),'.'('/nodalion#value'(!(fam),!(a),'.'(B,'.'(A,[]))),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#number')))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('KeyType')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('KeyType')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#alias'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),!(#+=)),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('KeyType')),[]))))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#addToCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),!(#+=)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#getAllCounters'(A),'/nodalion#databaseOp'(B,C)),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,D),!('Family')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#getAllCounters'(A),'/nodalion#databaseOp'(B,C)),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#getAllCounters'(A),'/nodalion#databaseOp'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:*)),[]))))),'.'('builtin#varName'(::(A,D),!('Family')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#getAllCounters'(A),'/nodalion#databaseOp'(B,C)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(?#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:*)),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#counterValue'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'.'(::(A,'/bootstrap#string'),'.'(::(B,E),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,G),!('Family')),'.'('builtin#varName'(::(B,H),!('Key')),'.'('builtin#varName'(::(C,I),!('Value')),'.'('builtin#varName'(::(E,J),!('KeyType')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#counterValue'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'.'(::(A,'/bootstrap#string'),'.'(::(B,E),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#counterValue'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))),'.'('builtin#varName'(::(A,G),!('Family')),'.'('builtin#varName'(::(B,H),!('Key')),'.'('builtin#varName'(::(C,I),!('Value')),'.'('builtin#varName'(::(E,J),!('KeyType')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#counterValue'(A,B,C),'/nodalion#databaseValue'(D,E,F)),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,E)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(6,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(xyz),'.'('/nodalion#addToCounter'(!(fam),!(foo),3),'.'('/nodalion#addToCounter'(!(fam),!(bar),2),[]))),B,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(xyz),'.'('/nodalion#getAllCounters'(!(fam)),[])),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'))),'/impred#pred'('/bootstrap#listMember'('/nodalion#counterValue'(!(fam),!(bar),A),'/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'),C))))),'.'('builtin#varName'(::(A,D),!('Value')),'.'('builtin#varName'(::(C,E),!('Values')),[]))),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(6,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(xyz),'.'('/nodalion#addToCounter'(!(fam),!(foo),3),'.'('/nodalion#addToCounter'(!(fam),!(bar),2),[]))),B,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(xyz),'.'('/nodalion#getAllCounters'(!(fam)),[])),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'))),'/impred#pred'('/bootstrap#listMember'('/nodalion#counterValue'(!(fam),!(bar),A),'/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string','/bootstrap#string'),C))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#checkCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#number'),[])))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#checkCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'.'(::(A,'/bootstrap#string'),'.'(::(B,D),'.'(::(C,'/bootstrap#number'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#checkCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('where #')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))),'.'('builtin#varName'(::(A,F),!('Family')),'.'('builtin#varName'(::(B,G),!('Key')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#checkCounter'(A,B,C),'/nodalion#databaseOp'(D,E)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('where #')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,D)),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(C,'/bootstrap#number')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#signature'(::('/nodalion#deleteCounter'(A,B),'/nodalion#databaseOp'(C,D)),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),[]))),'.'('builtin#varName'(::(A,E),!('Family')),'.'('builtin#varName'(::(B,F),!('Key')),'.'('builtin#varName'(::(C,G),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#deleteCounter'(A,B),'/nodalion#databaseOp'(C,D)),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/bootstrap#projection'(::('/nodalion#deleteCounter'(A,B),'/nodalion#databaseOp'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('delete #')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,C)),[])))))),'.'('builtin#varName'(::(A,E),!('Family')),'.'('builtin#varName'(::(B,F),!('Key')),'.'('builtin#varName'(::(C,G),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#deleteCounter'(A,B),'/nodalion#databaseOp'(C,D)),'/bootstrap#horiz'('.'('/bootstrap#label'(!('delete #')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,C)),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/mongo.ced'),'/impred#clause'('/nodalion#mongoTest'(7,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#addToCounter'(!(fam),!(foo),1),'.'('/nodalion#addToCounter'(!(fam),!(bar),1),[]))),B,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',C))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#addToCounter'(!(fam),!(foo),-1),[])),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',E))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#checkCounter'(!(fam),!(foo),0),'.'('/nodalion#deleteCounter'(!(fam),!(foo)),[]))),F,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',G))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#checkCounter'(!(fam),!(bar),0),'.'('/nodalion#deleteCounter'(!(fam),!(bar)),[]))),H,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',I))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#getAllCounters'(!(fam)),[])),J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',K))),'/impred#pred'('builtin#length'(J,'/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',K),A)))))))),'.'('builtin#varName'(::(A,L),!('Value')),'.'('builtin#varName'(::(J,M),!('Output')),'.'('builtin#varName'(::(K,N),!('T')),[])))),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(7,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#addToCounter'(!(fam),!(foo),1),'.'('/nodalion#addToCounter'(!(fam),!(bar),1),[]))),B,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',C))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#addToCounter'(!(fam),!(foo),-1),[])),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',E))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#checkCounter'(!(fam),!(foo),0),'.'('/nodalion#deleteCounter'(!(fam),!(foo)),[]))),F,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',G))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#checkCounter'(!(fam),!(bar),0),'.'('/nodalion#deleteCounter'(!(fam),!(bar)),[]))),H,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',I))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),!(row),'.'('/nodalion#getAllCounters'(!(fam)),[])),J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',K))),'/impred#pred'('builtin#length'(J,'/nodalion#databaseValue'('/bootstrap#string','/bootstrap#string',K),A)))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/scan.ced'),'/bootstrap#signature'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))),'.'('builtin#varName'(::(A,E),!('Table')),'.'('builtin#varName'(::(B,F),!('Row')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Goal')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/impred#impred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/scan.ced'),'/bootstrap#projection'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('for each')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(in)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),[])))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/impred#impred')),[]))),[])))),'.'('builtin#varName'(::(A,E),!('Table')),'.'('builtin#varName'(::(B,F),!('Row')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Goal')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('for each')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(in)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(:)),[])))))))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(D,'/impred#impred')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/scan.ced'),'/bootstrap#alias'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),!('for each')),'.'('builtin#varName'(::(A,E),!('Table')),'.'('builtin#varName'(::(B,F),!('Row')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('Goal')),[]))))),'builtin#true'). '/bootstrap#alias'(::('/nodalion#scan'(A,B,C,D),'/impred#task'('/nodalion#voidType')),!('for each')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/scan.ced'),'annotation#shrink'('/impred#clause'('/nodalion#mongoTest'(10,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),1,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),2,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),3,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#scan'(!(test2),B,'/bootstrap#number','/impred#task'('/nodalion#trans'(!(test2),B,'.'('/nodalion#set'(!(f),2,'.'(2,[])),[])),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number')))),D,'/nodalion#voidType'),'/impred#task'('/nodalion#trans'(!(test2),2,'.'('/nodalion#get'(!(f),2),[])),'.'('/nodalion#value'(!(f),2,'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))))))))),'.'('builtin#varName'(::(A,E),!('Value')),'.'('builtin#varName'(::(B,F),!('Row')),[]))),'builtin#true'). '/impred#clause'('/nodalion#mongoTest'(10,A),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),1,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),2,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!(test2),3,'.'('/nodalion#set'(!(f),1,'.'(1,[])),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#scan'(!(test2),B,'/bootstrap#number','/impred#task'('/nodalion#trans'(!(test2),B,'.'('/nodalion#set'(!(f),2,'.'(2,[])),[])),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number')))),D,'/nodalion#voidType'),'/impred#task'('/nodalion#trans'(!(test2),2,'.'('/nodalion#get'(!(f),2),[])),'.'('/nodalion#value'(!(f),2,'.'(A,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/bootstrap#number','/bootstrap#number')))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#signature'(::('/nodalion#url'(A,B,C,D),'/nodalion#url'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#string')),'.'(::(D,'/bootstrap#list'('/nodalion#queryPair')),[]))))),'.'('builtin#varName'(::(A,E),!('Proto')),'.'('builtin#varName'(::(B,F),!('Domain')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Query')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#url'(A,B,C,D),'/nodalion#url'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#string')),'.'(::(D,'/bootstrap#list'('/nodalion#queryPair')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#projection'(::('/nodalion#url'(A,B,C,D),'/nodalion#url'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(://)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(/)),'.'('cpi#vis'(::(C,'/bootstrap#list'('/bootstrap#string')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(/)),'/bootstrap#label'(!('')))),'.'('cpi#vis'(::(D,'/bootstrap#list'('/nodalion#queryPair')),'/bootstrap#horizontal'(63,0,'/bootstrap#label'(!(&)),'/bootstrap#label'(!('')))),[])))))))),'.'('builtin#varName'(::(A,E),!('Proto')),'.'('builtin#varName'(::(B,F),!('Domain')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('Query')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#url'(A,B,C,D),'/nodalion#url'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(://)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(/)),'.'('cpi#vis'(::(C,'/bootstrap#list'('/bootstrap#string')),'/bootstrap#horizontal'(0,0,'/bootstrap#label'(!(/)),'/bootstrap#label'(!('')))),'.'('cpi#vis'(::(D,'/bootstrap#list'('/nodalion#queryPair')),'/bootstrap#horizontal'(63,0,'/bootstrap#label'(!(&)),'/bootstrap#label'(!('')))),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#defAtom'(::('/nodalion#queryPair','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#queryPair','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#signature'(::('/nodalion#queryPair'(A,B),'/nodalion#queryPair'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#queryPair'(A,B),'/nodalion#queryPair'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#projection'(::('/nodalion#queryPair'(A,B),'/nodalion#queryPair'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#queryPair'(A,B),'/nodalion#queryPair'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/url.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#queryPair'(A,B),'/nodalion#queryPair')),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/nodalion#queryPair'(A,B),'/nodalion#queryPair')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#defAtom'(::('/nodalion#queueDomain','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#queueDomain','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#defAtom'(::('example#myQueueDomain','/nodalion#queueDomain')),[]),'builtin#true'). '/bootstrap#defAtom'(::('example#myQueueDomain','/nodalion#queueDomain')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#signature'(::('example#store'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('example#store'(A),'/impred#task'('/bootstrap#string')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#signature'(::('/nodalion#workQueue'(A,B,C,D,E),'/impred#impred'),'.'(::(A,'/nodalion#queueDomain'),'.'(::(B,'/bootstrap#string'),'.'(::(C,D),'.'(::(D,'/bootstrap#type'),'.'(::(E,'/impred#impred'),[])))))),'.'('builtin#varName'(::(A,F),!('Domain')),'.'('builtin#varName'(::(B,G),!('Name')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Impred')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#workQueue'(A,B,C,D,E),'/impred#impred'),'.'(::(A,'/nodalion#queueDomain'),'.'(::(B,'/bootstrap#string'),'.'(::(C,D),'.'(::(D,'/bootstrap#type'),'.'(::(E,'/impred#impred'),[])))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#projection'(::('/nodalion#workQueue'(A,B,C,D,E),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('work queue')),'.'('/bootstrap#vis'(::(A,'/nodalion#queueDomain')),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(C,D)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(D,'/bootstrap#type')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/impred#impred')),[])))))))))))),'.'('builtin#varName'(::(A,F),!('Domain')),'.'('builtin#varName'(::(B,G),!('Name')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Impred')),[])))))),'builtin#true'). '/bootstrap#projection'(::('/nodalion#workQueue'(A,B,C,D,E),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('work queue')),'.'('/bootstrap#vis'(::(A,'/nodalion#queueDomain')),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!(for)),'.'('/bootstrap#vis'(::(C,D)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(D,'/bootstrap#type')),'.'('/bootstrap#label'(!(do)),'.'('/bootstrap#vis'(::(E,'/impred#impred')),[])))))))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/impred#clause'('/nodalion#workQueue'('example#myQueueDomain',!(example),A,'/bootstrap#string','/impred#task'('example#store'(A),B,'/bootstrap#string')),'/impred#true'),'.'('builtin#varName'(::(A,C),!('Str')),[])),'builtin#true'). '/impred#clause'('/nodalion#workQueue'('example#myQueueDomain',!(example),A,'/bootstrap#string','/impred#task'('example#store'(A),B,'/bootstrap#string')),'/impred#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#signature'(::('/nodalion#applyWork'(A,B,C,D),'/impred#impred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),'.'(::(D,'/impred#impred'),[]))))),'.'('builtin#varName'(::(A,E),!('W')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('WPrime')),'.'('builtin#varName'(::(D,H),!('Impred')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#applyWork'(A,B,C,D),'/impred#impred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),'.'(::(D,'/impred#impred'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/impred#clause'('/nodalion#applyWork'(A,B,A,C),C),'.'('builtin#varName'(::(A,D),!('W')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Impred')),[])))),'builtin#true'). '/impred#clause'('/nodalion#applyWork'(A,B,A,C),C). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#signature'(::('/nodalion#enqueueJob'(A),'/impred#impred'),'.'(::(A,'/impred#impred'),[])),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#signature'(::('/nodalion#enqueueJob'(A),'/impred#impred'),'.'(::(A,'/impred#impred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#projection'(::('/nodalion#enqueueJob'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(enqueue)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/bootstrap#projection'(::('/nodalion#enqueueJob'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(enqueue)),'.'('/bootstrap#vis'(::(A,'/impred#impred')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/util#behavior'(::('/nodalion#enqueueJob'(A),'/impred#impred'),!('should enqueue Impred in the work queue'),'/impred#simulate'('/nodalion#enqueueJob'('/impred#true'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/impred#true','/impred#impred'),B,'/nodalion#voidType'),[]),'/impred#true')),'.'('builtin#varName'(::(A,C),!('Impred')),[])),'builtin#true'). '/util#behavior'(::('/nodalion#enqueueJob'(A),'/impred#impred'),!('should enqueue Impred in the work queue'),'/impred#simulate'('/nodalion#enqueueJob'('/impred#true'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/impred#true','/impred#impred'),B,'/nodalion#voidType'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#signature'(::('/nodalion#enqueue'(A,B,C),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Queue')),'.'('builtin#varName'(::(B,E),!('Job')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/bootstrap#signature'(::('/nodalion#enqueue'(A,B,C),'/impred#task'('/nodalion#voidType')),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/impred#clause'('/nodalion#enqueueJob'(A),'/impred#task'('/nodalion#enqueue'(!(wq),A,'/impred#impred'),B,'/nodalion#voidType')),'.'('builtin#varName'(::(A,C),!('Impred')),[])),'builtin#true'). '/impred#clause'('/nodalion#enqueueJob'(A),'/impred#task'('/nodalion#enqueue'(!(wq),A,'/impred#impred'),B,'/nodalion#voidType')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/bootstrap#defAtom'(::('/nodalion#defaultQueueDomain','/nodalion#queueDomain')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/nodalion#defaultQueueDomain','/nodalion#queueDomain')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/nodalion/workQueue.ced'),'/impred#clause'('/nodalion#workQueue'('/nodalion#defaultQueueDomain',!(wq),A,'/impred#impred',A),'/impred#true'),'.'('builtin#varName'(::(A,B),!('Impred')),[])),'builtin#true'). '/impred#clause'('/nodalion#workQueue'('/nodalion#defaultQueueDomain',!(wq),A,'/impred#impred',A),'/impred#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#signature'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#projection'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('should equal')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('should equal')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/util#behavior'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),!('should succeed if Actual == Expected'),'/util#assertEqual'(D,D,'/bootstrap#number')),'.'('builtin#varName'(::(A,E),!('Actual')),'.'('builtin#varName'(::(B,F),!('Expected')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),!('should succeed if Actual == Expected'),'/util#assertEqual'(D,D,'/bootstrap#number')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),:-('/util#assertEqual'(A,B,C),'builtin#if'('builtin#equals'(::(A,C),::(B,C)),'builtin#true','builtin#throw'('/util#notEqual'(A,B,C)))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/util#assertEqual'(A,B,C),'builtin#if'('builtin#equals'(::(A,C),::(B,C)),'builtin#true','builtin#throw'('/util#notEqual'(A,B,C)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#signature'(::('/util#notEqual'(A,B,C),'/bootstrap#exception'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/util#notEqual'(A,B,C),'/bootstrap#exception'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#projection'(::('/util#notEqual'(A,B,C),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('actual value')),'.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('does not match expected')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[])))))))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/util#notEqual'(A,B,C),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('actual value')),'.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('does not match expected')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[])))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/util#behavior'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),!('should throw an exception if not Actual == Expected'),'builtin#catch'(','('/util#assertEqual'(D,E,C),'builtin#fail'),'/util#notEqual'(A,B,C),'builtin#true')),'.'('builtin#varName'(::(A,F),!('Actual')),'.'('builtin#varName'(::(B,G),!('Expected')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Y')),[])))))),'builtin#true'). '/util#behavior'(::('/util#assertEqual'(A,B,C),'/bootstrap#pred'),!('should throw an exception if not Actual == Expected'),'builtin#catch'(','('/util#assertEqual'(D,E,C),'builtin#fail'),'/util#notEqual'(A,B,C),'builtin#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#contextMenuEntry'(::('builtin#equals'(::(A,B),::(C,B)),'/bootstrap#pred'),D,E,!('Convert to assertion'),'cpi#edit'(E,::('/util#assertEqual'(A,C,B),'/bootstrap#pred'),D)),'.'('builtin#varName'(::(A,F),!('X')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Y')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('builtin#equals'(::(A,B),::(C,B)),'/bootstrap#pred'),D,E,!('Convert to assertion'),'cpi#edit'(E,::('/util#assertEqual'(A,C,B),'/bootstrap#pred'),D)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#signature'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),'.'(::(A,C),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/bootstrap#projection'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('should structurally equal')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))),'.'('builtin#varName'(::(A,D),!('Actual')),'.'('builtin#varName'(::(B,E),!('Expected')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,C)),'.'('/bootstrap#label'(!('should structurally equal')),'.'('/bootstrap#vis'(::(B,C)),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),[]))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/util#behavior'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),!('should succeed if Actual and Expected are structurally equal'),'/util#assertStracturallyEqual'('/Functional#pair'(D,D),'/Functional#pair'(E,E),'/Functional#pairType'(C,C))),'.'('builtin#varName'(::(A,F),!('Actual')),'.'('builtin#varName'(::(B,G),!('Expected')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Y')),[])))))),'builtin#true'). '/util#behavior'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),!('should succeed if Actual and Expected are structurally equal'),'/util#assertStracturallyEqual'('/Functional#pair'(D,D),'/Functional#pair'(E,E),'/Functional#pairType'(C,C))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),'/util#behavior'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),!('should throw an exception if X and Y are not structurally equal'),'builtin#catch'(','('/util#assertStracturallyEqual'('/Functional#pair'(D,D),'/Functional#pair'(D,E),'/Functional#pairType'(C,C)),'builtin#fail'),'/util#notEqual'(F,G,'/Functional#pairType'(C,C)),'builtin#true')),'.'('builtin#varName'(::(A,H),!('Actual')),'.'('builtin#varName'(::(B,I),!('Expected')),'.'('builtin#varName'(::(C,J),!('T')),'.'('builtin#varName'(::(D,K),!('X')),'.'('builtin#varName'(::(E,L),!('Y')),'.'('builtin#varName'(::(F,M),!('Act')),'.'('builtin#varName'(::(G,N),!('Exp')),[])))))))),'builtin#true'). '/util#behavior'(::('/util#assertStracturallyEqual'(A,B,C),'/bootstrap#pred'),!('should throw an exception if X and Y are not structurally equal'),'builtin#catch'(','('/util#assertStracturallyEqual'('/Functional#pair'(D,D),'/Functional#pair'(D,E),'/Functional#pairType'(C,C)),'builtin#fail'),'/util#notEqual'(F,G,'/Functional#pairType'(C,C)),'builtin#true')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/assert.ced'),:-('/util#assertStracturallyEqual'(A,B,C),'builtin#if'('builtin#structurallyEqual'(::(A,C),::(B,C)),'builtin#true','builtin#throw'('/util#notEqual'(A,B,C)))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('Y')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/util#assertStracturallyEqual'(A,B,C),'builtin#if'('builtin#structurallyEqual'(::(A,C),::(B,C)),'builtin#true','builtin#throw'('/util#notEqual'(A,B,C)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#signature'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#pred'),[])))),'.'('builtin#varName'(::(A,D),!('Concept')),'.'('builtin#varName'(::(B,E),!('Desc')),'.'('builtin#varName'(::(C,F),!('Test')),[])))),'builtin#true'). '/bootstrap#signature'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#pred'),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#projection'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),'/bootstrap#expand'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),10,'cpi#rgb'(192,224,255)),'cpi#rgb'(192,224,255))),'/bootstrap#raised'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#vis'(::(C,'/bootstrap#pred')),10,'cpi#rgb'(255,255,255)),'cpi#rgb'(255,255,255))),[]))),[]))),10,'cpi#rgb'(192,224,255)),'cpi#rgb'(192,224,255))))),'.'('builtin#varName'(::(A,D),!('Concept')),'.'('builtin#varName'(::(B,E),!('Desc')),'.'('builtin#varName'(::(C,F),!('Test')),[])))),'builtin#true'). '/bootstrap#projection'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),'/bootstrap#expand'('/bootstrap#raised'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),10,'cpi#rgb'(192,224,255)),'cpi#rgb'(192,224,255))),'/bootstrap#raised'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#typedTerm')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#lowered'('/bootstrap#background'('/bootstrap#lineBorder'('/bootstrap#vis'(::(C,'/bootstrap#pred')),10,'cpi#rgb'(255,255,255)),'cpi#rgb'(255,255,255))),[]))),[]))),10,'cpi#rgb'(192,224,255)),'cpi#rgb'(192,224,255))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/util#behavior'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),!('should show if failed'),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Concept')),'.'('builtin#varName'(::(B,E),!('Desc')),'.'('builtin#varName'(::(C,F),!('Test')),[])))),'builtin#true'). '/util#behavior'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),!('should show if failed'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#defAtom'(::('/util#none','/util#noneType')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/util#none','/util#noneType')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#defAtom'(::('/util#noneType','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/util#noneType','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),~>('/bootstrap#unitTest'(A),'/util#behavior'(::('/util#none','/util#noneType'),!('should pass the test'),A)),'.'('builtin#varName'(::(A,B),!('Test')),[])),'builtin#true'). :-('/util#behavior'(::('/util#none','/util#noneType'),!('should pass the test'),A),','('/bootstrap#unitTest'(A),'builtin#true')). :-('/bootstrap#unitTest'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'annotation#shrink'(:-('/bootstrap#check'(A,::('/util#behavior'(B,C,D),'/bootstrap#statement'),E,'/bootstrap#marker'(A,F)),','(\+('builtin#var'(::(D,'/bootstrap#pred'))),','('builtin#removeAnnotations'(::(D,'/bootstrap#pred'),::(G,'/bootstrap#pred')),','('builtin#copyTerm'(::(G,'/bootstrap#pred'),::(H,'/bootstrap#pred')),'builtin#catch'('builtin#if'('builtin#timeout'(G,0.1),'builtin#fail',=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(D),E),'/bootstrap#marker'))),I,=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(I),E),'/bootstrap#marker')))))))),'.'('builtin#varName'(::(A,J),!('Path')),'.'('builtin#varName'(::(B,K),!('TTerm')),'.'('builtin#varName'(::(C,L),!('ShouldString')),'.'('builtin#varName'(::(D,M),!('Goal')),'.'('builtin#varName'(::(E,N),!('VarNames')),'.'('builtin#varName'(::(F,O),!('Marker')),'.'('builtin#varName'(::(G,P),!('GoalPrime')),'.'('builtin#varName'(::(H,Q),!('GoalCopy')),'.'('builtin#varName'(::(I,R),!('Exception')),[])))))))))),'builtin#true'). :-('/bootstrap#check'(A,::('/util#behavior'(B,C,D),'/bootstrap#statement'),E,'/bootstrap#marker'(A,F)),','(\+('builtin#var'(::(D,'/bootstrap#pred'))),','('builtin#removeAnnotations'(::(D,'/bootstrap#pred'),::(G,'/bootstrap#pred')),','('builtin#copyTerm'(::(G,'/bootstrap#pred'),::(H,'/bootstrap#pred')),'builtin#catch'('builtin#if'('builtin#timeout'(G,0.1),'builtin#fail',=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#failedTest'(D),E),'/bootstrap#marker'))),I,=(::(F,'/bootstrap#marker'),::('/bootstrap#error'('/bootstrap#exceptionThrown'(I),E),'/bootstrap#marker'))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'annotation#shrink'(:-('/bootstrap#testHasFailed'('/bootstrap#vert'('.'('/bootstrap#link'('/bootstrap#italic'('/bootstrap#label'(A)),A),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#typedTerm')),'.'('/bootstrap#label'(D),[]))),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,C),'/bootstrap#error')),[]))))),','('builtin#loadedStatement'(A,'/util#behavior'(B,D,F),C),'/bootstrap#check'('/bootstrap#noPath',::('/util#behavior'(B,D,F),'/bootstrap#statement'),[],'/bootstrap#marker'('/bootstrap#noPath','/bootstrap#error'(E,[])))))),'.'('builtin#varName'(::(A,G),!('FileName')),'.'('builtin#varName'(::(B,H),!('TTerm')),'.'('builtin#varName'(::(C,I),!('VNs')),'.'('builtin#varName'(::(D,J),!('Desc')),'.'('builtin#varName'(::(E,K),!('Error')),'.'('builtin#varName'(::(F,L),!('Test')),[]))))))),'builtin#true'). :-('/bootstrap#testHasFailed'('/bootstrap#vert'('.'('/bootstrap#link'('/bootstrap#italic'('/bootstrap#label'(A)),A),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(B,C),'/bootstrap#typedTerm')),'.'('/bootstrap#label'(D),[]))),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(E,C),'/bootstrap#error')),[]))))),','('builtin#loadedStatement'(A,'/util#behavior'(B,D,F),C),'/bootstrap#check'('/bootstrap#noPath',::('/util#behavior'(B,D,F),'/bootstrap#statement'),[],'/bootstrap#marker'('/bootstrap#noPath','/bootstrap#error'(E,[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#contextMenuEntry'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),D,E,!('Show failed tests'),'/bootstrap#showFailedTests'),'.'('builtin#varName'(::(A,F),!('Concept')),'.'('builtin#varName'(::(B,G),!('Desc')),'.'('builtin#varName'(::(C,H),!('Test')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),D,E,!('Show failed tests'),'/bootstrap#showFailedTests'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'annotation#shrink'(:-('/bootstrap#testHasFailed'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Ran')),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#number')),'.'('/bootstrap#label'(!('Behaviors')),[]))))),','('builtin#findall'(1,'/bootstrap#number','builtin#loadedStatement'(B,'/util#behavior'(::(C,D),E,F),G),H),'builtin#length'(H,'/bootstrap#number',A)))),'.'('builtin#varName'(::(A,I),!('N')),'.'('builtin#varName'(::(H,J),!('L')),[]))),'builtin#true'). :-('/bootstrap#testHasFailed'('/bootstrap#horiz'('.'('/bootstrap#label'(!('Ran')),'.'('/bootstrap#vis'(::('cpi#immediateDescriptor'(A,[]),'/bootstrap#number')),'.'('/bootstrap#label'(!('Behaviors')),[]))))),','('builtin#findall'(1,'/bootstrap#number','builtin#loadedStatement'(B,'/util#behavior'(::(C,D),E,F),G),H),'builtin#length'(H,'/bootstrap#number',A))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#defAtom'(::('/util#spec','/bootstrap#definitionType')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/util#spec','/bootstrap#definitionType')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#projection'(::('/util#spec','/bootstrap#definitionType'),'/bootstrap#label'(!('Specification'))),[]),'builtin#true'). '/bootstrap#projection'(::('/util#spec','/bootstrap#definitionType'),'/bootstrap#label'(!('Specification'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#defines'('/util#behavior'(A,B,C),A,'/util#spec'),'.'('builtin#varName'(::(A,D),!('TTerm')),[])),'builtin#true'). '/bootstrap#defines'('/util#behavior'(A,B,C),A,'/util#spec'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#signature'(::('/util#findVariableAssigment'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))),'.'('builtin#varName'(::(A,E),!('Test')),'.'('builtin#varName'(::(B,F),!('Statement')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/util#findVariableAssigment'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#statement'),'.'(::(C,'/bootstrap#list'('/bootstrap#varName')),'.'(::(D,'cpi#path'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),:-('cpi#procedureCommand'('/util#findVariableAssigment'(A,B,C,D),'/bootstrap#doProc'('cpi#edit'(D,::(B,'/bootstrap#statement'),C))),'builtin#if'('builtin#timeout'(A,100),'builtin#true','builtin#fail')),'.'('builtin#varName'(::(A,E),!('Test')),'.'('builtin#varName'(::(B,F),!('Statement')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). :-('cpi#procedureCommand'('/util#findVariableAssigment'(A,B,C,D),'/bootstrap#doProc'('cpi#edit'(D,::(B,'/bootstrap#statement'),C))),'builtin#if'('builtin#timeout'(A,100),'builtin#true','builtin#fail')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/bdd.ced'),'/bootstrap#contextMenuEntry'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),D,E,!('Find Variable Assignment'),'/util#findVariableAssigment'(C,'/util#behavior'(A,B,C),D,E)),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Should')),'.'('builtin#varName'(::(C,H),!('Test')),'.'('builtin#varName'(::(D,I),!('VNs')),'.'('builtin#varName'(::(E,J),!('Path')),[])))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/util#behavior'(A,B,C),'/bootstrap#statement'),D,E,!('Find Variable Assignment'),'/util#findVariableAssigment'(C,'/util#behavior'(A,B,C),D,E)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#signature'(::('/util#swapConj'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('Path')),'.'('builtin#varName'(::(D,H),!('VNs')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/util#swapConj'(A,B,C,D),'/bootstrap#procedure'),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'cpi#path'),'.'(::(D,'/bootstrap#list'('/bootstrap#varName')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#contextMenuEntry'(::(','(A,B),'/bootstrap#pred'),C,D,!('Swap'),'/util#swapConj'(A,B,D,C)),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(','(A,B),'/bootstrap#pred'),C,D,!('Swap'),'/util#swapConj'(A,B,D,C)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),:-('cpi#procedureCommand'('/util#swapConj'(A,B,C,D),'/bootstrap#doProc'('cpi#edit'(C,::(','(B,A),'/bootstrap#pred'),D))),\+(=(::(B,'/bootstrap#pred'),::(','(E,F),'/bootstrap#pred')))),'.'('builtin#varName'(::(A,G),!('A')),'.'('builtin#varName'(::(B,H),!('B')),'.'('builtin#varName'(::(C,I),!('Path')),'.'('builtin#varName'(::(D,J),!('VNs')),[]))))),'builtin#true'). :-('cpi#procedureCommand'('/util#swapConj'(A,B,C,D),'/bootstrap#doProc'('cpi#edit'(C,::(','(B,A),'/bootstrap#pred'),D))),\+(=(::(B,'/bootstrap#pred'),::(','(E,F),'/bootstrap#pred')))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),:-('cpi#procedureCommand'('/util#swapConj'(A,','(B,C),D,E),'/bootstrap#doProc'('cpi#edit'(D,::(','(B,','(A,C)),'/bootstrap#pred'),E))),'builtin#true'),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('C')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('VNs')),[])))))),'builtin#true'). :-('cpi#procedureCommand'('/util#swapConj'(A,','(B,C),D,E),'/bootstrap#doProc'('cpi#edit'(D,::(','(B,','(A,C)),'/bootstrap#pred'),E))),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#shortcutKey'(!('Swap'),!('Shift+Alt+P')),[]),'builtin#true'). '/bootstrap#shortcutKey'(!('Swap'),!('Shift+Alt+P')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#tip'(::(','(','(A,B),C),'/bootstrap#pred'),D,E,'cpi#edit'(D,::(','(A,','(B,C)),'/bootstrap#pred'),E)),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('C')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('VNs')),[])))))),'builtin#true'). '/bootstrap#tip'(::(','(','(A,B),C),'/bootstrap#pred'),D,E,'cpi#edit'(D,::(','(A,','(B,C)),'/bootstrap#pred'),E)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#contextMenuEntry'(::(A,'/bootstrap#pred'),B,C,!('Insert'),'cpi#edit'(C,::(','(D,A),'/bootstrap#pred'),B)),'.'('builtin#varName'(::(A,E),!('P')),'.'('builtin#varName'(::(B,F),!('VNs')),'.'('builtin#varName'(::(C,G),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(A,'/bootstrap#pred'),B,C,!('Insert'),'cpi#edit'(C,::(','(D,A),'/bootstrap#pred'),B)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#contextMenuEntry'(::(','(A,B),'/bootstrap#pred'),C,D,!('Delete'),'cpi#edit'(D,::(B,'/bootstrap#pred'),C)),'.'('builtin#varName'(::(A,E),!('A')),'.'('builtin#varName'(::(B,F),!('B')),'.'('builtin#varName'(::(C,G),!('VNs')),'.'('builtin#varName'(::(D,H),!('Path')),[]))))),'builtin#true'). '/bootstrap#contextMenuEntry'(::(','(A,B),'/bootstrap#pred'),C,D,!('Delete'),'cpi#edit'(D,::(B,'/bootstrap#pred'),C)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#signature'(::('/util#skip'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#signature'(::('/util#skip'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#projection'(::('/util#skip'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'cpi#rgb'(192,192,192)),[])))),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#projection'(::('/util#skip'(A),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(//)),'.'('/bootstrap#background'('/bootstrap#vis'(::(A,'/bootstrap#pred')),'cpi#rgb'(192,192,192)),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),:-('/util#skip'(A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). :-('/util#skip'(A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/conj.ced'),'/bootstrap#contextMenuEntry'(::('/util#skip'(A),'/bootstrap#pred'),B,C,!('Un-skip'),'cpi#edit'(C,::(A,'/bootstrap#pred'),B)),'.'('builtin#varName'(::(A,D),!('Pred')),'.'('builtin#varName'(::(B,E),!('VNs')),'.'('builtin#varName'(::(C,F),!('Path')),[])))),'builtin#true'). '/bootstrap#contextMenuEntry'(::('/util#skip'(A),'/bootstrap#pred'),B,C,!('Un-skip'),'cpi#edit'(C,::(A,'/bootstrap#pred'),B)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#signature'(::('/util#enumConcepts'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,A),[]))),'.'('builtin#varName'(::(A,C),!('Type')),'.'('builtin#varName'(::(B,D),!('Concept')),[]))),'builtin#true'). '/bootstrap#signature'(::('/util#enumConcepts'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,A),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/util#behavior'(::('/util#enumConcepts'('/bootstrap#list'(A),B),'/bootstrap#pred'),!('should succeed for every concept under Type'),'builtin#findall'(B,'/bootstrap#list'(A),'/util#enumConcepts'('/bootstrap#list'(A),B),'.'([],'.'('.'(C,[]),[])))),'.'('builtin#varName'(::(A,D),!('T')),'.'('builtin#varName'(::(B,E),!('Concept')),[]))),'builtin#true'). '/util#behavior'(::('/util#enumConcepts'('/bootstrap#list'(A),B),'/bootstrap#pred'),!('should succeed for every concept under Type'),'builtin#findall'(B,'/bootstrap#list'(A),'/util#enumConcepts'('/bootstrap#list'(A),B),'.'([],'.'('.'(C,[]),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#defAtom'(::('/util#fooType','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/util#fooType','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),:-('/util#enumConcepts'(A,B),','('/bootstrap#checkSignature'(::(B,A),C),\+('/bootstrap#checkSignature'(::(B,'/util#fooType'),D)))),'.'('builtin#varName'(::(A,E),!('T')),'.'('builtin#varName'(::(B,F),!('C')),[]))),'builtin#true'). :-('/util#enumConcepts'(A,B),','('/bootstrap#checkSignature'(::(B,A),C),\+('/bootstrap#checkSignature'(::(B,'/util#fooType'),D)))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#signature'(::('/util#recursiveEnumConcepts'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#typedTerm'),[]))),'.'('builtin#varName'(::(A,C),!('Type')),'.'('builtin#varName'(::(B,D),!('TTerm')),[]))),'builtin#true'). '/bootstrap#signature'(::('/util#recursiveEnumConcepts'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#typedTerm'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#defAtom'(::('example#tree','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('example#tree','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#defAtom'(::('/util#nil','example#tree')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/util#nil','example#tree')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#signature'(::('/util#tree'(A,B),'example#tree'),'.'(::(A,'example#tree'),'.'(::(B,'example#tree'),[]))),'.'('builtin#varName'(::(A,C),!('L')),'.'('builtin#varName'(::(B,D),!('R')),[]))),'builtin#true'). '/bootstrap#signature'(::('/util#tree'(A,B),'example#tree'),'.'(::(A,'example#tree'),'.'(::(B,'example#tree'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/util#behavior'(::('/util#recursiveEnumConcepts'(A,B),'/bootstrap#pred'),!('should recursively enumerate all concepts reachable from a type'),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::([],'/bootstrap#list'(C))),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('.'(D,[]),'/bootstrap#list'(E))),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('/util#nil','example#tree')),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('/util#tree'(F,G),'example#tree')),\+('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('builtin#succ'(H,I),'/bootstrap#pred')))))))),'.'('builtin#varName'(::(A,J),!('Type')),'.'('builtin#varName'(::(B,K),!('TTerm')),[]))),'builtin#true'). '/util#behavior'(::('/util#recursiveEnumConcepts'(A,B),'/bootstrap#pred'),!('should recursively enumerate all concepts reachable from a type'),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::([],'/bootstrap#list'(C))),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('.'(D,[]),'/bootstrap#list'(E))),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('/util#nil','example#tree')),','('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('/util#tree'(F,G),'example#tree')),\+('/util#recursiveEnumConcepts'('/bootstrap#list'('example#tree'),::('builtin#succ'(H,I),'/bootstrap#pred')))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),:-('/util#recursiveEnumConcepts'(A,B),'/util#recursiveEnumConcepts'(A,B,[])),'.'('builtin#varName'(::(A,C),!('Type')),'.'('builtin#varName'(::(B,D),!('TTerm')),[]))),'builtin#true'). :-('/util#recursiveEnumConcepts'(A,B),'/util#recursiveEnumConcepts'(A,B,[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#signature'(::('/util#recursiveEnumConcepts'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#type')),[])))),'.'('builtin#varName'(::(A,D),!('Type')),'.'('builtin#varName'(::(B,E),!('TTerm')),'.'('builtin#varName'(::(C,F),!('History')),[])))),'builtin#true'). '/bootstrap#signature'(::('/util#recursiveEnumConcepts'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#type'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#list'('/bootstrap#type')),[])))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'annotation#shrink'(:-('/util#recursiveEnumConcepts'(A,B,C),','('/util#enumConcepts'(A,D),'/util#recursiveEnumChildConcepts'(D,A,C,B)))),'.'('builtin#varName'(::(A,E),!('Type')),'.'('builtin#varName'(::(B,F),!('TTerm')),'.'('builtin#varName'(::(C,G),!('History')),'.'('builtin#varName'(::(D,H),!('Concept')),[]))))),'builtin#true'). :-('/util#recursiveEnumConcepts'(A,B,C),','('/util#enumConcepts'(A,D),'/util#recursiveEnumChildConcepts'(D,A,C,B))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'/bootstrap#signature'(::('/util#recursiveEnumChildConcepts'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#type')),'.'(::(D,'/bootstrap#typedTerm'),[]))))),'.'('builtin#varName'(::(A,E),!('Concept')),'.'('builtin#varName'(::(B,F),!('Type')),'.'('builtin#varName'(::(C,G),!('History')),'.'('builtin#varName'(::(D,H),!('TTerm')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/util#recursiveEnumChildConcepts'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'('/bootstrap#type')),'.'(::(D,'/bootstrap#typedTerm'),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),:-('/util#recursiveEnumChildConcepts'(A,B,C,::(A,B)),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Concept')),'.'('builtin#varName'(::(B,E),!('Type')),[]))),'builtin#true'). :-('/util#recursiveEnumChildConcepts'(A,B,C,::(A,B)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/enumConcepts.ced'),'annotation#shrink'(:-('/util#recursiveEnumChildConcepts'(A,B,C,D),','('/bootstrap#checkSignature'(::(A,B),E),','('/bootstrap#listMember'(::(F,G),'/bootstrap#typedTerm',E),','(\+('builtin#var'(::(G,'/bootstrap#type'))),','(\+('/bootstrap#listMember'(G,'/bootstrap#type',C)),'/util#recursiveEnumConcepts'(G,D,'.'(B,C)))))))),'.'('builtin#varName'(::(A,H),!('Concept')),'.'('builtin#varName'(::(B,I),!('Type')),'.'('builtin#varName'(::(C,J),!('History')),'.'('builtin#varName'(::(D,K),!('TTerm')),'.'('builtin#varName'(::(E,L),!('Args')),'.'('builtin#varName'(::(G,M),!('TypePrime')),[]))))))),'builtin#true'). :-('/util#recursiveEnumChildConcepts'(A,B,C,D),','('/bootstrap#checkSignature'(::(A,B),E),','('/bootstrap#listMember'(::(F,G),'/bootstrap#typedTerm',E),','(\+('builtin#var'(::(G,'/bootstrap#type'))),','(\+('/bootstrap#listMember'(G,'/bootstrap#type',C)),'/util#recursiveEnumConcepts'(G,D,'.'(B,C))))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/inventory.ced'),'/bootstrap#signature'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Arity')),[]))),'builtin#true'). '/bootstrap#signature'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/inventory.ced'),'/util#behavior'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),!('should succeed for each name/arity pair that is defined'),'/util#conceptNameArity'(!('/util#conceptNameArity'),2)),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Arity')),[]))),'builtin#true'). '/util#behavior'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),!('should succeed for each name/arity pair that is defined'),'/util#conceptNameArity'(!('/util#conceptNameArity'),2)). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/inventory.ced'),'/util#behavior'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),!('should fail for name/arity pairs that do not exist'),\+('/util#conceptNameArity'(!('/util#conceptNameArity'),3))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Arity')),[]))),'builtin#true'). '/util#behavior'(::('/util#conceptNameArity'(A,B),'/bootstrap#pred'),!('should fail for name/arity pairs that do not exist'),\+('/util#conceptNameArity'(!('/util#conceptNameArity'),3))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/util/inventory.ced'),~>('/bootstrap#signature'(A,B),:-('/util#conceptNameArity'(C,D),','('builtin#parseTerm'(A,C,B),'builtin#length'(B,'/bootstrap#typedTerm',D)))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('Args')),'.'('builtin#varName'(::(C,G),!('Name')),'.'('builtin#varName'(::(D,H),!('Arity')),[]))))),'builtin#true'). :-('/util#conceptNameArity'(A,B),','('/bootstrap#signature'(C,D),','('builtin#parseTerm'(C,A,D),'builtin#length'(D,'/bootstrap#typedTerm',B)))). :-('/bootstrap#signature'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/bootstrap#defAtom'(::('/containers#exists','/bootstrap#pred')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/containers#exists','/bootstrap#pred')). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),:-('/containers#exists','builtin#true'),[]),'builtin#true'). :-('/containers#exists','builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/bootstrap#signature'(::('/containers#missingContainer'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Cont')),[])),'builtin#true'). '/bootstrap#signature'(::('/containers#missingContainer'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/bootstrap#signature'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#pred'),[]))),'.'('builtin#varName'(::(A,C),!('Cont')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#signature'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#pred'),[]))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/bootstrap#projection'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))),'.'('builtin#varName'(::(A,C),!('Cont')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#projection'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(@)),'.'('/bootstrap#vis'(::(B,'/bootstrap#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should throw an exception if the container is not loaded'),'builtin#catch'(','('/containers#callInContainer'(!(foo),'/Functional#eval'('/Functional#const'(1),'/bootstrap#number',C)),'builtin#fail'),'/containers#missingContainer'(A),'/util#assertEqual'(A,!(foo),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Cont')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('V')),[])))),'builtin#true'). '/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should throw an exception if the container is not loaded'),'builtin#catch'(','('/containers#callInContainer'(!(foo),'/Functional#eval'('/Functional#const'(1),'/bootstrap#number',C)),'builtin#fail'),'/containers#missingContainer'(A),'/util#assertEqual'(A,!(foo),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),:-('someContainerThatIsLoaded@/containers#exists','builtin#true'),[]),'builtin#true'). :-('someContainerThatIsLoaded@/containers#exists','builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),:-('someContainerThatIsLoaded@/Functional#eval'('someContainerThatIsLoaded@/Functional#const'(A),B,A),'builtin#true'),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('someContainerThatIsLoaded@/Functional#eval'('someContainerThatIsLoaded@/Functional#const'(A),B,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should evaluate Goal under Cont of Cont is loaded'),','('/containers#callInContainer'(!(someContainerThatIsLoaded),'/Functional#eval'('/Functional#const'(1),'/bootstrap#number',C)),'/util#assertEqual'(C,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,D),!('Cont')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('V')),[])))),'builtin#true'). '/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should evaluate Goal under Cont of Cont is loaded'),','('/containers#callInContainer'(!(someContainerThatIsLoaded),'/Functional#eval'('/Functional#const'(1),'/bootstrap#number',C)),'/util#assertEqual'(C,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),:-('someContainerThatIsLoaded@example#foo'('someContainerThatIsLoaded@example#bar'),'builtin#true'),[]),'builtin#true'). :-('someContainerThatIsLoaded@example#foo'('someContainerThatIsLoaded@example#bar'),'builtin#true'). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should provide outputs outside the container'),','('/containers#callInContainer'(!(someContainerThatIsLoaded),'example#foo'(C)),'/util#assertEqual'(C,'example#bar',D))),'.'('builtin#varName'(::(A,E),!('Cont')),'.'('builtin#varName'(::(B,F),!('Goal')),'.'('builtin#varName'(::(C,G),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/containers#callInContainer'(A,B),'/bootstrap#pred'),!('should provide outputs outside the container'),','('/containers#callInContainer'(!(someContainerThatIsLoaded),'example#foo'(C)),'/util#assertEqual'(C,'example#bar',D))). :-('builtin#loadedStatement'(!('/home/boaz/nodalion/cedalion/containers/callInContainer.ced'),'annotation#shrink'(:-('/containers#callInContainer'(A,B),','('/containers#containerize'(::('/containers#exists','/bootstrap#pred'),::(C,'/bootstrap#pred'),A),','('builtin#catch'(C,D,'builtin#throw'('/containers#missingContainer'(A))),','('/containers#containerize'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred'),A),','('builtin#copyTerm'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),','(F,'/containers#uncontainerize'(::(F,'/bootstrap#pred'),::(B,'/bootstrap#pred'),A)))))))),'.'('builtin#varName'(::(A,G),!('Cont')),'.'('builtin#varName'(::(B,H),!('Goal')),'.'('builtin#varName'(::(C,I),!('Exists')),'.'('builtin#varName'(::(E,J),!('CGoal')),'.'('builtin#varName'(::(F,K),!('CGoal1')),[])))))),'builtin#true'). :-('/containers#callInContainer'(A,B),','('/containers#containerize'(::('/containers#exists','/bootstrap#pred'),::(C,'/bootstrap#pred'),A),','('builtin#catch'(C,D,'builtin#throw'('/containers#missingContainer'(A))),','('/containers#containerize'(::(B,'/bootstrap#pred'),::(E,'/bootstrap#pred'),A),','('builtin#copyTerm'(::(E,'/bootstrap#pred'),::(F,'/bootstrap#pred')),','(F,'/containers#uncontainerize'(::(F,'/bootstrap#pred'),::(B,'/bootstrap#pred'),A))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#put',!('/cloudlog/:path'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(body),'/nodalion#jsonStr'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(path))),'/bootstrap#string',D)),'/impred#conj'('/impred#pred'('builtin#if'('/parsing#lexParseString'('/cloudlog#file'(E,'.'('/cloudlog#package'(C),[])),B,'/cloudlog#cloudlog'),'builtin#true','builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('ERROR'))),'.'('/nodalion#field'(!(error),'/nodalion#jsonStr'(!('Syntax Error'))),[])))),[])))))),'/impred#conj'('/nodalion#findall'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(C,'.'(D,[])),F),G),'/cloudlog#addition','/impred#conj'('/cloudlog#logicQuery'('/cl1#isCloudlogCode'('.'(C,'.'(D,[])),F),H),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(H)),'/bootstrap#number',G))),I),'/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(C,'.'(D,[])),B),1),I))))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))),'.'('builtin#varName'(::(A,J),!('Params')),'.'('builtin#varName'(::(B,K),!('Code')),'.'('builtin#varName'(::(C,L),!('Domain')),'.'('builtin#varName'(::(D,M),!('Path')),'.'('builtin#varName'(::(F,N),!('CodePrime')),'.'('builtin#varName'(::(G,O),!('NegValue')),'.'('builtin#varName'(::(H,P),!('Value')),'.'('builtin#varName'(::(I,Q),!('Removals')),[]))))))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#put',!('/cloudlog/:path'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(body),'/nodalion#jsonStr'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(path))),'/bootstrap#string',D)),'/impred#conj'('/impred#pred'('builtin#if'('/parsing#lexParseString'('/cloudlog#file'(E,'.'('/cloudlog#package'(C),[])),B,'/cloudlog#cloudlog'),'builtin#true','builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('ERROR'))),'.'('/nodalion#field'(!(error),'/nodalion#jsonStr'(!('Syntax Error'))),[])))),[])))))),'/impred#conj'('/nodalion#findall'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(C,'.'(D,[])),F),G),'/cloudlog#addition','/impred#conj'('/cloudlog#logicQuery'('/cl1#isCloudlogCode'('.'(C,'.'(D,[])),F),H),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(H)),'/bootstrap#number',G))),I),'/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(C,'.'(D,[])),B),1),I))))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/bootstrap#signature'(::('/cl1#cloudlogCode'(A,B),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('PathList')),'.'('builtin#varName'(::(B,D),!('Code')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#cloudlogCode'(A,B),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/bootstrap#signature'(::('/cl1#isCloudlogCode'(A,B),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('PathList')),'.'('builtin#varName'(::(B,D),!('Code')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#isCloudlogCode'(A,B),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('/cl1#cloudlogCode'(A,B),'builtin#true','/cloudlog#clause'('/cl1#isCloudlogCode'(A,B),'/cloudlog#true'))),'.'('builtin#varName'(::(A,C),!('PathList')),'.'('builtin#varName'(::(B,D),!('Code')),[]))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('/cl1#cloudlogCode'(A,B),'builtin#true','/cloudlog#clause'('/cl1#isCloudlogCode'(A,B),'/cloudlog#true'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/cloudlog/:path'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(B)),[]))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(path))),'/bootstrap#string',C)),'/cloudlog#logicQuery'('/cl1#isCloudlogCode'('.'(B,'.'(C,[])),D),E)),'.'('/nodalion#outputText'(!('text/cloudlog'),D),[])),[])),'.'('builtin#varName'(::(A,F),!('Params')),'.'('builtin#varName'(::(B,G),!('Domain')),'.'('builtin#varName'(::(C,H),!('Path')),'.'('builtin#varName'(::(D,I),!('Code')),[]))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/cloudlog/:path'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(B)),[]))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(path))),'/bootstrap#string',C)),'/cloudlog#logicQuery'('/cl1#isCloudlogCode'('.'(B,'.'(C,[])),D),E)),'.'('/nodalion#outputText'(!('text/cloudlog'),D),[])),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/util#behavior'(::('/cl1#cloudlogCode'(A,B),'/cloudlog#axiom'),!('should map into its individual axioms being enqueued'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(!(myDomain),'.'(!('foo.clg'),[])),!('foo("a", 1). bar(X, 2)->foo(X, 1).')),1),[])),'.'('/impred#task'('/nodalion#trans'(!('/cl1#cloudlogCode'),'.'(!(myDomain),'.'(!('foo.clg'),[])),C),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#string'),'/cloudlog#axiom',D))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('/cloudlog#clause'('/cl1#isCloudlogCode'('.'(!(myDomain),'.'(!('foo.clg'),[])),!('foo("a", 1). bar(X, 2)->foo(X, 1).')),'/cloudlog#true'),1),[])),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('myDomain#foo'(!(a),1),1),[])),'/impred#impred'),F,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('myDomain#bar'(G,2),'builtin#true','myDomain#foo'(G,1)),1),[])),'/impred#impred'),H,'/nodalion#voidType'),[])))),I)),'.'('builtin#varName'(::(A,J),!('Path')),'.'('builtin#varName'(::(B,K),!('Code')),'.'('builtin#varName'(::(G,L),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cl1#cloudlogCode'(A,B),'/cloudlog#axiom'),!('should map into its individual axioms being enqueued'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#cloudlogCode'('.'(!(myDomain),'.'(!('foo.clg'),[])),!('foo("a", 1). bar(X, 2)->foo(X, 1).')),1),[])),'.'('/impred#task'('/nodalion#trans'(!('/cl1#cloudlogCode'),'.'(!(myDomain),'.'(!('foo.clg'),[])),C),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#string'),'/cloudlog#axiom',D))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('/cloudlog#clause'('/cl1#isCloudlogCode'('.'(!(myDomain),'.'(!('foo.clg'),[])),!('foo("a", 1). bar(X, 2)->foo(X, 1).')),'/cloudlog#true'),1),[])),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('myDomain#foo'(!(a),1),1),[])),'/impred#impred'),F,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('myDomain#bar'(G,2),'builtin#true','myDomain#foo'(G,1)),1),[])),'/impred#impred'),H,'/nodalion#voidType'),[])))),I)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/cloudlog.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('/cl1#cloudlogCode'('.'(A,'.'(B,[])),C),','('/parsing#lexParseString'('/cloudlog#file'(D,'.'('/cloudlog#package'(A),[])),C,'/cloudlog#cloudlog'),'/bootstrap#listMember'(E,'/cloudlog#axiom',D)),E)),'.'('builtin#varName'(::(A,F),!('Domain')),'.'('builtin#varName'(::(C,G),!('Code')),'.'('builtin#varName'(::(D,H),!('Axioms')),'.'('builtin#varName'(::(E,I),!('Axiom')),[]))))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('/cl1#cloudlogCode'('.'(A,'.'(B,[])),C),','('/parsing#lexParseString'('/cloudlog#file'(D,'.'('/cloudlog#package'(A),[])),C,'/cloudlog#cloudlog'),'/bootstrap#listMember'(E,'/cloudlog#axiom',D)),E)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/encode.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#post',!('/encode/:target'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),'.'('/nodalion#field'(!(params),B),'.'('/nodalion#field'(!(protocol),C),'.'('/nodalion#field'(!(headers),D),[]))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/Functional#const'(A)),'/bootstrap#string',E)),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(B),!(target))),'/bootstrap#string',F)),'/impred#if'('/impred#pred'('/cl1#parseCloudlog'(F,E,'.'('/cloudlog#package'(!(somePackage)),[]),G,H)),'/impred#conj'('/impred#task'('/impred#base64Encode'(E),I,'/bootstrap#string'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/nodalion#asString'('/Functional#const'(C)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(://)),'/Functional#concat','/Functional#applyBinOp'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(host))),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(/)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(F),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(/)),'/Functional#concat','/Functional#const'(I))))))),'/bootstrap#string',J))),'/impred#pred'(','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(!('Invalid term: ')),'/Functional#concat','/Functional#const'(E)),'/bootstrap#string',K),'builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputText'(!('text/plain'),K),[]))))))))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(url),'/nodalion#jsonStr'(J)),[]))),[])),[]))),'.'('builtin#varName'(::(A,L),!('Text')),'.'('builtin#varName'(::(B,M),!('Params')),'.'('builtin#varName'(::(C,N),!('Proto')),'.'('builtin#varName'(::(D,O),!('Headers')),'.'('builtin#varName'(::(E,P),!('Str')),'.'('builtin#varName'(::(F,Q),!('TargetPrime')),'.'('builtin#varName'(::(I,R),!('Hash')),'.'('builtin#varName'(::(J,S),!('URL')),'.'('builtin#varName'(::(K,T),!('ErrMsg')),[])))))))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#post',!('/encode/:target'),'.'('/nodalion#textBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),A),'.'('/nodalion#field'(!(params),B),'.'('/nodalion#field'(!(protocol),C),'.'('/nodalion#field'(!(headers),D),[]))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/Functional#const'(A)),'/bootstrap#string',E)),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(B),!(target))),'/bootstrap#string',F)),'/impred#if'('/impred#pred'('/cl1#parseCloudlog'(F,E,'.'('/cloudlog#package'(!(somePackage)),[]),G,H)),'/impred#conj'('/impred#task'('/impred#base64Encode'(E),I,'/bootstrap#string'),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/nodalion#asString'('/Functional#const'(C)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(://)),'/Functional#concat','/Functional#applyBinOp'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(host))),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(/)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(F),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(/)),'/Functional#concat','/Functional#const'(I))))))),'/bootstrap#string',J))),'/impred#pred'(','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(!('Invalid term: ')),'/Functional#concat','/Functional#const'(E)),'/bootstrap#string',K),'builtin#throw'('/nodalion#serviceException'('.'('/nodalion#setStatus'(400),'.'('/nodalion#outputText'(!('text/plain'),K),[]))))))))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(url),'/nodalion#jsonStr'(J)),[]))),[])),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/encode.ced'),'/bootstrap#signature'(::('/cl1#parseCloudlog'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#typedTerm'),'.'(::(E,'/bootstrap#list'('/cloudlog#ctxElem')),[])))))),'.'('builtin#varName'(::(A,F),!('Target')),'.'('builtin#varName'(::(B,G),!('Str')),'.'('builtin#varName'(::(C,H),!('CtxIn')),'.'('builtin#varName'(::(D,I),!('TTerm')),'.'('builtin#varName'(::(E,J),!('Ctx')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/cl1#parseCloudlog'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#typedTerm'),'.'(::(E,'/bootstrap#list'('/cloudlog#ctxElem')),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/encode.ced'),:-('/cl1#parseCloudlog'(!(q),A,B,::(C,'/cloudlog#pred'),D),'/parsing#lexParseString'('/cloudlog#goal'(C,B,D),A,'/cloudlog#cloudlog')),'.'('builtin#varName'(::(A,E),!('Str')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('Goal')),'.'('builtin#varName'(::(D,H),!('Ctx')),[]))))),'builtin#true'). :-('/cl1#parseCloudlog'(!(q),A,B,::(C,'/cloudlog#pred'),D),'/parsing#lexParseString'('/cloudlog#goal'(C,B,D),A,'/cloudlog#cloudlog')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/export.ced'),'/bootstrap#export'(!('git/cloudlog1/cedalion/cl1/cl1.cedimg')),[]),'builtin#true'). '/bootstrap#export'(!('git/cloudlog1/cedalion/cl1/cl1.cedimg')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),:-('/cl1#parseCloudlog'(!(f),A,B,::(C,'/cloudlog#axiom'),D),'/parsing#lexParseString'('/cloudlog#axiom'(C,B,D),A,'/cloudlog#cloudlog')),'.'('builtin#varName'(::(A,E),!('Str')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('Axiom')),'.'('builtin#varName'(::(D,H),!('Ctx')),[]))))),'builtin#true'). :-('/cl1#parseCloudlog'(!(f),A,B,::(C,'/cloudlog#axiom'),D),'/parsing#lexParseString'('/cloudlog#axiom'(C,B,D),A,'/cloudlog#cloudlog')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#post',!('/f/:hash'),'.'('/nodalion#jsonBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(body),'/nodalion#jsonList'(B)),'.'('/nodalion#field'(!(query),C),[])))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(hash))),'/bootstrap#string',D)),'/impred#conj'('/impred#task'('/impred#base64Decode'(D),E,'/bootstrap#string'),'/impred#conj'('/cl1#transForPatternAndBody'(B,E,C,F),'/cloudlog#trans'(F)))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))),'.'('builtin#varName'(::(A,G),!('Params')),'.'('builtin#varName'(::(B,H),!('Body')),'.'('builtin#varName'(::(C,I),!('Query')),'.'('builtin#varName'(::(D,J),!('Hash')),'.'('builtin#varName'(::(E,K),!('Pattern')),'.'('builtin#varName'(::(F,L),!('Trans')),[]))))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#post',!('/f/:hash'),'.'('/nodalion#jsonBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(body),'/nodalion#jsonList'(B)),'.'('/nodalion#field'(!(query),C),[])))),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(A),!(hash))),'/bootstrap#string',D)),'/impred#conj'('/impred#task'('/impred#base64Decode'(D),E,'/bootstrap#string'),'/impred#conj'('/cl1#transForPatternAndBody'(B,E,C,F),'/cloudlog#trans'(F)))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'/bootstrap#signature'(::('/cl1#transForPatternAndBody'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/nodalion#json')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/nodalion#json'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),[]))))),'.'('builtin#varName'(::(A,E),!('Body')),'.'('builtin#varName'(::(B,F),!('Pattern')),'.'('builtin#varName'(::(C,G),!('Query')),'.'('builtin#varName'(::(D,H),!('Trans')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cl1#transForPatternAndBody'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/nodalion#json')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/nodalion#json'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'/impred#clause'('/cl1#transForPatternAndBody'([],A,B,[]),'/impred#true'),[]),'builtin#true'). '/impred#clause'('/cl1#transForPatternAndBody'([],A,B,[]),'/impred#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'annotation#shrink'('/impred#clause'('/cl1#transForPatternAndBody'('.'('/nodalion#jsonObj'(A),B),C,'/nodalion#jsonObj'(D),'.'('/cloudlog#addition'(E,F),G)),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asNumber'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'(A)),!('_count'))),'/bootstrap#number',F)),'/impred#conj'('/impred#pred'('/cl1#initialContext'(D,H)),'/impred#conj'('/cl1#fieldsToContext'(A,I),'/impred#conj'('/impred#pred'('/bootstrap#append'(H,I,J,'/cloudlog#ctxElem')),'/impred#conj'('/impred#pred'('/cl1#parseCloudlog'(!(f),C,J,::(E,'/cloudlog#axiom'),K)),'/cl1#transForPatternAndBody'(B,C,'/nodalion#jsonObj'(D),G)))))))),'.'('builtin#varName'(::(A,L),!('Fields')),'.'('builtin#varName'(::(B,M),!('Rest')),'.'('builtin#varName'(::(C,N),!('Pattern')),'.'('builtin#varName'(::(D,O),!('QueryArgs')),'.'('builtin#varName'(::(E,P),!('Axiom')),'.'('builtin#varName'(::(F,Q),!('Value')),'.'('builtin#varName'(::(G,R),!('Trans')),'.'('builtin#varName'(::(H,S),!('Ctx1')),'.'('builtin#varName'(::(I,T),!('Ctx2')),'.'('builtin#varName'(::(J,U),!('Ctx')),[]))))))))))),'builtin#true'). '/impred#clause'('/cl1#transForPatternAndBody'('.'('/nodalion#jsonObj'(A),B),C,'/nodalion#jsonObj'(D),'.'('/cloudlog#addition'(E,F),G)),'/impred#conj'('/impred#pred'('/Functional#eval'('/nodalion#asNumber'('/nodalion#jsonMember'('/Functional#const'('/nodalion#jsonObj'(A)),!('_count'))),'/bootstrap#number',F)),'/impred#conj'('/impred#pred'('/cl1#initialContext'(D,H)),'/impred#conj'('/cl1#fieldsToContext'(A,I),'/impred#conj'('/impred#pred'('/bootstrap#append'(H,I,J,'/cloudlog#ctxElem')),'/impred#conj'('/impred#pred'('/cl1#parseCloudlog'(!(f),C,J,::(E,'/cloudlog#axiom'),K)),'/cl1#transForPatternAndBody'(B,C,'/nodalion#jsonObj'(D),G))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'/bootstrap#signature'(::('/cl1#fieldsToContext'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))),'.'('builtin#varName'(::(A,C),!('Fields')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#fieldsToContext'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'/impred#clause'('/cl1#fieldsToContext'([],[]),'/impred#true'),[]),'builtin#true'). '/impred#clause'('/cl1#fieldsToContext'([],[]),'/impred#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'annotation#shrink'('/impred#clause'('/cl1#fieldsToContext'('.'('/nodalion#field'(A,'/nodalion#jsonNum'(B)),C),'.'('/cloudlog#varName'(::(B,'/bootstrap#number'),A),D)),'/cl1#fieldsToContext'(C,D))),'.'('builtin#varName'(::(A,E),!('Name')),'.'('builtin#varName'(::(B,F),!('Num')),'.'('builtin#varName'(::(C,G),!('Fields')),'.'('builtin#varName'(::(D,H),!('Ctx')),[]))))),'builtin#true'). '/impred#clause'('/cl1#fieldsToContext'('.'('/nodalion#field'(A,'/nodalion#jsonNum'(B)),C),'.'('/cloudlog#varName'(::(B,'/bootstrap#number'),A),D)),'/cl1#fieldsToContext'(C,D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/fact.ced'),'annotation#shrink'('/impred#clause'('/cl1#fieldsToContext'('.'('/nodalion#field'(A,'/nodalion#jsonStr'(B)),C),'.'('/cloudlog#varName'(::(B,'/bootstrap#string'),A),D)),'/cl1#fieldsToContext'(C,D))),'.'('builtin#varName'(::(A,E),!('Name')),'.'('builtin#varName'(::(B,F),!('Str')),'.'('builtin#varName'(::(C,G),!('Fields')),'.'('builtin#varName'(::(D,H),!('Ctx')),[]))))),'builtin#true'). '/impred#clause'('/cl1#fieldsToContext'('.'('/nodalion#field'(A,'/nodalion#jsonStr'(B)),C),'.'('/cloudlog#varName'(::(B,'/bootstrap#string'),A),D)),'/cl1#fieldsToContext'(C,D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/bootstrap#defAtom'(::('/cl1#key','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cl1#key','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/bootstrap#signature'(::('/cl1#indexed'(A,B),'/cloudlog#pred'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Fact')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#indexed'(A,B),'/cloudlog#pred'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),:-('/cl1#parseCloudlog'(!(idx),A,B,::('/cl1#indexed'(C,D),'/cloudlog#pred'),E),'/parsing#lexParseString'('/cloudlog#term'(::(C,'/cl1#key'),'.'('/cloudlog#varName'(::(D,'/cloudlog#axiom'),!('Fact')),B),E),A,'/cloudlog#cloudlog')),'.'('builtin#varName'(::(A,F),!('Str')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('Key')),'.'('builtin#varName'(::(D,I),!('Fact')),'.'('builtin#varName'(::(E,J),!('Ctx')),[])))))),'builtin#true'). :-('/cl1#parseCloudlog'(!(idx),A,B,::('/cl1#indexed'(C,D),'/cloudlog#pred'),E),'/parsing#lexParseString'('/cloudlog#term'(::(C,'/cl1#key'),'.'('/cloudlog#varName'(::(D,'/cloudlog#axiom'),!('Fact')),B),E),A,'/cloudlog#cloudlog')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/idx/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(query),'/nodalion#jsonObj'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/cl1#query'(!(idx),A,C,B,D),'.'('/nodalion#outputJson'('/nodalion#jsonList'(D)),[])),[])),'.'('builtin#varName'(::(A,E),!('Params')),'.'('builtin#varName'(::(B,F),!('QueryArgs')),'.'('builtin#varName'(::(C,G),!('Domain')),'.'('builtin#varName'(::(D,H),!('Results')),[]))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/idx/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(query),'/nodalion#jsonObj'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/cl1#query'(!(idx),A,C,B,D),'.'('/nodalion#outputJson'('/nodalion#jsonList'(D)),[])),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/bootstrap#signature'(::('cloudlog#key'(A,B,C),'/cl1#key'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))),'.'('builtin#varName'(::(A,D),!('Name')),'.'('builtin#varName'(::(B,E),!('Key')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('cloudlog#key'(A,B,C),'/cl1#key'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/bootstrap#signature'(::('cloudlog#index'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),[]))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Fact')),[]))),'builtin#true'). '/bootstrap#signature'(::('cloudlog#index'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('cloudlog#index'(A,B),'builtin#true','/cloudlog#rule'(B,'builtin#true','/cloudlog#clause'('/cl1#indexed'(A,B),'/cloudlog#true')))),'.'('builtin#varName'(::(A,C),!('Key')),'.'('builtin#varName'(::(B,D),!('Fact')),[]))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('cloudlog#index'(A,B),'builtin#true','/cloudlog#rule'(B,'builtin#true','/cloudlog#clause'('/cl1#indexed'(A,B),'/cloudlog#true')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/bootstrap#signature'(::('cloudlog#index'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#pred'),[])))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Fact')),'.'('builtin#varName'(::(C,F),!('Guard')),[])))),'builtin#true'). '/bootstrap#signature'(::('cloudlog#index'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/cl1#key'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#pred'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/indexed.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('cloudlog#index'(A,B,C),'builtin#true','/cloudlog#rule'(B,C,'/cloudlog#clause'('/cl1#indexed'(A,B),'/cloudlog#true')))),'.'('builtin#varName'(::(A,D),!('Key')),'.'('builtin#varName'(::(B,E),!('Fact')),'.'('builtin#varName'(::(C,F),!('Guard')),[])))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('cloudlog#index'(A,B,C),'builtin#true','/cloudlog#rule'(B,C,'/cloudlog#clause'('/cl1#indexed'(A,B),'/cloudlog#true')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/q/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(query),'/nodalion#jsonObj'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/cl1#query'(!(q),A,C,B,D),'.'('/nodalion#outputJson'('/nodalion#jsonList'(D)),[])),[])),'.'('builtin#varName'(::(A,E),!('Params')),'.'('builtin#varName'(::(B,F),!('QueryArgs')),'.'('builtin#varName'(::(C,G),!('Domain')),'.'('builtin#varName'(::(D,H),!('Results')),[]))))),'builtin#true'). '/nodalion#serve'('/cl1#cl1','/nodalion#get',!('/q/:hash'),'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),A),'.'('/nodalion#field'(!(query),'/nodalion#jsonObj'(B)),'.'('/nodalion#field'(!(hostname),'/nodalion#jsonStr'(C)),[])))),'/cl1#query'(!(q),A,C,B,D),'.'('/nodalion#outputJson'('/nodalion#jsonList'(D)),[])),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'/bootstrap#signature'(::('/cl1#contextToQueryResult'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(B,'/bootstrap#list'('/nodalion#jsonField')),[]))),'.'('builtin#varName'(::(A,C),!('Ctx')),'.'('builtin#varName'(::(B,D),!('ResultFields')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#contextToQueryResult'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(B,'/bootstrap#list'('/nodalion#jsonField')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),:-('/cl1#contextToQueryResult'([],[]),'builtin#true'),[]),'builtin#true'). :-('/cl1#contextToQueryResult'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'annotation#shrink'(:-('/cl1#contextToQueryResult'('.'(A,B),C),','('builtin#if'(=(::(A,'/cloudlog#ctxElem'),::('/cloudlog#varName'(::(D,E),F),'/cloudlog#ctxElem')),=(::(C,'/bootstrap#list'('/nodalion#jsonField')),::('.'('/nodalion#field'(F,'/nodalion#jsonTypedTerm'(D,E)),G),'/bootstrap#list'('/nodalion#jsonField'))),=(::(C,'/bootstrap#list'('/nodalion#jsonField')),::(G,'/bootstrap#list'('/nodalion#jsonField')))),'/cl1#contextToQueryResult'(B,G)))),'.'('builtin#varName'(::(A,H),!('First')),'.'('builtin#varName'(::(B,I),!('Rest')),'.'('builtin#varName'(::(C,J),!('ResultFields')),'.'('builtin#varName'(::(D,K),!('Var')),'.'('builtin#varName'(::(E,L),!('Type')),'.'('builtin#varName'(::(F,M),!('Name')),'.'('builtin#varName'(::(G,N),!('ResultFieldsPrime')),[])))))))),'builtin#true'). :-('/cl1#contextToQueryResult'('.'(A,B),C),','('builtin#if'(=(::(A,'/cloudlog#ctxElem'),::('/cloudlog#varName'(::(D,E),F),'/cloudlog#ctxElem')),=(::(C,'/bootstrap#list'('/nodalion#jsonField')),::('.'('/nodalion#field'(F,'/nodalion#jsonTypedTerm'(D,E)),G),'/bootstrap#list'('/nodalion#jsonField'))),=(::(C,'/bootstrap#list'('/nodalion#jsonField')),::(G,'/bootstrap#list'('/nodalion#jsonField')))),'/cl1#contextToQueryResult'(B,G))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'/bootstrap#signature'(::('/cl1#initialContext'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))),'.'('builtin#varName'(::(A,C),!('QueryArgs')),'.'('builtin#varName'(::(B,D),!('CtxIn')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cl1#initialContext'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),:-('/cl1#initialContext'([],[]),'builtin#true'),[]),'builtin#true'). :-('/cl1#initialContext'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'annotation#shrink'(:-('/cl1#initialContext'('.'('/nodalion#field'(A,'/nodalion#jsonStr'(B)),C),D),','('builtin#if'('builtin#strcat'(!('import-'),E,A),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#import'(E,B),F),'/bootstrap#list'('/cloudlog#ctxElem'))),'builtin#if'('builtin#strcat'(!('str-'),G,A),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(::(B,'/bootstrap#string'),G),F),'/bootstrap#list'('/cloudlog#ctxElem'))),'builtin#if'('builtin#strcat'(!('num-'),G,A),','('/Functional#eval'('/nodalion#str2num'('/Functional#const'(B)),'/bootstrap#number',H),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(::(H,'/bootstrap#number'),G),F),'/bootstrap#list'('/cloudlog#ctxElem')))),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::(F,'/bootstrap#list'('/cloudlog#ctxElem')))))),'/cl1#initialContext'(C,F)))),'.'('builtin#varName'(::(A,I),!('Name')),'.'('builtin#varName'(::(B,J),!('Value')),'.'('builtin#varName'(::(C,K),!('QueryArgs')),'.'('builtin#varName'(::(D,L),!('Ctx')),'.'('builtin#varName'(::(E,M),!('LocalName')),'.'('builtin#varName'(::(F,N),!('CtxPrime')),'.'('builtin#varName'(::(G,O),!('VarName')),'.'('builtin#varName'(::(H,P),!('NumValue')),[]))))))))),'builtin#true'). :-('/cl1#initialContext'('.'('/nodalion#field'(A,'/nodalion#jsonStr'(B)),C),D),','('builtin#if'('builtin#strcat'(!('import-'),E,A),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#import'(E,B),F),'/bootstrap#list'('/cloudlog#ctxElem'))),'builtin#if'('builtin#strcat'(!('str-'),G,A),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(::(B,'/bootstrap#string'),G),F),'/bootstrap#list'('/cloudlog#ctxElem'))),'builtin#if'('builtin#strcat'(!('num-'),G,A),','('/Functional#eval'('/nodalion#str2num'('/Functional#const'(B)),'/bootstrap#number',H),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(::(H,'/bootstrap#number'),G),F),'/bootstrap#list'('/cloudlog#ctxElem')))),=(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),::(F,'/bootstrap#list'('/cloudlog#ctxElem')))))),'/cl1#initialContext'(C,F))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'/bootstrap#signature'(::('/cl1#assign'(A,B,C),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))),'.'('builtin#varName'(::(A,D),!('X')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Y')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cl1#assign'(A,B,C),'/bootstrap#pred'),'.'(::(A,B),'.'(::(B,'/bootstrap#type'),'.'(::(C,B),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),:-('/cl1#assign'(A,B,A),'builtin#true'),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/cl1#assign'(A,B,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'/bootstrap#signature'(::('/cl1#query'(A,B,C,D,E),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/nodalion#json'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(E,'/bootstrap#list'('/nodalion#json')),[])))))),'.'('builtin#varName'(::(A,F),!('Path')),'.'('builtin#varName'(::(B,G),!('Params')),'.'('builtin#varName'(::(C,H),!('Domain')),'.'('builtin#varName'(::(D,I),!('QueryArgs')),'.'('builtin#varName'(::(E,J),!('Results')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/cl1#query'(A,B,C,D,E),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/nodalion#json'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/nodalion#jsonField')),'.'(::(E,'/bootstrap#list'('/nodalion#json')),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/query.ced'),'annotation#shrink'('/impred#clause'('/cl1#query'(A,B,C,D,E),'/impred#conj'('/impred#pred'(','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(B),!(hash))),'/bootstrap#string',F),'/cl1#initialContext'(D,G))),'/impred#conj'('/impred#task'('/impred#base64Decode'(F),H,'/bootstrap#string'),'/impred#conj'('/impred#pred'(','('/cl1#parseCloudlog'(A,H,'.'('/cloudlog#package'(C),G),::(I,'/cloudlog#pred'),J),'/cl1#contextToQueryResult'(J,K))),'/nodalion#findall'('/nodalion#jsonObj'('.'('/nodalion#field'(!('_count'),'/nodalion#jsonNum'(L)),K)),'/nodalion#json','/cloudlog#logicQuery'(I,L),E)))))),'.'('builtin#varName'(::(A,M),!('Path')),'.'('builtin#varName'(::(B,N),!('Params')),'.'('builtin#varName'(::(C,O),!('Domain')),'.'('builtin#varName'(::(D,P),!('QueryArgs')),'.'('builtin#varName'(::(E,Q),!('Results')),'.'('builtin#varName'(::(F,R),!('Hash')),'.'('builtin#varName'(::(G,S),!('CtxIn')),'.'('builtin#varName'(::(H,T),!('QueryStr')),'.'('builtin#varName'(::(I,U),!('Goal')),'.'('builtin#varName'(::(J,V),!('Ctx')),'.'('builtin#varName'(::(K,W),!('ResultFields')),'.'('builtin#varName'(::(L,X),!('Count')),[]))))))))))))),'builtin#true'). '/impred#clause'('/cl1#query'(A,B,C,D,E),'/impred#conj'('/impred#pred'(','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(B),!(hash))),'/bootstrap#string',F),'/cl1#initialContext'(D,G))),'/impred#conj'('/impred#task'('/impred#base64Decode'(F),H,'/bootstrap#string'),'/impred#conj'('/impred#pred'(','('/cl1#parseCloudlog'(A,H,'.'('/cloudlog#package'(C),G),::(I,'/cloudlog#pred'),J),'/cl1#contextToQueryResult'(J,K))),'/nodalion#findall'('/nodalion#jsonObj'('.'('/nodalion#field'(!('_count'),'/nodalion#jsonNum'(L)),K)),'/nodalion#json','/cloudlog#logicQuery'(I,L),E))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/bootstrap#defAtom'(::('/cl1#cl1','/nodalion#app')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cl1#cl1','/nodalion#app')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/bootstrap#signature'(::('/cl1#staticContent'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('Hash')),'.'('builtin#varName'(::(C,F),!('ContentType')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cl1#staticContent'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/bootstrap#signature'(::('/cl1#staticHandler'(A,B,C,D,E),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#string')),'.'(::(D,'/nodalion#json'),'.'(::(E,'/bootstrap#pred'),[])))))),'.'('builtin#varName'(::(A,F),!('URI')),'.'('builtin#varName'(::(B,G),!('Domain')),'.'('builtin#varName'(::(C,H),!('PathList')),'.'('builtin#varName'(::(D,I),!('Params')),'.'('builtin#varName'(::(E,J),!('Goal')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/cl1#staticHandler'(A,B,C,D,E),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#list'('/bootstrap#string')),'.'(::(D,'/nodalion#json'),'.'(::(E,'/bootstrap#pred'),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'annotation#shrink'(~>('/cl1#staticHandler'(A,B,C,D,E),'/nodalion#serve'('/cl1#cl1','/nodalion#put',A,'.'('/nodalion#objStoreBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),'/nodalion#jsonStr'(F)),'.'('/nodalion#field'(!(params),D),'.'('/nodalion#field'(!(headers),G),[])))),'/impred#conj'('/impred#pred'(','(E,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(host))),'/bootstrap#string',B),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!('content-type'))),'/bootstrap#string',H)))),'/impred#conj'('/nodalion#findall'('/cloudlog#addition'('/cl1#staticContent'(C,I,J),K),'/cloudlog#addition','/impred#conj'('/cloudlog#logicQuery'('/cl1#isStaticContent'(C,I,J),L),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(L)),'/bootstrap#number',K))),M),'/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#staticContent'(C,F,H),1),M)))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))))),'.'('builtin#varName'(::(A,N),!('URI')),'.'('builtin#varName'(::(B,O),!('Domain')),'.'('builtin#varName'(::(C,P),!('PathList')),'.'('builtin#varName'(::(D,Q),!('Params')),'.'('builtin#varName'(::(E,R),!('Goal')),'.'('builtin#varName'(::(F,S),!('Hash')),'.'('builtin#varName'(::(G,T),!('Headers')),'.'('builtin#varName'(::(H,U),!('ContentType')),'.'('builtin#varName'(::(I,V),!('HashPrime')),'.'('builtin#varName'(::(J,W),!('ContentTypePrime')),'.'('builtin#varName'(::(K,X),!('MinusV')),'.'('builtin#varName'(::(L,Y),!('V')),'.'('builtin#varName'(::(M,Z),!('Removals')),[])))))))))))))),'builtin#true'). :-('/nodalion#serve'('/cl1#cl1','/nodalion#put',A,'.'('/nodalion#objStoreBody','.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(body),'/nodalion#jsonStr'(B)),'.'('/nodalion#field'(!(params),C),'.'('/nodalion#field'(!(headers),D),[])))),'/impred#conj'('/impred#pred'(','(E,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(host))),'/bootstrap#string',F),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!('content-type'))),'/bootstrap#string',G)))),'/impred#conj'('/nodalion#findall'('/cloudlog#addition'('/cl1#staticContent'(H,I,J),K),'/cloudlog#addition','/impred#conj'('/cloudlog#logicQuery'('/cl1#isStaticContent'(H,I,J),L),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(L)),'/bootstrap#number',K))),M),'/cloudlog#trans'('.'('/cloudlog#addition'('/cl1#staticContent'(H,B,G),1),M)))),'.'('/nodalion#outputJson'('/nodalion#jsonObj'('.'('/nodalion#field'(!(status),'/nodalion#jsonStr'(!('OK'))),[]))),[])),[]))),','('/cl1#staticHandler'(A,F,H,C,E),'builtin#true')). :-('/cl1#staticHandler'(A,B,C,D,E),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/bootstrap#signature'(::('/cl1#isStaticContent'(A,B,C),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('Hash')),'.'('builtin#varName'(::(C,F),!('ContentType')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cl1#isStaticContent'(A,B,C),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#string')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('/cl1#staticContent'(A,B,C),'builtin#true','/cloudlog#clause'('/cl1#isStaticContent'(A,B,C),'/cloudlog#true'))),'.'('builtin#varName'(::(A,D),!('Path')),'.'('builtin#varName'(::(B,E),!('Hash')),'.'('builtin#varName'(::(C,F),!('ContentType')),[])))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('/cl1#staticContent'(A,B,C),'builtin#true','/cloudlog#clause'('/cl1#isStaticContent'(A,B,C),'/cloudlog#true'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'annotation#shrink'(~>('/cl1#staticHandler'(A,B,C,D,E),'/nodalion#serve'('/cl1#cl1','/nodalion#get',A,'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),D),'.'('/nodalion#field'(!(headers),F),[]))),'/impred#conj'('/impred#pred'(','(E,'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(host))),'/bootstrap#string',B))),'/cloudlog#logicQuery'('/cl1#isStaticContent'(C,G,H),I)),'.'('/nodalion#header'(!('content-type'),H),'.'('/nodalion#objStoreGet'(G),[]))),[])))),'.'('builtin#varName'(::(A,J),!('URI')),'.'('builtin#varName'(::(B,K),!('Domain')),'.'('builtin#varName'(::(C,L),!('PathList')),'.'('builtin#varName'(::(D,M),!('Params')),'.'('builtin#varName'(::(E,N),!('Goal')),'.'('builtin#varName'(::(F,O),!('Headers')),'.'('builtin#varName'(::(G,P),!('Hash')),'.'('builtin#varName'(::(H,Q),!('ContentType')),[]))))))))),'builtin#true'). :-('/nodalion#serve'('/cl1#cl1','/nodalion#get',A,'.'('/nodalion#with'('/nodalion#jsonObj'('.'('/nodalion#field'(!(params),B),'.'('/nodalion#field'(!(headers),C),[]))),'/impred#conj'('/impred#pred'(','(D,'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(C),!(host))),'/bootstrap#string',E))),'/cloudlog#logicQuery'('/cl1#isStaticContent'(F,G,H),I)),'.'('/nodalion#header'(!('content-type'),H),'.'('/nodalion#objStoreGet'(G),[]))),[])),','('/cl1#staticHandler'(A,E,F,B,D),'builtin#true')). :-('/cl1#staticHandler'(A,B,C,D,E),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('/cl1#staticContent'(A,B,!('application/cedalion')),'/cloudlog#axiomForHash'(B,C),C)),'.'('builtin#varName'(::(B,D),!('Hash')),'.'('builtin#varName'(::(C,E),!('Axiom')),[]))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('/cl1#staticContent'(A,B,!('application/cedalion')),'/cloudlog#axiomForHash'(B,C),C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:f'),A,'.'(A,'.'(B,[])),C,'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(C),!(f))),'/bootstrap#string',B)),'.'('builtin#varName'(::(A,D),!('Domain')),'.'('builtin#varName'(::(B,E),!('F')),'.'('builtin#varName'(::(C,F),!('Params')),[])))),'builtin#true'). '/cl1#staticHandler'(!('/static/:f'),A,'.'(A,'.'(B,[])),C,'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(C),!(f))),'/bootstrap#string',B)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:f'),A,'.'(A,'.'(B,'.'(C,[]))),D,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(d1))),'/bootstrap#string',B),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(f))),'/bootstrap#string',C))),'.'('builtin#varName'(::(A,E),!('Domain')),'.'('builtin#varName'(::(B,F),!('D1')),'.'('builtin#varName'(::(C,G),!('F')),'.'('builtin#varName'(::(D,H),!('Params')),[]))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:f'),A,'.'(A,'.'(B,'.'(C,[]))),D,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(d1))),'/bootstrap#string',B),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(D),!(f))),'/bootstrap#string',C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:d2/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,[])))),E,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(d2))),'/bootstrap#string',C),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(f))),'/bootstrap#string',D)))),'.'('builtin#varName'(::(A,F),!('Domain')),'.'('builtin#varName'(::(B,G),!('D1')),'.'('builtin#varName'(::(C,H),!('D2')),'.'('builtin#varName'(::(D,I),!('F')),'.'('builtin#varName'(::(E,J),!('Params')),[])))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:d2/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,[])))),E,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(d2))),'/bootstrap#string',C),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(E),!(f))),'/bootstrap#string',D)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,[]))))),F,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d3))),'/bootstrap#string',D),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(f))),'/bootstrap#string',E))))),'.'('builtin#varName'(::(A,G),!('Domain')),'.'('builtin#varName'(::(B,H),!('D1')),'.'('builtin#varName'(::(C,I),!('D2')),'.'('builtin#varName'(::(D,J),!('D3')),'.'('builtin#varName'(::(E,K),!('F')),'.'('builtin#varName'(::(F,L),!('Params')),[]))))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,[]))))),F,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(d3))),'/bootstrap#string',D),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(F),!(f))),'/bootstrap#string',E))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,[])))))),G,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d4))),'/bootstrap#string',E),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(f))),'/bootstrap#string',F)))))),'.'('builtin#varName'(::(A,H),!('Domain')),'.'('builtin#varName'(::(B,I),!('D1')),'.'('builtin#varName'(::(C,J),!('D2')),'.'('builtin#varName'(::(D,K),!('D3')),'.'('builtin#varName'(::(E,L),!('D4')),'.'('builtin#varName'(::(F,M),!('F')),'.'('builtin#varName'(::(G,N),!('Params')),[])))))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,[])))))),G,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(d4))),'/bootstrap#string',E),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(G),!(f))),'/bootstrap#string',F)))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:d5/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,'.'(G,[]))))))),H,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d4))),'/bootstrap#string',E),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d5))),'/bootstrap#string',F),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(f))),'/bootstrap#string',G))))))),'.'('builtin#varName'(::(A,I),!('Domain')),'.'('builtin#varName'(::(B,J),!('D1')),'.'('builtin#varName'(::(C,K),!('D2')),'.'('builtin#varName'(::(D,L),!('D3')),'.'('builtin#varName'(::(E,M),!('D4')),'.'('builtin#varName'(::(F,N),!('D5')),'.'('builtin#varName'(::(G,O),!('F')),'.'('builtin#varName'(::(H,P),!('Params')),[]))))))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:d5/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,'.'(G,[]))))))),H,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d4))),'/bootstrap#string',E),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(d5))),'/bootstrap#string',F),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(H),!(f))),'/bootstrap#string',G))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cl1/static.ced'),'/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:d5/:d6/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,'.'(G,'.'(H,[])))))))),I,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d4))),'/bootstrap#string',E),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d5))),'/bootstrap#string',F),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d6))),'/bootstrap#string',G),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(f))),'/bootstrap#string',H)))))))),'.'('builtin#varName'(::(A,J),!('Domain')),'.'('builtin#varName'(::(B,K),!('D1')),'.'('builtin#varName'(::(C,L),!('D2')),'.'('builtin#varName'(::(D,M),!('D3')),'.'('builtin#varName'(::(E,N),!('D4')),'.'('builtin#varName'(::(F,O),!('D5')),'.'('builtin#varName'(::(G,P),!('D6')),'.'('builtin#varName'(::(H,Q),!('F')),'.'('builtin#varName'(::(I,R),!('Params')),[])))))))))),'builtin#true'). '/cl1#staticHandler'(!('/static/:d1/:d2/:d3/:d4/:d5/:d6/:f'),A,'.'(A,'.'(B,'.'(C,'.'(D,'.'(E,'.'(F,'.'(G,'.'(H,[])))))))),I,','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d1))),'/bootstrap#string',B),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d2))),'/bootstrap#string',C),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d3))),'/bootstrap#string',D),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d4))),'/bootstrap#string',E),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d5))),'/bootstrap#string',F),','('/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(d6))),'/bootstrap#string',G),'/Functional#eval'('/nodalion#asString'('/nodalion#jsonMember'('/Functional#const'(I),!(f))),'/bootstrap#string',H)))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/bootstrap#defAtom'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/bootstrap#projection'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8853)),[]),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8853)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/bootstrap#alias'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!(+)),[]),'builtin#true'). '/bootstrap#alias'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!(+)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should result to the second argument if the first argument is an empty list'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'([]),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,B),!('Result')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should result to the second argument if the first argument is an empty list'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'([]),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should concatenate the two arguments if they have distinct axioms'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),2),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),-1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,B),!('Result')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should concatenate the two arguments if they have distinct axioms'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),2),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),-1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,3),2),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should merge additions of the same axiom'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),2),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(3,4),3),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(3,4),3),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,B),!('Result')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should merge additions of the same axiom'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),2),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(3,4),3),'.'('/cloudlog#addition'('example#someFact'(1,4),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(3,4),3),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should remove axioms with zero value'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),1),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),-1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,[],'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,B),!('Result')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#plus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should remove axioms with zero value'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),1),[])),'/cloudlog#plus','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,4),-1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,[],'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#plus',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#where'('/Functional#const'(C),','('/Functional#eval'(A,'/bootstrap#list'('/cloudlog#addition'),D),','('/Functional#eval'(B,'/bootstrap#list'('/cloudlog#addition'),E),'/cloudlog#addAdditions'(D,E,C))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('B')),'.'('builtin#varName'(::(C,H),!('C')),'.'('builtin#varName'(::(D,I),!('APrime')),'.'('builtin#varName'(::(E,J),!('BPrime')),[])))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#plus',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#where'('/Functional#const'(C),','('/Functional#eval'(A,'/bootstrap#list'('/cloudlog#addition'),D),','('/Functional#eval'(B,'/bootstrap#list'('/cloudlog#addition'),E),'/cloudlog#addAdditions'(D,E,C))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/bootstrap#signature'(::('/cloudlog#addAdditions'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),'.'(::(C,'/bootstrap#list'('/cloudlog#addition')),[])))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('C')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#addAdditions'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),'.'(::(C,'/bootstrap#list'('/cloudlog#addition')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),:-('/cloudlog#addAdditions'([],A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('B')),[])),'builtin#true'). :-('/cloudlog#addAdditions'([],A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'annotation#shrink'(:-('/cloudlog#addAdditions'('.'('/cloudlog#addition'(A,B),C),D,E),','('builtin#if'('/cloudlog#findAddition'(D,A,F,G),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(B),'/Functional#numPlus','/Functional#const'(F)),'/bootstrap#number',H),'builtin#if'('builtin#equals'(::(H,'/bootstrap#number'),::(0,'/bootstrap#number')),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::(I,'/bootstrap#list'('/cloudlog#addition'))),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,H),I),'/bootstrap#list'('/cloudlog#addition'))))),','(=(::(G,'/bootstrap#list'('/cloudlog#addition')),::(D,'/bootstrap#list'('/cloudlog#addition'))),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),I),'/bootstrap#list'('/cloudlog#addition'))))),'/cloudlog#addAdditions'(C,G,I)))),'.'('builtin#varName'(::(A,J),!('Axiom')),'.'('builtin#varName'(::(B,K),!('Value')),'.'('builtin#varName'(::(C,L),!('A')),'.'('builtin#varName'(::(D,M),!('B')),'.'('builtin#varName'(::(E,N),!('CPrime')),'.'('builtin#varName'(::(F,O),!('ValuePrime')),'.'('builtin#varName'(::(G,P),!('BPrime')),'.'('builtin#varName'(::(H,Q),!('ValuePrimePrime')),'.'('builtin#varName'(::(I,R),!('C')),[])))))))))),'builtin#true'). :-('/cloudlog#addAdditions'('.'('/cloudlog#addition'(A,B),C),D,E),','('builtin#if'('/cloudlog#findAddition'(D,A,F,G),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(B),'/Functional#numPlus','/Functional#const'(F)),'/bootstrap#number',H),'builtin#if'('builtin#equals'(::(H,'/bootstrap#number'),::(0,'/bootstrap#number')),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::(I,'/bootstrap#list'('/cloudlog#addition'))),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,H),I),'/bootstrap#list'('/cloudlog#addition'))))),','(=(::(G,'/bootstrap#list'('/cloudlog#addition')),::(D,'/bootstrap#list'('/cloudlog#addition'))),=(::(E,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),I),'/bootstrap#list'('/cloudlog#addition'))))),'/cloudlog#addAdditions'(C,G,I))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'/bootstrap#signature'(::('/cloudlog#findAddition'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),[]))))),'.'('builtin#varName'(::(A,E),!('B')),'.'('builtin#varName'(::(B,F),!('Axiom')),'.'('builtin#varName'(::(C,G),!('ValuePrime')),'.'('builtin#varName'(::(D,H),!('BPrime')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#findAddition'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/addAdditions.ced'),'annotation#shrink'(:-('/cloudlog#findAddition'('.'('/cloudlog#addition'(A,B),C),D,E,F),'builtin#if'('builtin#structurallyEqual'(::(A,'/cloudlog#axiom'),::(D,'/cloudlog#axiom')),','(=(::(E,'/bootstrap#number'),::(B,'/bootstrap#number')),=(::(F,'/bootstrap#list'('/cloudlog#addition')),::(C,'/bootstrap#list'('/cloudlog#addition')))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),G),'/bootstrap#list'('/cloudlog#addition'))),'/cloudlog#findAddition'(C,D,E,G))))),'.'('builtin#varName'(::(A,H),!('Axiom')),'.'('builtin#varName'(::(B,I),!('Value')),'.'('builtin#varName'(::(C,J),!('Rest')),'.'('builtin#varName'(::(D,K),!('AxiomPrime')),'.'('builtin#varName'(::(E,L),!('ValuePrime')),'.'('builtin#varName'(::(F,M),!('Remaining')),'.'('builtin#varName'(::(G,N),!('RemainingPrime')),[])))))))),'builtin#true'). :-('/cloudlog#findAddition'('.'('/cloudlog#addition'(A,B),C),D,E,F),'builtin#if'('builtin#structurallyEqual'(::(A,'/cloudlog#axiom'),::(D,'/cloudlog#axiom')),','(=(::(E,'/bootstrap#number'),::(B,'/bootstrap#number')),=(::(F,'/bootstrap#list'('/cloudlog#addition')),::(C,'/bootstrap#list'('/cloudlog#addition')))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),G),'/bootstrap#list'('/cloudlog#addition'))),'/cloudlog#findAddition'(C,D,E,G)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/bootstrap#signature'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),[])),'.'('builtin#varName'(::(A,D),!('Results')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/bootstrap#projection'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C)))),1,'cpi#rgb'(192,192,192))),'.'('builtin#varName'(::(A,D),!('Results')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#lineBorder'('/bootstrap#vis'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C)))),1,'cpi#rgb'(192,192,192))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,D),!('Results')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/util#behavior'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should convert database results into additions'),','('/Functional#eval'('/cloudlog#dbResults'('.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('example#someFact'(2,3),1),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('Results')),'.'('builtin#varName'(::(B,D),!('Additions')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should convert database results into additions'),','('/Functional#eval'('/cloudlog#dbResults'('.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('example#someFact'(2,3),1),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/util#behavior'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should ignore non-counter results'),','('/Functional#eval'('/cloudlog#dbResults'('.'('/nodalion#value'(!(foo),'/cloudlog#version','.'(!(bar),[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(2,3),1),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('Results')),'.'('builtin#varName'(::(B,D),!('Additions')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbResults'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should ignore non-counter results'),','('/Functional#eval'('/cloudlog#dbResults'('.'('/nodalion#value'(!(foo),'/cloudlog#version','.'(!(bar),[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(2,3),1),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/Functional#def'('/cloudlog#dbResults'([]),'/bootstrap#list'('/cloudlog#addition'),'/Functional#const'([])),[]),'builtin#true'). '/Functional#def'('/cloudlog#dbResults'([]),'/bootstrap#list'('/cloudlog#addition'),'/Functional#const'([])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/Functional#def'('/cloudlog#dbResults'('.'('/nodalion#counterValue'(A,B,C),D)),'/bootstrap#list'('/cloudlog#addition'),'/cloudlog#cons'('/Functional#const'('/cloudlog#addition'(B,C)),'/cloudlog#dbResults'(D))),'.'('builtin#varName'(::(B,E),!('Axiom')),'.'('builtin#varName'(::(C,F),!('Value')),'.'('builtin#varName'(::(D,G),!('Results')),[])))),'builtin#true'). '/Functional#def'('/cloudlog#dbResults'('.'('/nodalion#counterValue'(A,B,C),D)),'/bootstrap#list'('/cloudlog#addition'),'/cloudlog#cons'('/Functional#const'('/cloudlog#addition'(B,C)),'/cloudlog#dbResults'(D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/Functional#def'('/cloudlog#dbResults'('.'('/nodalion#value'(A,B,C),D)),'/bootstrap#list'('/cloudlog#addition'),'/cloudlog#dbResults'(D)),'.'('builtin#varName'(::(D,E),!('Results')),[])),'builtin#true'). '/Functional#def'('/cloudlog#dbResults'('.'('/nodalion#value'(A,B,C),D)),'/bootstrap#list'('/cloudlog#addition'),'/cloudlog#dbResults'(D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/bootstrap#signature'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'('/bootstrap#list'(C))),[]))),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),'.'(::(A,'/Functional#expr'(C)),'.'(::(B,'/Functional#expr'('/bootstrap#list'(C))),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/bootstrap#projection'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#list'(C)))),[]))))),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/Functional#expr'(C))),'.'('/bootstrap#label'(!(:)),'.'('/bootstrap#vis'(::(B,'/Functional#expr'('/bootstrap#list'(C)))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/util#behavior'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),!('should construct a list out of expressions'),'/Functional#eval'('/cloudlog#cons'('annotation#parentheses'('/Functional#applyBinOp'('/Functional#const'(1),'/Functional#numPlus','/Functional#const'(2))),'/Functional#const'('.'(2,'.'(1,[])))),'/bootstrap#list'('/bootstrap#number'),D)),'.'('builtin#varName'(::(A,E),!('First')),'.'('builtin#varName'(::(B,F),!('Rest')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('List')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#cons'(A,B),'/Functional#expr'('/bootstrap#list'(C))),!('should construct a list out of expressions'),'/Functional#eval'('/cloudlog#cons'('/Functional#applyBinOp'('/Functional#const'(1),'/Functional#numPlus','/Functional#const'(2)),'/Functional#const'('.'(2,'.'(1,[])))),'/bootstrap#list'('/bootstrap#number'),D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/additionExpr.ced'),'/Functional#def'('/cloudlog#cons'(A,B),'/bootstrap#list'(C),'/Functional#where'('/Functional#const'('.'(D,E)),','('/Functional#eval'(A,C,D),'/Functional#eval'(B,'/bootstrap#list'(C),E)))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('FirstPrime')),'.'('builtin#varName'(::(E,J),!('RestPrime')),[])))))),'builtin#true'). '/Functional#def'('/cloudlog#cons'(A,B),'/bootstrap#list'(C),'/Functional#where'('/Functional#const'('.'(D,E)),','('/Functional#eval'(A,C,D),'/Functional#eval'(B,'/bootstrap#list'(C),E)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/bootstrap#signature'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))),'.'('builtin#varName'(::(A,D),!('Match')),'.'('builtin#varName'(::(B,E),!('Axiom')),'.'('builtin#varName'(::(C,F),!('AxiomPrime')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/bootstrap#projection'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8896),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[]))))))),'.'('builtin#varName'(::(A,D),!('Match')),'.'('builtin#varName'(::(B,E),!('Axiom')),'.'('builtin#varName'(::(C,F),!('AxiomPrime')),[])))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8896),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[]))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should handle the case where Axiom is a fact and Match is a rule'),','('/cloudlog#applyMatch'('/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,5)),'example#someFact'(1,4),E),'/util#assertEqual'(E,'example#someFact'(4,5),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,F),!('Match')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('AxiomPrime')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Res')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should handle the case where Axiom is a fact and Match is a rule'),','('/cloudlog#applyMatch'('/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,5)),'example#someFact'(1,4),E),'/util#assertEqual'(E,'example#someFact'(4,5),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),:-('/cloudlog#applyMatch'(A,B,C),','('/cloudlog#axiomFamily'(A,D,::(E,F)),'/cloudlog#applyMatch'(D,A,B,C))),'.'('builtin#varName'(::(A,G),!('Axiom1')),'.'('builtin#varName'(::(B,H),!('Axiom2')),'.'('builtin#varName'(::(C,I),!('Axiom')),'.'('builtin#varName'(::(D,J),!('Family')),[]))))),'builtin#true'). :-('/cloudlog#applyMatch'(A,B,C),','('/cloudlog#axiomFamily'(A,D,::(E,F)),'/cloudlog#applyMatch'(D,A,B,C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should handle the case where Axiom is a rule and Match is a fact'),','('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,5)),E),'/util#assertEqual'(E,'example#someFact'(4,5),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,F),!('Match')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('AxiomPrime')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Res')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should handle the case where Axiom is a rule and Match is a fact'),','('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,5)),E),'/util#assertEqual'(E,'example#someFact'(4,5),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/bootstrap#signature'(::('/cloudlog#applyMatch'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),'.'(::(D,'/cloudlog#axiom'),[]))))),'.'('builtin#varName'(::(A,E),!('Family')),'.'('builtin#varName'(::(B,F),!('Axiom1')),'.'('builtin#varName'(::(C,G),!('Axiom2')),'.'('builtin#varName'(::(D,H),!('Axiom')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#applyMatch'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),'.'(::(D,'/cloudlog#axiom'),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),:-('/cloudlog#applyMatch'(!(rules),A,B,C),'/cloudlog#applyRule'(A,B,C)),'.'('builtin#varName'(::(A,D),!('Rule')),'.'('builtin#varName'(::(B,E),!('Fact')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). :-('/cloudlog#applyMatch'(!(rules),A,B,C),'/cloudlog#applyRule'(A,B,C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),:-('/cloudlog#applyMatch'(!(facts),A,B,C),'/cloudlog#applyRule'(B,A,C)),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('Rule')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). :-('/cloudlog#applyMatch'(!(facts),A,B,C),'/cloudlog#applyRule'(B,A,C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should adhere to the guard'),\+('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'builtin#fail','example#someFact'(D,5)),E))),'.'('builtin#varName'(::(A,F),!('Match')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('AxiomPrime')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Res')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should adhere to the guard'),\+('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'builtin#fail','example#someFact'(D,5)),E))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/bootstrap#signature'(::('/cloudlog#applyRule'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))),'.'('builtin#varName'(::(A,D),!('Rule')),'.'('builtin#varName'(::(B,E),!('Fact')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#applyRule'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/bootstrap#projection'(::('/cloudlog#applyRule'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8896),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[]))))))),'.'('builtin#varName'(::(A,D),!('Rule')),'.'('builtin#varName'(::(B,E),!('Fact')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#applyRule'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8896),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8658),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[]))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),:-('/cloudlog#applyRule'('/cloudlog#rule'(A,B,C),A,C),'/cloudlog#executeLocal'(B)),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). :-('/cloudlog#applyRule'('/cloudlog#rule'(A,B,C),A,C),'/cloudlog#executeLocal'(B)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/applyMatch.ced'),'/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should contain runaway goals'),\+('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'/bootstrap#aPredicateThatDoesNotTerminate','example#someFact'(D,5)),E))),'.'('builtin#varName'(::(A,F),!('Match')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('AxiomPrime')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Res')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#applyMatch'(A,B,C),'/bootstrap#pred'),!('should contain runaway goals'),\+('/cloudlog#applyMatch'('example#someFact'(1,4),'/cloudlog#rule'('example#someFact'(1,D),'/bootstrap#aPredicateThatDoesNotTerminate','example#someFact'(D,5)),E))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#axiom'(A),'/bootstrap#statement'),'.'(::(A,'/cloudlog#axiom'),[])),'.'('builtin#varName'(::(A,B),!('Axiom')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#axiom'(A),'/bootstrap#statement'),'.'(::(A,'/cloudlog#axiom'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#projection'(::('/cloudlog#axiom'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(axiom)),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),[])))),'.'('builtin#varName'(::(A,B),!('Axiom')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#axiom'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(axiom)),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/cloudlog#axiom'('example#someFact'(1,2)),[]),'builtin#true'). '/cloudlog#axiom'('example#someFact'(1,2)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#isAxiom'(A),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),[])),'.'('builtin#varName'(::(A,B),!('Axiom')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#isAxiom'(A),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),~>('/cloudlog#axiom'(A),:-('/cloudlog#isAxiom'(A),'builtin#true')),'.'('builtin#varName'(::(A,B),!('Axiom')),[])),'builtin#true'). :-('/cloudlog#isAxiom'(A),','('/cloudlog#axiom'(A),'builtin#true')). :-('/cloudlog#axiom'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#axiomForHash'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),[]))),'.'('builtin#varName'(::(A,C),!('Hash')),'.'('builtin#varName'(::(B,D),!('Axiom')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#axiomForHash'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),:-('/cloudlog#axiomForHash'(A,B),','('/containers#callInContainer'(A,'/cloudlog#isAxiom'(C)),'/cloudlog#containerizeLocalGoals'(C,B,A))),'.'('builtin#varName'(::(A,D),!('Hash')),'.'('builtin#varName'(::(B,E),!('Axiom')),'.'('builtin#varName'(::(C,F),!('Axiom1')),[])))),'builtin#true'). :-('/cloudlog#axiomForHash'(A,B),','('/containers#callInContainer'(A,'/cloudlog#isAxiom'(C)),'/cloudlog#containerizeLocalGoals'(C,B,A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('AxiomIn')),'.'('builtin#varName'(::(B,E),!('AxiomOut')),'.'('builtin#varName'(::(C,F),!('Hash')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should pass a fact as-is'),','('/cloudlog#containerizeLocalGoals'('example#someFact'(1,2),D,!(cl1foo)),'/util#assertEqual'(D,'example#someFact'(1,2),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,E),!('AxiomIn')),'.'('builtin#varName'(::(B,F),!('AxiomOut')),'.'('builtin#varName'(::(C,G),!('Hash')),'.'('builtin#varName'(::(D,H),!('Axiom2')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should pass a fact as-is'),','('/cloudlog#containerizeLocalGoals'('example#someFact'(1,2),D,!(cl1foo)),'/util#assertEqual'(D,'example#someFact'(1,2),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should restrict guards to containers'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#rule'('example#someFact'(D,E),'/Functional#gt'('/Functional#const'(D),'/Functional#const'(E),'/bootstrap#number'),'example#someFact'(E,D)),F,!(cl1foo)),'/util#assertEqual'(F,'/cloudlog#rule'('example#someFact'(D,E),'/containers#callInContainer'(!(cl1foo),'/Functional#gt'('/Functional#const'(D),'/Functional#const'(E),'/bootstrap#number')),'example#someFact'(E,D)),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,G),!('AxiomIn')),'.'('builtin#varName'(::(B,H),!('AxiomOut')),'.'('builtin#varName'(::(C,I),!('Hash')),'.'('builtin#varName'(::(D,J),!('X')),'.'('builtin#varName'(::(E,K),!('Y')),'.'('builtin#varName'(::(F,L),!('Axiom2')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should restrict guards to containers'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#rule'('example#someFact'(D,E),'/Functional#gt'('/Functional#const'(D),'/Functional#const'(E),'/bootstrap#number'),'example#someFact'(E,D)),F,!(cl1foo)),'/util#assertEqual'(F,'/cloudlog#rule'('example#someFact'(D,E),'/containers#callInContainer'(!(cl1foo),'/Functional#gt'('/Functional#const'(D),'/Functional#const'(E),'/bootstrap#number')),'example#someFact'(E,D)),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should restrict local goals in clause body to containers'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#clause'('example#somePred'(D,E),'/cloudlog#conj'('example#somePred'('.'(E,D),3),'/cloudlog#local'('/bootstrap#listMember'(E,'/bootstrap#number',D)))),F,!(cl1foo)),'/util#assertEqual'(F,'/cloudlog#clause'('example#somePred'(D,E),'/cloudlog#conj'('example#somePred'('.'(E,D),3),'/cloudlog#local'('/containers#callInContainer'(!(cl1foo),'/bootstrap#listMember'(E,'/bootstrap#number',D))))),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,G),!('AxiomIn')),'.'('builtin#varName'(::(B,H),!('AxiomOut')),'.'('builtin#varName'(::(C,I),!('Hash')),'.'('builtin#varName'(::(D,J),!('X')),'.'('builtin#varName'(::(E,K),!('Y')),'.'('builtin#varName'(::(F,L),!('Axiom2')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should restrict local goals in clause body to containers'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#clause'('example#somePred'(D,E),'/cloudlog#conj'('example#somePred'('.'(E,D),3),'/cloudlog#local'('/bootstrap#listMember'(E,'/bootstrap#number',D)))),F,!(cl1foo)),'/util#assertEqual'(F,'/cloudlog#clause'('example#somePred'(D,E),'/cloudlog#conj'('example#somePred'('.'(E,D),3),'/cloudlog#local'('/containers#callInContainer'(!(cl1foo),'/bootstrap#listMember'(E,'/bootstrap#number',D))))),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should wrap any goal within the axiom'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#rule'('example#someFact'(1,D),'/cloudlog#rule'('example#someFact'(D,E),F,G)),H,!(cl1foo)),'/util#assertEqual'(H,'/cloudlog#rule'('example#someFact'(1,D),'/cloudlog#rule'('example#someFact'(D,E),'/containers#callInContainer'(!(cl1foo),F),G)),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,I),!('AxiomIn')),'.'('builtin#varName'(::(B,J),!('AxiomOut')),'.'('builtin#varName'(::(C,K),!('Hash')),'.'('builtin#varName'(::(D,L),!('X')),'.'('builtin#varName'(::(E,M),!('Y')),'.'('builtin#varName'(::(F,N),!('Guard')),'.'('builtin#varName'(::(G,O),!('Foo')),'.'('builtin#varName'(::(H,P),!('Axiom2')),[]))))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should wrap any goal within the axiom'),','('/cloudlog#containerizeLocalGoals'('/cloudlog#rule'('example#someFact'(1,D),'/cloudlog#rule'('example#someFact'(D,E),F,G)),H,!(cl1foo)),'/util#assertEqual'(H,'/cloudlog#rule'('example#someFact'(1,D),'/cloudlog#rule'('example#someFact'(D,E),'/containers#callInContainer'(!(cl1foo),F),G)),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should consider the contained program when infering types'),','('/cloudlog#containerizeLocalGoals'('example#foo'(D,E),F,!(cl1foo)),'/util#assertEqual'(F,'example#foo'(D,'/containers#callInContainer'(!(cl1foo),E)),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,G),!('AxiomIn')),'.'('builtin#varName'(::(B,H),!('AxiomOut')),'.'('builtin#varName'(::(C,I),!('Hash')),'.'('builtin#varName'(::(D,J),!('X')),'.'('builtin#varName'(::(E,K),!('Y')),'.'('builtin#varName'(::(F,L),!('Axiom2')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#containerizeLocalGoals'(A,B,C),'/bootstrap#pred'),!('should consider the contained program when infering types'),','('/cloudlog#containerizeLocalGoals'('example#foo'(D,E),F,!(cl1foo)),'/util#assertEqual'(F,'example#foo'(D,'/containers#callInContainer'(!(cl1foo),E)),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'annotation#shrink'(:-('/cloudlog#containerizeLocalGoals'(A,B,C),'/cloudlog#containerizeTermGoals'(::(A,'/cloudlog#axiom'),::(B,'/cloudlog#axiom'),C))),'.'('builtin#varName'(::(A,D),!('AxiomIn')),'.'('builtin#varName'(::(B,E),!('AxiomOut')),'.'('builtin#varName'(::(C,F),!('Hash')),[])))),'builtin#true'). :-('/cloudlog#containerizeLocalGoals'(A,B,C),'/cloudlog#containerizeTermGoals'(::(A,'/cloudlog#axiom'),::(B,'/cloudlog#axiom'),C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#containerizeTermGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('TTermIn')),'.'('builtin#varName'(::(B,E),!('TTermOut')),'.'('builtin#varName'(::(C,F),!('Hash')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#containerizeTermGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#typedTerm'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'annotation#shrink'(:-('/cloudlog#containerizeTermGoals'(A,B,C),'builtin#if'(=(A,::(D,'/bootstrap#pred')),=(B,::('/containers#callInContainer'(C,D),'/bootstrap#pred')),'builtin#if'('builtin#compound'(A),','('/bootstrap#safeParseTerm'(A,E,F),','('/containers#callInContainer'(C,'/bootstrap#safeParseTerm'(A,E,F)),','('/cloudlog#containerizeTermsGoals'(F,G,C),'builtin#parseTerm'(B,E,G)))),=(B,A))))),'.'('builtin#varName'(::(A,H),!('TTermIn')),'.'('builtin#varName'(::(B,I),!('TTermOut')),'.'('builtin#varName'(::(C,J),!('Hash')),'.'('builtin#varName'(::(D,K),!('Goal')),'.'('builtin#varName'(::(E,L),!('Name')),'.'('builtin#varName'(::(F,M),!('TArgs')),'.'('builtin#varName'(::(G,N),!('TArgsOut')),[])))))))),'builtin#true'). :-('/cloudlog#containerizeTermGoals'(A,B,C),'builtin#if'(=(A,::(D,'/bootstrap#pred')),=(B,::('/containers#callInContainer'(C,D),'/bootstrap#pred')),'builtin#if'('builtin#compound'(A),','('/bootstrap#safeParseTerm'(A,E,F),','('/containers#callInContainer'(C,'/bootstrap#safeParseTerm'(A,E,F)),','('/cloudlog#containerizeTermsGoals'(F,G,C),'builtin#parseTerm'(B,E,G)))),=(B,A)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#containerizeTermsGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('TArgs')),'.'('builtin#varName'(::(B,E),!('TArgsOut')),'.'('builtin#varName'(::(C,F),!('Hash')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#containerizeTermsGoals'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'annotation#shrink'(:-('/cloudlog#containerizeTermsGoals'('.'(A,B),'.'(C,D),E),','('/cloudlog#containerizeTermGoals'(A,C,E),'/cloudlog#containerizeTermsGoals'(B,D,E)))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('TArgs')),'.'('builtin#varName'(::(C,H),!('TTermOut')),'.'('builtin#varName'(::(D,I),!('TArgsOut')),'.'('builtin#varName'(::(E,J),!('Hash')),[])))))),'builtin#true'). :-('/cloudlog#containerizeTermsGoals'('.'(A,B),'.'(C,D),E),','('/cloudlog#containerizeTermGoals'(A,C,E),'/cloudlog#containerizeTermsGoals'(B,D,E))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),:-('/cloudlog#containerizeTermsGoals'([],[],A),'builtin#true'),[]),'builtin#true'). :-('/cloudlog#containerizeTermsGoals'([],[],A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#signature'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),[]))),'.'('builtin#varName'(::(A,C),!('Fact')),'.'('builtin#varName'(::(B,D),!('Axiom')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#projection'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),[]))))),'.'('builtin#varName'(::(A,C),!('Fact')),'.'('builtin#varName'(::(B,D),!('Axiom')),[]))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(B,'/cloudlog#axiom')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/bootstrap#alias'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),!(->)),'.'('builtin#varName'(::(A,C),!('Fact')),'.'('builtin#varName'(::(B,D),!('Axiom')),[]))),'builtin#true'). '/bootstrap#alias'(::('/cloudlog#rule'(A,B),'/cloudlog#axiom'),!(->)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('/cloudlog#rule'(A,B),'builtin#true','/cloudlog#rule'(A,'builtin#true',B))),'.'('builtin#varName'(::(A,C),!('Fact')),'.'('builtin#varName'(::(B,D),!('Axiom')),[]))),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('/cloudlog#rule'(A,B),'builtin#true','/cloudlog#rule'(A,'builtin#true',B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),:-('cl1foo@/containers#exists','builtin#true'),[]),'builtin#true'). :-('cl1foo@/containers#exists','builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiom.ced'),'annotation#comment'('annotation#shrink'(:-('cl1foo@/bootstrap#safeParseTerm'(A,B,C),'builtin#if'(=(::(B,'/bootstrap#string'),::(!('example#foo'),'/bootstrap#string')),=(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::('.'(::(D,'/bootstrap#number'),'.'(::(E,'/bootstrap#pred'),[])),'/bootstrap#list'('/bootstrap#typedTerm'))),'builtin#true'))),!('Mock to simulate a container')),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('Name')),'.'('builtin#varName'(::(C,H),!('TArgs')),[])))),'builtin#true'). :-('cl1foo@/bootstrap#safeParseTerm'(A,B,C),'builtin#if'(=(::(B,'/bootstrap#string'),::(!('example#foo'),'/bootstrap#string')),=(::(C,'/bootstrap#list'('/bootstrap#typedTerm')),::('.'(::(D,'/bootstrap#number'),'.'(::(E,'/bootstrap#pred'),[])),'/bootstrap#list'('/bootstrap#typedTerm'))),'builtin#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#signature'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#typedTerm'),[])))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Family')),'.'('builtin#varName'(::(C,F),!('Key')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#typedTerm'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#projection'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(axiom)),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#label'(!('is classified as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('and is indexed by')),'.'('/bootstrap#vis'(::(C,'/bootstrap#typedTerm')),[])))))))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Family')),'.'('builtin#varName'(::(C,F),!('Key')),[])))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(axiom)),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#label'(!('is classified as')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('and is indexed by')),'.'('/bootstrap#vis'(::(C,'/bootstrap#typedTerm')),[])))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#signature'(::('example#someFact'(A,B),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Y')),[]))),'builtin#true'). '/bootstrap#signature'(::('example#someFact'(A,B),'/cloudlog#axiom'),'.'(::(A,'/bootstrap#number'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should default to "facts"'),','('/cloudlog#axiomFamily'('example#someFact'(1,2),B,C),'/util#assertEqual'(B,!(facts),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Family')),'.'('builtin#varName'(::(C,F),!('Key')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should default to "facts"'),','('/cloudlog#axiomFamily'('example#someFact'(1,2),B,C),'/util#assertEqual'(B,!(facts),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#signature'(::('/cloudlog#illegalAxiom'(A),'/bootstrap#exception'),'.'(::(A,'/cloudlog#axiom'),[])),'.'('builtin#varName'(::(A,B),!('Axiom')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#illegalAxiom'(A),'/bootstrap#exception'),'.'(::(A,'/cloudlog#axiom'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'annotation#shrink'(:-('/cloudlog#axiomFamily'(A,B,C),'builtin#if'('builtin#var'(::(A,'/cloudlog#axiom')),'builtin#throw'('/cloudlog#illegalAxiom'(A)),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#rule'(D,E,F),'/cloudlog#axiom')),','('/cloudlog#axiomFamily'(D,G,C),=(::(B,'/bootstrap#string'),::(!(rules),'/bootstrap#string'))),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#clause'(H,I),'/cloudlog#axiom')),','('builtin#parseTerm'(::(H,'/cloudlog#pred'),J,'.'(C,K)),=(::(B,'/bootstrap#string'),::(!(clauses),'/bootstrap#string'))),','('builtin#parseTerm'(::(A,'/cloudlog#axiom'),L,'.'(C,M)),=(::(B,'/bootstrap#string'),::(!(facts),'/bootstrap#string')))))))),'.'('builtin#varName'(::(A,N),!('Axiom')),'.'('builtin#varName'(::(B,O),!('Family')),'.'('builtin#varName'(::(C,P),!('Key')),'.'('builtin#varName'(::(D,Q),!('Fact')),'.'('builtin#varName'(::(H,R),!('Head')),'.'('builtin#varName'(::(I,S),!('Body')),[]))))))),'builtin#true'). :-('/cloudlog#axiomFamily'(A,B,C),'builtin#if'('builtin#var'(::(A,'/cloudlog#axiom')),'builtin#throw'('/cloudlog#illegalAxiom'(A)),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#rule'(D,E,F),'/cloudlog#axiom')),','('/cloudlog#axiomFamily'(D,G,C),=(::(B,'/bootstrap#string'),::(!(rules),'/bootstrap#string'))),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#clause'(H,I),'/cloudlog#axiom')),','('builtin#parseTerm'(::(H,'/cloudlog#pred'),J,'.'(C,K)),=(::(B,'/bootstrap#string'),::(!(clauses),'/bootstrap#string'))),','('builtin#parseTerm'(::(A,'/cloudlog#axiom'),L,'.'(C,M)),=(::(B,'/bootstrap#string'),::(!(facts),'/bootstrap#string'))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should provide the first argument of a fact as key'),','('/cloudlog#axiomFamily'('example#someFact'(1,2),B,::(D,'/bootstrap#number')),'/util#assertEqual'(D,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('Family')),'.'('builtin#varName'(::(C,G),!('Key')),'.'('builtin#varName'(::(D,H),!('KeyPrime')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should provide the first argument of a fact as key'),','('/cloudlog#axiomFamily'('example#someFact'(1,2),B,::(D,'/bootstrap#number')),'/util#assertEqual'(D,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#signature'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/cloudlog#axiom'),[])))),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/cloudlog#axiom'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#projection'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#brackets'('/bootstrap#vis'(::(B,'/bootstrap#pred')),123,125),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[])))))),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#brackets'('/bootstrap#vis'(::(B,'/bootstrap#pred')),123,125),'.'('/bootstrap#symbol'(8594),'.'('/bootstrap#vis'(::(C,'/cloudlog#axiom')),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/bootstrap#alias'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),!('{}->')),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('Axiom')),[])))),'builtin#true'). '/bootstrap#alias'(::('/cloudlog#rule'(A,B,C),'/cloudlog#axiom'),!('{}->')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should identify rules'),','('/cloudlog#axiomFamily'('/cloudlog#rule'('example#someFact'(2,D),E,A),B,C),'/util#assertEqual'(B,!(rules),'/bootstrap#string'))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('Family')),'.'('builtin#varName'(::(C,H),!('Key')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('Goal')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should identify rules'),','('/cloudlog#axiomFamily'('/cloudlog#rule'('example#someFact'(2,D),E,A),B,C),'/util#assertEqual'(B,!(rules),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should take the first argument of the fact triggerring the rule as key'),','('/cloudlog#axiomFamily'('/cloudlog#rule'('example#someFact'(2,D),'builtin#true','example#someFact'(D,4)),B,::(E,'/bootstrap#number')),'/util#assertEqual'(E,2,'/bootstrap#number'))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('Family')),'.'('builtin#varName'(::(C,H),!('Key')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('KeyPrime')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should take the first argument of the fact triggerring the rule as key'),','('/cloudlog#axiomFamily'('/cloudlog#rule'('example#someFact'(2,D),'builtin#true','example#someFact'(D,4)),B,::(E,'/bootstrap#number')),'/util#assertEqual'(E,2,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should identify clauses'),','('/cloudlog#axiomFamily'('/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),D),'/cloudlog#true'),B,::(E,'/bootstrap#number')),'/util#assertEqual'(B,!(clauses),'/bootstrap#string'))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('Family')),'.'('builtin#varName'(::(C,H),!('Key')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('KeyPrime')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should identify clauses'),','('/cloudlog#axiomFamily'('/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),D),'/cloudlog#true'),B,::(E,'/bootstrap#number')),'/util#assertEqual'(B,!(clauses),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/axiomFamily.ced'),'/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should take the first argument of the head as key for a clause'),','('/cloudlog#axiomFamily'('/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),D),'/cloudlog#true'),B,::(E,'/bootstrap#list'('/bootstrap#number'))),'/util#assertEqual'(E,'.'(1,'.'(2,[])),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('Family')),'.'('builtin#varName'(::(C,H),!('Key')),'.'('builtin#varName'(::(D,I),!('X')),'.'('builtin#varName'(::(E,J),!('KeyPrime')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiomFamily'(A,B,C),'/bootstrap#pred'),!('should take the first argument of the head as key for a clause'),','('/cloudlog#axiomFamily'('/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),D),'/cloudlog#true'),B,::(E,'/bootstrap#list'('/bootstrap#number'))),'/util#assertEqual'(E,'.'(1,'.'(2,[])),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'/bootstrap#signature'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Axiom')),'.'('builtin#varName'(::(B,D),!('CurrVersion')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should update the stored version for the table if the row version is greater'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),9),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(7),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(9)),C,'/impred#localStoreVal'),[])),'/impred#true')),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('RowVersion')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should update the stored version for the table if the row version is greater'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),9),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(7),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(9)),C,'/impred#localStoreVal'),[])),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should enqueue updateMaste if the stored version is greater than the row version'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),7),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(9),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),1,'/bootstrap#number',9),'/impred#impred'),C,'/nodalion#voidType'),[])),'/impred#true')),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('RowVersion')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should enqueue updateMaste if the stored version is greater than the row version'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),7),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(9),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),1,'/bootstrap#number',9),'/impred#impred'),C,'/nodalion#voidType'),[])),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should update the stored version with the row version if no version is stored'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),7),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),C,'/impred#localStoreVal'),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(7)),D,'/impred#localStoreVal'),[])),'/impred#true')),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('RowVersion')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should update the stored version with the row version if no version is stored'),'/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),7),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),C,'/impred#localStoreVal'),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(7)),D,'/impred#localStoreVal'),[])),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should look up the table version if the given version is 0 and no version is stored'),','('/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),0),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(C),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[])),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(7)),D,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),E,'/bootstrap#number',7),'/impred#impred'),F,'/nodalion#voidType'),[])))),'/impred#true'),'/util#assertEqual'(E,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,G),!('Axiom')),'.'('builtin#varName'(::(B,H),!('RowVersion')),'.'('builtin#varName'(::(E,I),!('Row')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#checkMasterVersion'(A,B),'/impred#impred'),!('should look up the table version if the given version is 0 and no version is stored'),','('/impred#simulate'('/cloudlog#checkMasterVersion'('example#someFact'(1,2),0),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(C),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[])),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localSet'(!('example#someFact:ver'),'/cloudlog#num'(7)),D,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),E,'/bootstrap#number',7),'/impred#impred'),F,'/nodalion#voidType'),[])))),'/impred#true'),'/util#assertEqual'(E,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/checkMasterVersion.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#checkMasterVersion'(A,B),'/impred#conj'('/impred#pred'('/cloudlog#tableName'(A,C)),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(':ver'))),'/bootstrap#string',D)),'/impred#conj'('/impred#task'('/impred#localGet'(D),'/cloudlog#num'(E),'/impred#localStoreVal'),'/impred#if'('/impred#pred'(','(\+('builtin#var'(::(E,'/bootstrap#number'))),>(E,B))),'/impred#conj'('/impred#pred'('/cloudlog#axiomFamily'(A,F,::(G,H))),'/nodalion#enqueueJob'('/cloudlog#updateMaster'(C,G,H,E))),'/impred#if'('/impred#pred'(=(::(B,'/bootstrap#number'),::(0,'/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),C,'.'('/nodalion#get'(!(master),'/cloudlog#version'),[])),I,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(I,J)),'/impred#conj'('/impred#task'('/impred#localSet'(D,'/cloudlog#num'(J)),K,'/impred#localStoreVal'),'/impred#conj'('/impred#pred'('/cloudlog#axiomFamily'(A,L,::(G,H))),'/nodalion#enqueueJob'('/cloudlog#updateMaster'(C,G,H,J)))))),'/impred#task'('/impred#localSet'(D,'/cloudlog#num'(B)),M,'/impred#localStoreVal')))))))),'.'('builtin#varName'(::(A,N),!('Axiom')),'.'('builtin#varName'(::(B,O),!('RowVersion')),'.'('builtin#varName'(::(C,P),!('Table')),'.'('builtin#varName'(::(D,Q),!('Key')),'.'('builtin#varName'(::(E,R),!('StoredVersion')),'.'('builtin#varName'(::(G,S),!('Row')),'.'('builtin#varName'(::(H,T),!('T')),'.'('builtin#varName'(::(I,U),!('VersionResult')),'.'('builtin#varName'(::(J,V),!('TableVersion')),[])))))))))),'builtin#true'). '/impred#clause'('/cloudlog#checkMasterVersion'(A,B),'/impred#conj'('/impred#pred'('/cloudlog#tableName'(A,C)),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(':ver'))),'/bootstrap#string',D)),'/impred#conj'('/impred#task'('/impred#localGet'(D),'/cloudlog#num'(E),'/impred#localStoreVal'),'/impred#if'('/impred#pred'(','(\+('builtin#var'(::(E,'/bootstrap#number'))),>(E,B))),'/impred#conj'('/impred#pred'('/cloudlog#axiomFamily'(A,F,::(G,H))),'/nodalion#enqueueJob'('/cloudlog#updateMaster'(C,G,H,E))),'/impred#if'('/impred#pred'(=(::(B,'/bootstrap#number'),::(0,'/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),C,'.'('/nodalion#get'(!(master),'/cloudlog#version'),[])),I,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(I,J)),'/impred#conj'('/impred#task'('/impred#localSet'(D,'/cloudlog#num'(J)),K,'/impred#localStoreVal'),'/impred#conj'('/impred#pred'('/cloudlog#axiomFamily'(A,L,::(G,H))),'/nodalion#enqueueJob'('/cloudlog#updateMaster'(C,G,H,J)))))),'/impred#task'('/impred#localSet'(D,'/cloudlog#num'(B)),M,'/impred#localStoreVal'))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbFind.ced'),'/bootstrap#signature'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Axiom')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbFind.ced'),'/util#behavior'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),!('should query the database for all counters in the corresponding row and family'),','('/impred#simulate'('/cloudlog#dbFind'('example#someFact'(1,C),B),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),D,'.'('/nodalion#getAllCounters'(E),[])),F,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',G))),[]),'/impred#true'),','('/util#assertEqual'(E,!(facts),'/bootstrap#string'),'/util#assertEqual'(D,1,'/bootstrap#number')))),'.'('builtin#varName'(::(A,H),!('Axiom')),'.'('builtin#varName'(::(B,I),!('Value')),'.'('builtin#varName'(::(C,J),!('X')),'.'('builtin#varName'(::(D,K),!('Row')),'.'('builtin#varName'(::(E,L),!('Family')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),!('should query the database for all counters in the corresponding row and family'),','('/impred#simulate'('/cloudlog#dbFind'('example#someFact'(1,C),B),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),D,'.'('/nodalion#getAllCounters'(E),[])),F,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',G))),[]),'/impred#true'),','('/util#assertEqual'(E,!(facts),'/bootstrap#string'),'/util#assertEqual'(D,1,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbFind.ced'),'/bootstrap#signature'(::('/cloudlog#firstArgumentNotGround'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#typedTerm'),[])),'.'('builtin#varName'(::(A,B),!('Arg')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#firstArgumentNotGround'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#typedTerm'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbFind.ced'),'/impred#clause'('/cloudlog#dbFind'(A,B),'/impred#conj'('/impred#pred'(','('/cloudlog#tableName'(A,C),'/cloudlog#axiomFamily'(A,D,::(E,F)))),'/impred#if'('/impred#pred'('builtin#ground'(::(E,F))),'/impred#conj'('/impred#task'('/nodalion#trans'(C,E,'.'('/nodalion#getAllCounters'(D),[])),G,'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',H))),'/impred#pred'('/bootstrap#listMember'('/nodalion#counterValue'(D,A,B),'/nodalion#databaseValue'(F,'/cloudlog#axiom',H),G))),'/impred#pred'('builtin#throw'('/cloudlog#firstArgumentNotGround'(::(E,F))))))),'.'('builtin#varName'(::(A,I),!('Axiom')),'.'('builtin#varName'(::(B,J),!('Value')),'.'('builtin#varName'(::(C,K),!('Table')),'.'('builtin#varName'(::(D,L),!('Family')),'.'('builtin#varName'(::(E,M),!('Key')),'.'('builtin#varName'(::(F,N),!('T')),'.'('builtin#varName'(::(G,O),!('DBVals')),'.'('builtin#varName'(::(H,P),!('ValType')),[]))))))))),'builtin#true'). '/impred#clause'('/cloudlog#dbFind'(A,B),'/impred#conj'('/impred#pred'(','('/cloudlog#tableName'(A,C),'/cloudlog#axiomFamily'(A,D,::(E,F)))),'/impred#if'('/impred#pred'('builtin#ground'(::(E,F))),'/impred#conj'('/impred#task'('/nodalion#trans'(C,E,'.'('/nodalion#getAllCounters'(D),[])),G,'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',H))),'/impred#pred'('/bootstrap#listMember'('/nodalion#counterValue'(D,A,B),'/nodalion#databaseValue'(F,'/cloudlog#axiom',H),G))),'/impred#pred'('builtin#throw'('/cloudlog#firstArgumentNotGround'(::(E,F))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbFind.ced'),'/util#behavior'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),!('should succeed for all matches for Axiom in the database'),','('builtin#findall'(C,'/bootstrap#number','annotation#parentheses'('/impred#simulate'('/impred#with'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#getAllCounters'(!(facts)),[])),'annotation#changeMode'('.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,3),2),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,7),4),[])),'/bootstrap#vert'),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',D)),'/cloudlog#dbFind'('example#someFact'(1,C),B)),[],'/impred#true')),E),'/util#assertEqual'(E,'.'(3,'.'(7,[])),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('Value')),'.'('builtin#varName'(::(C,H),!('X')),'.'('builtin#varName'(::(E,I),!('Values')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbFind'(A,B),'/impred#impred'),!('should succeed for all matches for Axiom in the database'),','('builtin#findall'(C,'/bootstrap#number','/impred#simulate'('/impred#with'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#getAllCounters'(!(facts)),[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,3),2),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,7),4),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',D)),'/cloudlog#dbFind'('example#someFact'(1,C),B)),[],'/impred#true'),E),'/util#assertEqual'(E,'.'(3,'.'(7,[])),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#defAtom'(::('/cloudlog#addition','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#addition','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#signature'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',D))),[]))),'.'('builtin#varName'(::(A,E),!('Trans')),'.'('builtin#varName'(::(B,F),!('Matches')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',D))),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#signature'(::('/cloudlog#addition'(A,B),'/cloudlog#addition'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Axiom')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#addition'(A,B),'/cloudlog#addition'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#projection'(::('/cloudlog#addition'(A,B),'/cloudlog#addition'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))),'.'('builtin#varName'(::(A,C),!('Axiom')),'.'('builtin#varName'(::(B,D),!('Value')),[]))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#addition'(A,B),'/cloudlog#addition'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),'.'('/bootstrap#label'(!(+=)),'.'('/bootstrap#vis'(::(B,'/bootstrap#number')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should perform Trans as a single row transaction'),'/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(1,3),-1),[])),C),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,4),1),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,3),-1),[]))))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',D))),[]),'/impred#true')),'.'('builtin#varName'(::(A,E),!('Trans')),'.'('builtin#varName'(::(B,F),!('Matches')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should perform Trans as a single row transaction'),'/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(1,3),-1),[])),C),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,4),1),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,3),-1),[]))))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',D))),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#signature'(::('/cloudlog#inconsistentTransaction'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#inconsistentTransaction'(A),'/bootstrap#exception'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#projection'(::('/cloudlog#inconsistentTransaction'(A),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('inconsistent transaction:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#list'('/cloudlog#addition'))),[])))),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#inconsistentTransaction'(A),'/bootstrap#exception'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('inconsistent transaction:')),'.'('/bootstrap#vis'(::(A,'/bootstrap#list'('/cloudlog#addition'))),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#defAtom'(::('/cloudlog#emptyTransaction','/bootstrap#exception')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#emptyTransaction','/bootstrap#exception')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/impred#clause'('/cloudlog#dbTrans'(A,B),'/impred#if'('/impred#pred'('/cloudlog#transOps'(A,C,::(D,E),F,G,H,[])),'/impred#if'('/impred#pred'('builtin#var'(::(C,'/bootstrap#string'))),'/impred#pred'('builtin#throw'('/cloudlog#emptyTransaction')),'/impred#conj'('/impred#task'('/nodalion#trans'(C,D,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(F),G))),B,'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom',I))),'/cloudlog#cleanupRow'(C,D,E,B))),'/impred#pred'('builtin#throw'('/cloudlog#inconsistentTransaction'(A))))),'.'('builtin#varName'(::(A,J),!('Trans')),'.'('builtin#varName'(::(B,K),!('Matches')),'.'('builtin#varName'(::(C,L),!('Table')),'.'('builtin#varName'(::(D,M),!('Row')),'.'('builtin#varName'(::(E,N),!('T')),'.'('builtin#varName'(::(F,O),!('MatchFamily')),'.'('builtin#varName'(::(G,P),!('Ops')),[])))))))),'builtin#true'). '/impred#clause'('/cloudlog#dbTrans'(A,B),'/impred#if'('/impred#pred'('/cloudlog#transOps'(A,C,::(D,E),F,G,H,[])),'/impred#if'('/impred#pred'('builtin#var'(::(C,'/bootstrap#string'))),'/impred#pred'('builtin#throw'('/cloudlog#emptyTransaction')),'/impred#conj'('/impred#task'('/nodalion#trans'(C,D,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(F),G))),B,'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom',I))),'/cloudlog#cleanupRow'(C,D,E,B))),'/impred#pred'('builtin#throw'('/cloudlog#inconsistentTransaction'(A))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should return all members of the matching family'),','('/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(1,3),-1),[])),B),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,C),'annotation#changeMode'('.'('/nodalion#value'(!(master),'/cloudlog#version','.'(!(foo),[])),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,2)),1),[])),'/bootstrap#vert'),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#string'))),[]),'/impred#true'),'/util#assertEqual'(B,'annotation#changeMode'('.'('/nodalion#value'(!(master),'/cloudlog#version','.'(!(foo),[])),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,2)),1),[])),'/bootstrap#vert'),'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom','/bootstrap#string'))))),'.'('builtin#varName'(::(A,F),!('Trans')),'.'('builtin#varName'(::(B,G),!('Matches')),'.'('builtin#varName'(::(D,H),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should return all members of the matching family'),','('/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,4),1),'.'('/cloudlog#addition'('example#someFact'(1,3),-1),[])),B),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,C),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(!(foo),[])),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,2)),1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#string'))),[]),'/impred#true'),'/util#assertEqual'(B,'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(!(foo),[])),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,D),'builtin#true','example#someFact'(D,2)),1),[])),'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom','/bootstrap#string'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should enqueue a database transaction to cleanup zero-valued counters'),'/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,2),-1),[]),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),0),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,2),-1),[])))),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),0),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',C))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#deleteCounter'(!(facts),'example#someFact'(1,2)),'.'('/nodalion#checkCounter'(!(facts),'example#someFact'(1,2),0),[]))),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',E))),'/impred#impred'),F,'/nodalion#voidType'),[])),G)),'.'('builtin#varName'(::(A,H),!('Trans')),'.'('builtin#varName'(::(B,I),!('Matches')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#dbTrans'(A,B),'/impred#impred'),!('should enqueue a database transaction to cleanup zero-valued counters'),'/impred#simulate'('/cloudlog#dbTrans'('.'('/cloudlog#addition'('example#someFact'(1,2),-1),[]),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),0),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,2),-1),[])))),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),0),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',C))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#deleteCounter'(!(facts),'example#someFact'(1,2)),'.'('/nodalion#checkCounter'(!(facts),'example#someFact'(1,2),0),[]))),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',E))),'/impred#impred'),F,'/nodalion#voidType'),[])),G)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#signature'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',H))),'.'(::(F,'/bootstrap#list'('/cloudlog#addition')),'.'(::(G,'/bootstrap#list'('/cloudlog#addition')),[])))))))),'.'('builtin#varName'(::(A,I),!('Additions')),'.'('builtin#varName'(::(B,J),!('Table')),'.'('builtin#varName'(::(C,K),!('TRow')),'.'('builtin#varName'(::(D,L),!('MatchFamily')),'.'('builtin#varName'(::(E,M),!('Ops')),'.'('builtin#varName'(::(F,N),!('TakenAdditions')),'.'('builtin#varName'(::(G,O),!('RejAdditions')),[])))))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#typedTerm'),'.'(::(D,'/bootstrap#string'),'.'(::(E,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',H))),'.'(::(F,'/bootstrap#list'('/cloudlog#addition')),'.'(::(G,'/bootstrap#list'('/cloudlog#addition')),[])))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/util#behavior'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),!('should unify TakenAdditions with all additions in agreement with the first addition on Table/TRow and MatchFamily'),','('/cloudlog#transOps'('.'('/cloudlog#addition'('example#someFact'(1,H),1),'.'('/cloudlog#addition'('example#someFact'(2,H),1),[])),I,::(J,K),L,M,F,N),'/util#assertEqual'(F,'.'('/cloudlog#addition'('example#someFact'(1,H),1),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,O),!('Additions')),'.'('builtin#varName'(::(B,P),!('Table')),'.'('builtin#varName'(::(C,Q),!('TRow')),'.'('builtin#varName'(::(D,R),!('MatchFamily')),'.'('builtin#varName'(::(E,S),!('Ops')),'.'('builtin#varName'(::(F,T),!('TakenAdditions')),'.'('builtin#varName'(::(G,U),!('RejAdditions')),'.'('builtin#varName'(::(H,V),!('X')),[]))))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),!('should unify TakenAdditions with all additions in agreement with the first addition on Table/TRow and MatchFamily'),','('/cloudlog#transOps'('.'('/cloudlog#addition'('example#someFact'(1,H),1),'.'('/cloudlog#addition'('example#someFact'(2,H),1),[])),I,::(J,K),L,M,F,N),'/util#assertEqual'(F,'.'('/cloudlog#addition'('example#someFact'(1,H),1),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/util#behavior'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),!('should unify RejAdditions with all additions not in agreement with the first addition on Table/TRow and MatchFamily'),','('/cloudlog#transOps'('.'('/cloudlog#addition'('example#someFact'(1,H),1),'.'('/cloudlog#addition'('example#someFact'(2,H),1),[])),I,::(J,K),L,M,N,G),'/util#assertEqual'(G,'.'('/cloudlog#addition'('example#someFact'(2,H),1),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,O),!('Additions')),'.'('builtin#varName'(::(B,P),!('Table')),'.'('builtin#varName'(::(C,Q),!('TRow')),'.'('builtin#varName'(::(D,R),!('MatchFamily')),'.'('builtin#varName'(::(E,S),!('Ops')),'.'('builtin#varName'(::(F,T),!('TakenAdditions')),'.'('builtin#varName'(::(G,U),!('RejAdditions')),'.'('builtin#varName'(::(H,V),!('X')),[]))))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#transOps'(A,B,C,D,E,F,G),'/bootstrap#pred'),!('should unify RejAdditions with all additions not in agreement with the first addition on Table/TRow and MatchFamily'),','('/cloudlog#transOps'('.'('/cloudlog#addition'('example#someFact'(1,H),1),'.'('/cloudlog#addition'('example#someFact'(2,H),1),[])),I,::(J,K),L,M,N,G),'/util#assertEqual'(G,'.'('/cloudlog#addition'('example#someFact'(2,H),1),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),:-('/cloudlog#transOps'([],A,B,C,[],[],[]),'builtin#true'),[]),'builtin#true'). :-('/cloudlog#transOps'([],A,B,C,[],[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'annotation#shrink'(:-('/cloudlog#transOps'('.'('/cloudlog#addition'(A,B),C),D,::(E,F),G,H,I,J),','('builtin#if'('annotation#parentheses'(','('/cloudlog#tableName'(A,D),','('/cloudlog#axiomFamily'(A,K,::(L,F)),','('builtin#ground'(::(L,F)),','(=(::(E,F),::(L,F)),'/cloudlog#match'(A,M,G)))))),','(=(::(I,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),N),'/bootstrap#list'('/cloudlog#addition'))),','(=(::(H,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O))),::('.'('/nodalion#addToCounter'(K,A,B),P),'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O)))),=(::(J,'/bootstrap#list'('/cloudlog#addition')),::(Q,'/bootstrap#list'('/cloudlog#addition'))))),','(=(::(I,'/bootstrap#list'('/cloudlog#addition')),::(N,'/bootstrap#list'('/cloudlog#addition'))),','(=(::(H,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O))),::(P,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O)))),=(::(J,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),Q),'/bootstrap#list'('/cloudlog#addition')))))),'/cloudlog#transOps'(C,D,::(E,F),G,P,N,Q)))),'.'('builtin#varName'(::(A,R),!('Axiom')),'.'('builtin#varName'(::(B,S),!('Value')),'.'('builtin#varName'(::(C,T),!('Trans')),'.'('builtin#varName'(::(D,U),!('Table')),'.'('builtin#varName'(::(E,V),!('Row')),'.'('builtin#varName'(::(F,W),!('T')),'.'('builtin#varName'(::(G,X),!('MatchFamily')),'.'('builtin#varName'(::(H,Y),!('Ops')),'.'('builtin#varName'(::(I,Z),!('TakenAdditions')),'.'('builtin#varName'(::(J,A1),!('RejAdditions')),'.'('builtin#varName'(::(K,B1),!('Family')),'.'('builtin#varName'(::(L,C1),!('RowPrime')),'.'('builtin#varName'(::(N,D1),!('TakenAdditionsPrime')),'.'('builtin#varName'(::(O,E1),!('Tau')),'.'('builtin#varName'(::(P,F1),!('OpsPrime')),'.'('builtin#varName'(::(Q,G1),!('RejAdditionsPrime')),[]))))))))))))))))),'builtin#true'). :-('/cloudlog#transOps'('.'('/cloudlog#addition'(A,B),C),D,::(E,F),G,H,I,J),','('builtin#if'(','('/cloudlog#tableName'(A,D),','('/cloudlog#axiomFamily'(A,K,::(L,F)),','('builtin#ground'(::(L,F)),','(=(::(E,F),::(L,F)),'/cloudlog#match'(A,M,G))))),','(=(::(I,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),N),'/bootstrap#list'('/cloudlog#addition'))),','(=(::(H,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O))),::('.'('/nodalion#addToCounter'(K,A,B),P),'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O)))),=(::(J,'/bootstrap#list'('/cloudlog#addition')),::(Q,'/bootstrap#list'('/cloudlog#addition'))))),','(=(::(I,'/bootstrap#list'('/cloudlog#addition')),::(N,'/bootstrap#list'('/cloudlog#addition'))),','(=(::(H,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O))),::(P,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',O)))),=(::(J,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),Q),'/bootstrap#list'('/cloudlog#addition')))))),'/cloudlog#transOps'(C,D,::(E,F),G,P,N,Q))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'/bootstrap#signature'(::('/cloudlog#cleanupRow'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',E))),[]))))),'.'('builtin#varName'(::(A,F),!('Table')),'.'('builtin#varName'(::(B,G),!('Row')),'.'('builtin#varName'(::(C,H),!('T')),'.'('builtin#varName'(::(D,I),!('Matches')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#cleanupRow'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',E))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/dbTrans.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#cleanupRow'(A,B,C,D),'/impred#conj'('/impred#pred'(','('builtin#findall'('/nodalion#deleteCounter'(E,F),'/nodalion#databaseOp'('/cloudlog#axiom',G),'/bootstrap#listMember'('/nodalion#counterValue'(E,F,0),'/nodalion#databaseValue'(C,'/cloudlog#axiom',H),D),I),','('builtin#findall'('/nodalion#checkCounter'(E,F,0),'/nodalion#databaseOp'('/cloudlog#axiom',G),'/bootstrap#listMember'('/nodalion#counterValue'(E,F,0),'/nodalion#databaseValue'(C,'/cloudlog#axiom',H),D),J),'/bootstrap#append'(I,J,K,'/nodalion#databaseOp'('/cloudlog#axiom',G))))),'/impred#if'('/impred#pred'(=(::(K,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',G))),::('.'(L,M),'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',N))))),'/nodalion#enqueueJob'('/impred#task'('/nodalion#trans'(A,B,K),O,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',G)))),'/impred#true')))),'.'('builtin#varName'(::(A,P),!('Table')),'.'('builtin#varName'(::(B,Q),!('Row')),'.'('builtin#varName'(::(C,R),!('T')),'.'('builtin#varName'(::(D,S),!('Matches')),'.'('builtin#varName'(::(E,T),!('Family')),'.'('builtin#varName'(::(F,U),!('Key')),'.'('builtin#varName'(::(G,V),!('T1')),'.'('builtin#varName'(::(H,W),!('T2')),'.'('builtin#varName'(::(I,X),!('Deletions')),'.'('builtin#varName'(::(J,Y),!('Guards')),'.'('builtin#varName'(::(K,Z),!('Ops')),[])))))))))))),'builtin#true'). '/impred#clause'('/cloudlog#cleanupRow'(A,B,C,D),'/impred#conj'('/impred#pred'(','('builtin#findall'('/nodalion#deleteCounter'(E,F),'/nodalion#databaseOp'('/cloudlog#axiom',G),'/bootstrap#listMember'('/nodalion#counterValue'(E,F,0),'/nodalion#databaseValue'(C,'/cloudlog#axiom',H),D),I),','('builtin#findall'('/nodalion#checkCounter'(E,F,0),'/nodalion#databaseOp'('/cloudlog#axiom',G),'/bootstrap#listMember'('/nodalion#counterValue'(E,F,0),'/nodalion#databaseValue'(C,'/cloudlog#axiom',H),D),J),'/bootstrap#append'(I,J,K,'/nodalion#databaseOp'('/cloudlog#axiom',G))))),'/impred#if'('/impred#pred'(=(::(K,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',G))),::('.'(L,M),'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom',N))))),'/nodalion#enqueueJob'('/impred#task'('/nodalion#trans'(A,B,K),O,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom',G)))),'/impred#true'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/executeLocal.ced'),'/bootstrap#signature'(::('/cloudlog#executeLocal'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Goal')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#executeLocal'(A),'/bootstrap#pred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/executeLocal.ced'),:-('/cloudlog#executeLocal'(A),'builtin#catch'(','('builtin#timeout'('builtin#findall'(A,'/bootstrap#pred',A,B),90),'/bootstrap#listMember'(A,'/bootstrap#pred',B)),'builtin#timeout','builtin#fail')),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Goals')),[]))),'builtin#true'). :-('/cloudlog#executeLocal'(A),'builtin#catch'(','('builtin#timeout'('builtin#findall'(A,'/bootstrap#pred',A,B),90),'/bootstrap#listMember'(A,'/bootstrap#pred',B)),'builtin#timeout','builtin#fail')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/executeLocal.ced'),'/util#behavior'(::('/cloudlog#executeLocal'(A),'/bootstrap#pred'),!('should succeed for each success of Goal'),'builtin#findall'(B,'/bootstrap#number','/cloudlog#executeLocal'('/bootstrap#listMember'(B,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'(1,'.'(2,'.'(3,[]))))),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('X')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#executeLocal'(A),'/bootstrap#pred'),!('should succeed for each success of Goal'),'builtin#findall'(B,'/bootstrap#number','/cloudlog#executeLocal'('/bootstrap#listMember'(B,'/bootstrap#number','.'(1,'.'(2,'.'(3,[]))))),'.'(1,'.'(2,'.'(3,[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/bootstrap#signature'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom',F))),[]))))),'.'('builtin#varName'(::(A,G),!('Table')),'.'('builtin#varName'(::(B,H),!('Family')),'.'('builtin#varName'(::(C,I),!('Version')),'.'('builtin#varName'(::(D,J),!('MasterRules')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#number'),'.'(::(D,'/bootstrap#list'('/nodalion#databaseValue'(E,'/cloudlog#axiom',F))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should retrieve an empty list if the master version is 0'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),0,E),[],'/impred#true'),'/util#assertEqual'(E,[],'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',G))))),'.'('builtin#varName'(::(A,H),!('Table')),'.'('builtin#varName'(::(B,I),!('Family')),'.'('builtin#varName'(::(C,J),!('Version')),'.'('builtin#varName'(::(D,K),!('MasterRules')),'.'('builtin#varName'(::(E,L),!('Empty')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should retrieve an empty list if the master version is 0'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),0,E),[],'/impred#true'),'/util#assertEqual'(E,[],'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',G))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should fetch the rules from local storage'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),7,E),'.'('/impred#task'('/impred#localGet'(!('foo:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,G),'builtin#true','example#someFact'(G,F)),1),[])),'/impred#localStoreVal'),[]),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,G),'builtin#true','example#someFact'(G,F)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(H,'/cloudlog#axiom',I))))),'.'('builtin#varName'(::(A,J),!('Table')),'.'('builtin#varName'(::(B,K),!('Family')),'.'('builtin#varName'(::(C,L),!('Version')),'.'('builtin#varName'(::(D,M),!('MasterRules')),'.'('builtin#varName'(::(E,N),!('Rules')),'.'('builtin#varName'(::(F,O),!('X')),'.'('builtin#varName'(::(G,P),!('Y')),[])))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should fetch the rules from local storage'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),7,E),'.'('/impred#task'('/impred#localGet'(!('foo:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,G),'builtin#true','example#someFact'(G,F)),1),[])),'/impred#localStoreVal'),[]),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,G),'builtin#true','example#someFact'(G,F)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(H,'/cloudlog#axiom',I))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should go to the database if rules are not in local storage'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',I))),'.'('/impred#task'('/impred#localSet'(!('foo:9:rules'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),[]))),J,'/impred#localStoreVal'),[]))),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(K,'/cloudlog#axiom',L))))),'.'('builtin#varName'(::(A,M),!('Table')),'.'('builtin#varName'(::(B,N),!('Family')),'.'('builtin#varName'(::(C,O),!('Version')),'.'('builtin#varName'(::(D,P),!('MasterRules')),'.'('builtin#varName'(::(E,Q),!('Rules')),'.'('builtin#varName'(::(G,R),!('X')),'.'('builtin#varName'(::(H,S),!('Y')),[])))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should go to the database if rules are not in local storage'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',I))),'.'('/impred#task'('/impred#localSet'(!('foo:9:rules'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),[]))),J,'/impred#localStoreVal'),[]))),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(G,H),'builtin#true','example#someFact'(H,G)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(K,'/cloudlog#axiom',L))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should retrieve facts if was so asked'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(facts),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:facts')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',G))),'.'('/impred#task'('/impred#localSet'(!('foo:9:facts'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),[]))),H,'/impred#localStoreVal'),[]))),I),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',J))))),'.'('builtin#varName'(::(A,K),!('Table')),'.'('builtin#varName'(::(B,L),!('Family')),'.'('builtin#varName'(::(C,M),!('Version')),'.'('builtin#varName'(::(D,N),!('MasterRules')),'.'('builtin#varName'(::(E,O),!('Facts')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should retrieve facts if was so asked'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(facts),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:facts')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',G))),'.'('/impred#task'('/impred#localSet'(!('foo:9:facts'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),[]))),H,'/impred#localStoreVal'),[]))),I),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(facts),'example#someFact'(1,2),1),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',J))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should recheck if the master:exists counter is not present'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',G))),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),H,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',K))),'.'('/impred#task'('/impred#localSet'(!('foo:9:rules'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),[]))),L,'/impred#localStoreVal'),[]))))),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(M,'/cloudlog#axiom',N))))),'.'('builtin#varName'(::(A,O),!('Table')),'.'('builtin#varName'(::(B,P),!('Family')),'.'('builtin#varName'(::(C,Q),!('Version')),'.'('builtin#varName'(::(D,R),!('MasterRules')),'.'('builtin#varName'(::(E,S),!('Rules')),'.'('builtin#varName'(::(I,T),!('X')),'.'('builtin#varName'(::(J,U),!('Y')),[])))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#impred'),!('should recheck if the master:exists counter is not present'),','('/impred#simulate'('/cloudlog#getMasterAxioms'(!(foo),!(rules),9,E),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),F,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',G))),'.'('/impred#task'('/impred#localGet'(!('foo:9:rules')),H,'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('foo:9'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#getAllCounters'(!(master)),[]))),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),'.'('/nodalion#counterValue'(!(master),'/cloudlog#exists',1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',K))),'.'('/impred#task'('/impred#localSet'(!('foo:9:rules'),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),[]))),L,'/impred#localStoreVal'),[]))))),'/impred#true'),'/util#assertEqual'(E,'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(I,J),'builtin#true','example#someFact'(J,I)),1),[]),'/bootstrap#list'('/nodalion#databaseValue'(M,'/cloudlog#axiom',N))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/getMasterRules.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#if'('/impred#pred'('builtin#equals'(::(C,'/bootstrap#number'),::(0,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),::([],'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',G))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#applyBinOp'('/Functional#num2str'('/Functional#const'(C)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#const'(B))))),'/bootstrap#string',H)),'/impred#conj'('/impred#task'('/impred#localGet'(H),'/cloudlog#masterRules'(D),'/impred#localStoreVal'),'/impred#if'('/impred#pred'('builtin#var'(::(D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#num2str'('/Functional#const'(C)))),'/bootstrap#string',I)),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),I,'.'('/nodalion#getAllCounters'(B),'.'('/nodalion#getAllCounters'(!(master)),[]))),J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),'/impred#if'('/impred#pred'(=(::(J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),::([],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))))),'/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#conj'('/impred#pred'('builtin#findall'('/nodalion#counterValue'(B,K,L),'/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E),'/bootstrap#listMember'('/nodalion#counterValue'(B,K,L),'/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E),J),D)),'/impred#task'('/impred#localSet'(H,'/cloudlog#masterRules'(D)),M,'/impred#localStoreVal'))))),'/impred#true')))))),'.'('builtin#varName'(::(A,N),!('Table')),'.'('builtin#varName'(::(B,O),!('Family')),'.'('builtin#varName'(::(C,P),!('Version')),'.'('builtin#varName'(::(D,Q),!('Rules')),'.'('builtin#varName'(::(E,R),!('T2')),'.'('builtin#varName'(::(H,S),!('Key')),'.'('builtin#varName'(::(I,T),!('RowKey')),'.'('builtin#varName'(::(J,U),!('RulesPrime')),'.'('builtin#varName'(::(K,V),!('Counter')),'.'('builtin#varName'(::(L,W),!('Value')),[]))))))))))),'builtin#true'). '/impred#clause'('/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#if'('/impred#pred'('builtin#equals'(::(C,'/bootstrap#number'),::(0,'/bootstrap#number'))),'/impred#pred'(=(::(D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),::([],'/bootstrap#list'('/nodalion#databaseValue'(F,'/cloudlog#axiom',G))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#applyBinOp'('/Functional#num2str'('/Functional#const'(C)),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#const'(B))))),'/bootstrap#string',H)),'/impred#conj'('/impred#task'('/impred#localGet'(H),'/cloudlog#masterRules'(D),'/impred#localStoreVal'),'/impred#if'('/impred#pred'('builtin#var'(::(D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))))),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#num2str'('/Functional#const'(C)))),'/bootstrap#string',I)),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),I,'.'('/nodalion#getAllCounters'(B),'.'('/nodalion#getAllCounters'(!(master)),[]))),J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),'/impred#if'('/impred#pred'(=(::(J,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))),::([],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E))))),'/cloudlog#getMasterAxioms'(A,B,C,D),'/impred#conj'('/impred#pred'('builtin#findall'('/nodalion#counterValue'(B,K,L),'/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E),'/bootstrap#listMember'('/nodalion#counterValue'(B,K,L),'/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom',E),J),D)),'/impred#task'('/impred#localSet'(H,'/cloudlog#masterRules'(D)),M,'/impred#localStoreVal'))))),'/impred#true'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/bootstrap#signature'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('CtxIn')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept a compound term as a fact'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, 2)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'example#someFact'(1,2),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept a compound term as a fact'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, 2)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'example#someFact'(1,2),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#prod'('/cloudlog#axiom'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/cloudlog#term'(::(A,'/cloudlog#axiom'),B,C)),'.'('builtin#varName'(::(A,D),!('Fact')),'.'('builtin#varName'(::(B,E),!('CtxIn')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#axiom'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/cloudlog#term'(::(A,'/cloudlog#axiom'),B,C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept guardless rules'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, X) -> someFact(X, 2)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#rule'('example#someFact'(1,E),'builtin#true','example#someFact'(E,2)),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('CtxOut')),'.'('builtin#varName'(::(E,I),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept guardless rules'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, X) -> someFact(X, 2)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#rule'('example#someFact'(1,E),'builtin#true','example#someFact'(E,2)),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#defSymbol'(!(->),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(->),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#prod'('/cloudlog#axiom'('/cloudlog#rule'(A,'builtin#true',B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#axiom'),C,E),'/parsing#terminal'('/parsing#symbol'(!(->)))),'/cloudlog#axiom'(B,E,D))),'.'('builtin#varName'(::(A,F),!('Fact')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('CtxIn')),'.'('builtin#varName'(::(D,I),!('CtxOut')),'.'('builtin#varName'(::(E,J),!('Ctx1')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#axiom'('/cloudlog#rule'(A,'builtin#true',B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#axiom'),C,E),'/parsing#terminal'('/parsing#symbol'(!(->)))),'/cloudlog#axiom'(B,E,D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept guarded rules'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, X) {builtin:succ(X, Y)} -> someFact(Y, 2)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#rule'('example#someFact'(1,E),'builtin#succ'(E,F),'example#someFact'(F,2)),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,G),!('Axiom')),'.'('builtin#varName'(::(B,H),!('CtxIn')),'.'('builtin#varName'(::(C,I),!('CtxOut')),'.'('builtin#varName'(::(E,J),!('X')),'.'('builtin#varName'(::(F,K),!('Y')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept guarded rules'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('someFact(1, X) {builtin:succ(X, Y)} -> someFact(Y, 2)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#rule'('example#someFact'(1,E),'builtin#succ'(E,F),'example#someFact'(F,2)),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#defSymbol'(!('{'),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!('{'),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#defSymbol'(!('}'),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!('}'),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'annotation#shrink'('/parsing#prod'('/cloudlog#axiom'('/cloudlog#rule'(A,B,C),D,E),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#follow'('/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#axiom'),D,F),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('{'))),'/cloudlog#localGoal'(B,F,G))),'/parsing#terminal'('/parsing#symbol'(!('}')))),'/parsing#terminal'('/parsing#symbol'(!(->)))),'/cloudlog#term'(::(C,'/cloudlog#axiom'),G,E)))),'.'('builtin#varName'(::(A,H),!('Fact')),'.'('builtin#varName'(::(B,I),!('Guard')),'.'('builtin#varName'(::(C,J),!('Axiom')),'.'('builtin#varName'(::(D,K),!('CtxIn')),'.'('builtin#varName'(::(E,L),!('CtxOut')),'.'('builtin#varName'(::(F,M),!('Ctx1')),'.'('builtin#varName'(::(G,N),!('Ctx2')),[])))))))),'builtin#true'). '/parsing#prod'('/cloudlog#axiom'('/cloudlog#rule'(A,B,C),D,E),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#follow'('/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#axiom'),D,F),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('{'))),'/cloudlog#localGoal'(B,F,G))),'/parsing#terminal'('/parsing#symbol'(!('}')))),'/parsing#terminal'('/parsing#symbol'(!(->)))),'/cloudlog#term'(::(C,'/cloudlog#axiom'),G,E))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept a clause'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('somePred([1, 2], X) :- !'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),E),'/cloudlog#true'),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,F),!('Axiom')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('CtxOut')),'.'('builtin#varName'(::(E,I),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#axiom'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept a clause'),','('/parsing#lexParseString'('/cloudlog#axiom'(A,'.'('/cloudlog#package'(!(example)),[]),D),!('somePred([1, 2], X) :- !'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),E),'/cloudlog#true'),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#defSymbol'(!(:-),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(:-),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-axiom.ced'),'/parsing#prod'('/cloudlog#axiom'('/cloudlog#clause'(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#pred'),C,E),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(:-))),'/cloudlog#goal'(B,E,D)))),'.'('builtin#varName'(::(A,F),!('Head')),'.'('builtin#varName'(::(B,G),!('Body')),'.'('builtin#varName'(::(C,H),!('Ctx1')),'.'('builtin#varName'(::(D,I),!('Ctx3')),'.'('builtin#varName'(::(E,J),!('Ctx2')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#axiom'('/cloudlog#clause'(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(A,'/cloudlog#pred'),C,E),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(:-))),'/cloudlog#goal'(B,E,D)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/bootstrap#signature'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))),'.'('builtin#varName'(::(A,C),!('Axioms')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an empty string'),','('/parsing#lexParseString'('/cloudlog#file'(C,[]),!(''),'/cloudlog#cloudlog'),'/util#assertEqual'(C,[],'/bootstrap#list'('/bootstrap#typedTerm')))),'.'('builtin#varName'(::(A,D),!('Terms')),'.'('builtin#varName'(::(B,E),!('Ctx')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an empty string'),','('/parsing#lexParseString'('/cloudlog#file'(C,[]),!(''),'/cloudlog#cloudlog'),'/util#assertEqual'(C,[],'/bootstrap#list'('/bootstrap#typedTerm')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/parsing#prod'('/cloudlog#file'([],A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'),[]),'builtin#true'). '/parsing#prod'('/cloudlog#file'([],A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an axiom followed by a period'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('foo(bar, 3):-!.'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/cloudlog#clause'('example#foo'('example#bar',3),'/cloudlog#true'),[]),'/bootstrap#list'('/cloudlog#axiom')))),'.'('builtin#varName'(::(A,D),!('Terms')),'.'('builtin#varName'(::(B,E),!('Ctx')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an axiom followed by a period'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('foo(bar, 3):-!.'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/cloudlog#clause'('example#foo'('example#bar',3),'/cloudlog#true'),[]),'/bootstrap#list'('/cloudlog#axiom')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse multiple axioms followed by periods'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('foo(bar, 3):-!. bar(foo, 2).'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/cloudlog#clause'('example#foo'('example#bar',3),'/cloudlog#true'),'.'('example#bar'('example#foo',2),[])),'/bootstrap#list'('/cloudlog#axiom')))),'.'('builtin#varName'(::(A,D),!('Terms')),'.'('builtin#varName'(::(B,E),!('Ctx')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse multiple axioms followed by periods'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('foo(bar, 3):-!. bar(foo, 2).'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/cloudlog#clause'('example#foo'('example#bar',3),'/cloudlog#true'),'.'('example#bar'('example#foo',2),[])),'/bootstrap#list'('/cloudlog#axiom')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/parsing#defSymbol'(!('.'),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!('.'),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/parsing#prod'('/cloudlog#file'('.'(A,B),C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#axiom'(A,C,D),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('.'))),'/cloudlog#file'(B,C)))),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('Axioms')),'.'('builtin#varName'(::(C,G),!('Ctx')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#file'('.'(A,B),C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#axiom'(A,C,D),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('.'))),'/cloudlog#file'(B,C)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse imports'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('import "/bar" as bar. bar:foo.'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/bar#foo',[]),'/bootstrap#list'('/cloudlog#axiom')))),'.'('builtin#varName'(::(A,D),!('Terms')),'.'('builtin#varName'(::(B,E),!('Ctx')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#file'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse imports'),','('/parsing#lexParseString'('/cloudlog#file'(C,'.'('/cloudlog#package'(!(example)),[])),!('import "/bar" as bar. bar:foo.'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(C,'.'('/bar#foo',[]),'/bootstrap#list'('/cloudlog#axiom')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-file.ced'),'/parsing#prod'('/cloudlog#file'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(!(import))),'/parsing#follow'('/parsing#terminal'('/cloudlog#string'(C)),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(!(as))),'/parsing#follow'('/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(D)),'/parsing#terminal'('/parsing#symbol'(!('.')))),'/cloudlog#file'(A,'.'('/cloudlog#import'(D,C),B))))))),'.'('builtin#varName'(::(A,E),!('List')),'.'('builtin#varName'(::(B,F),!('Ctx')),'.'('builtin#varName'(::(C,G),!('Import')),'.'('builtin#varName'(::(D,H),!('Alias')),[]))))),'builtin#true'). '/parsing#prod'('/cloudlog#file'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(!(import))),'/parsing#follow'('/parsing#terminal'('/cloudlog#string'(C)),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(!(as))),'/parsing#follow'('/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(D)),'/parsing#terminal'('/parsing#symbol'(!('.')))),'/cloudlog#file'(A,'.'('/cloudlog#import'(D,C),B))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/bootstrap#signature'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a compound term'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!('example:somePred([1, 2], 3)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'example#somePred'('.'(1,'.'(2,[])),3),'/cloudlog#pred'))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a compound term'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!('example:somePred([1, 2], 3)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'example#somePred'('.'(1,'.'(2,[])),3),'/cloudlog#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#prod'('/cloudlog#goal'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(D,'/cloudlog#pred'),B,E),'/cloudlog#goalSuffix'(D,A,E,C))),'.'('builtin#varName'(::(A,F),!('Goal')),'.'('builtin#varName'(::(B,G),!('Ctx1')),'.'('builtin#varName'(::(C,H),!('Ctx3')),'.'('builtin#varName'(::(D,I),!('Goal1')),'.'('builtin#varName'(::(E,J),!('Ctx2')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#goal'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(D,'/cloudlog#pred'),B,E),'/cloudlog#goalSuffix'(D,A,E,C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a conjunction'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!('example:somePred([1, 2], 3), example:somePred([4], 5)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'/cloudlog#conj'('example#somePred'('.'(1,'.'(2,[])),3),'example#somePred'('.'(4,[]),5)),'/cloudlog#pred'))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a conjunction'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!('example:somePred([1, 2], 3), example:somePred([4], 5)'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,'/cloudlog#conj'('example#somePred'('.'(1,'.'(2,[])),3),'example#somePred'('.'(4,[]),5)),'/cloudlog#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/bootstrap#signature'(::('/cloudlog#goalSuffix'(A,B,C,D),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),[]))))),'.'('builtin#varName'(::(A,E),!('Goal1')),'.'('builtin#varName'(::(B,F),!('Goal')),'.'('builtin#varName'(::(C,G),!('Ctx2')),'.'('builtin#varName'(::(D,H),!('Ctx3')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#goalSuffix'(A,B,C,D),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#prod'('/cloudlog#goalSuffix'(A,A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#goalSuffix'(A,A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#prod'('/cloudlog#goalSuffix'(A,'annotation#parentheses'('/cloudlog#conj'(A,B)),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#goal'(B,C,D))),'.'('builtin#varName'(::(A,E),!('Goal1')),'.'('builtin#varName'(::(B,F),!('Goal2')),'.'('builtin#varName'(::(C,G),!('Ctx1')),'.'('builtin#varName'(::(D,H),!('Ctx2')),[]))))),'builtin#true'). '/parsing#prod'('/cloudlog#goalSuffix'(A,'/cloudlog#conj'(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#goal'(B,C,D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse local goal references'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!(''),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#local'('builtin#succ'(1,D)),'/cloudlog#pred'))),'.'('builtin#varName'(::(A,E),!('Goal')),'.'('builtin#varName'(::(B,F),!('Ctx1')),'.'('builtin#varName'(::(C,G),!('Ctx2')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse local goal references'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!(''),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#local'('builtin#succ'(1,D)),'/cloudlog#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#defSymbol'(!(<),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(<),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#defSymbol'(!(>),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(>),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#prod'('/cloudlog#goal'('/cloudlog#local'(A),B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(<))),'/parsing#follow'('/cloudlog#localGoal'(A,B,C),'/parsing#terminal'('/parsing#symbol'(!(>)))))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#goal'('/cloudlog#local'(A),B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(<))),'/parsing#follow'('/cloudlog#localGoal'(A,B,C),'/parsing#terminal'('/parsing#symbol'(!(>)))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse !'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!(!),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#true','/cloudlog#pred'))),'.'('builtin#varName'(::(A,D),!('Goal')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#goal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse !'),','('/parsing#lexParseString'('/cloudlog#goal'(A,[],C),!(!),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'/cloudlog#true','/cloudlog#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#defSymbol'(!(!),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(!),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-goal.ced'),'/parsing#prod'('/cloudlog#goal'('/cloudlog#true',A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/parsing#symbol'(!(!)))),'.'('builtin#varName'(::(A,B),!('Ctx')),[])),'builtin#true'). '/parsing#prod'('/cloudlog#goal'('/cloudlog#true',A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/parsing#symbol'(!(!)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/bootstrap#signature'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('Guard')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/util#behavior'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a compound term'),','('/parsing#lexParseString'('/cloudlog#localGoal'(A,[],D),!('builtin:succ(1, X)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'builtin#succ'(1,E),'/bootstrap#pred'))),'.'('builtin#varName'(::(A,F),!('Goal')),'.'('builtin#varName'(::(B,G),!('Ctx1')),'.'('builtin#varName'(::(C,H),!('Ctx2')),'.'('builtin#varName'(::(D,I),!('Ctx')),'.'('builtin#varName'(::(E,J),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a compound term'),','('/parsing#lexParseString'('/cloudlog#localGoal'(A,[],D),!('builtin:succ(1, X)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,'builtin#succ'(1,E),'/bootstrap#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/bootstrap#signature'(::('/cloudlog#localGoalSuffix'(A,B,C,D),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,E),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),[]))))),'.'('builtin#varName'(::(A,F),!('Goal1')),'.'('builtin#varName'(::(B,G),!('Goal')),'.'('builtin#varName'(::(C,H),!('Ctx2')),'.'('builtin#varName'(::(D,I),!('Ctx3')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#localGoalSuffix'(A,B,C,D),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,E),'.'(::(B,'/bootstrap#pred'),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(D,'/bootstrap#list'('/cloudlog#ctxElem')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/parsing#prod'('/cloudlog#localGoal'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(D,'/bootstrap#pred'),B,E),'/cloudlog#localGoalSuffix'(D,A,E,C))),'.'('builtin#varName'(::(A,F),!('Goal')),'.'('builtin#varName'(::(B,G),!('Ctx1')),'.'('builtin#varName'(::(C,H),!('Ctx3')),'.'('builtin#varName'(::(D,I),!('Goal1')),'.'('builtin#varName'(::(E,J),!('Ctx2')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#localGoal'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(::(D,'/bootstrap#pred'),B,E),'/cloudlog#localGoalSuffix'(D,A,E,C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/util#behavior'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a conjunction'),','('/parsing#lexParseString'('/cloudlog#localGoal'(A,[],D),!('builtin:succ(1, X), builtin:succ(X, Y)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,','('builtin#succ'(1,E),'builtin#succ'(E,F)),'/bootstrap#pred'))),'.'('builtin#varName'(::(A,G),!('Goal')),'.'('builtin#varName'(::(B,H),!('Ctx1')),'.'('builtin#varName'(::(C,I),!('Ctx2')),'.'('builtin#varName'(::(D,J),!('Ctx')),'.'('builtin#varName'(::(E,K),!('X')),'.'('builtin#varName'(::(F,L),!('Y')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#localGoal'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a conjunction'),','('/parsing#lexParseString'('/cloudlog#localGoal'(A,[],D),!('builtin:succ(1, X), builtin:succ(X, Y)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,','('builtin#succ'(1,E),'builtin#succ'(E,F)),'/bootstrap#pred'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/parsing#prod'('/cloudlog#localGoalSuffix'(A,A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'),'.'('builtin#varName'(::(A,C),!('Goal')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#localGoalSuffix'(A,A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-localGoal.ced'),'/parsing#prod'('/cloudlog#localGoalSuffix'(A,'annotation#parentheses'(','(A,B)),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#localGoal'(B,C,D))),'.'('builtin#varName'(::(A,E),!('Goal1')),'.'('builtin#varName'(::(B,F),!('Goal2')),'.'('builtin#varName'(::(C,G),!('Ctx1')),'.'('builtin#varName'(::(D,H),!('Ctx2')),[]))))),'builtin#true'). '/parsing#prod'('/cloudlog#localGoalSuffix'(A,','(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#localGoal'(B,C,D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/bootstrap#signature'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/bootstrap#signature'(::('/cloudlog#package'(A),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Name')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#package'(A),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept simple names under the package namespace'),','('/parsing#lexParseString'('/cloudlog#qName'(A,'.'('/cloudlog#package'(!(foo)),[])),!(bar),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('foo#bar'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept simple names under the package namespace'),','('/parsing#lexParseString'('/cloudlog#qName'(A,'.'('/cloudlog#package'(!(foo)),[])),!(bar),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('foo#bar'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/parsing#prod'('/cloudlog#qName'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(C)),'/parsing#pred'(','('/bootstrap#listMember'('/cloudlog#package'(D),'/cloudlog#ctxElem',B),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(C)),'/bootstrap#string',A))))),'.'('builtin#varName'(::(A,E),!('QName')),'.'('builtin#varName'(::(B,F),!('Ctx')),'.'('builtin#varName'(::(C,G),!('Name')),'.'('builtin#varName'(::(D,H),!('Package')),[]))))),'builtin#true'). '/parsing#prod'('/cloudlog#qName'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(C)),'/parsing#pred'(','('/bootstrap#listMember'('/cloudlog#package'(D),'/cloudlog#ctxElem',B),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(C)),'/bootstrap#string',A))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept qualified names and use the qualifier as prefix if no import exists'),','('/parsing#lexParseString'('/cloudlog#qName'(A,[]),!('foo:bar'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('foo#bar'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept qualified names and use the qualifier as prefix if no import exists'),','('/parsing#lexParseString'('/cloudlog#qName'(A,[]),!('foo:bar'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('foo#bar'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/bootstrap#signature'(::('/cloudlog#import'(A,B),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Qual')),'.'('builtin#varName'(::(B,D),!('Prefix')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#import'(A,B),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept qualified names and use the import as the prefix, if exists'),','('/parsing#lexParseString'('/cloudlog#qName'(A,'.'('/cloudlog#import'(!(foo),!('/FOO')),[])),!('foo:bar'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('/FOO#bar'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#qName'(A,B),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept qualified names and use the import as the prefix, if exists'),','('/parsing#lexParseString'('/cloudlog#qName'(A,'.'('/cloudlog#import'(!(foo),!('/FOO')),[])),!('foo:bar'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,!('/FOO#bar'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'/parsing#defSymbol'(!(:),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(:),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-qname.ced'),'annotation#shrink'('/parsing#prod'('/cloudlog#qName'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(C)),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(:))),'/parsing#terminal'('/cloudlog#identifier'(D)))),'/parsing#pred'('builtin#if'('/bootstrap#listMember'('/cloudlog#import'(C,E),'/cloudlog#ctxElem',B),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(E),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(D)),'/bootstrap#string',A),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(D)),'/bootstrap#string',A)))))),'.'('builtin#varName'(::(A,F),!('QName')),'.'('builtin#varName'(::(B,G),!('Ctx')),'.'('builtin#varName'(::(C,H),!('Qual')),'.'('builtin#varName'(::(D,I),!('Name')),'.'('builtin#varName'(::(E,J),!('Prefix')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#qName'(A,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#terminal'('/cloudlog#identifier'(C)),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(:))),'/parsing#terminal'('/cloudlog#identifier'(D)))),'/parsing#pred'('builtin#if'('/bootstrap#listMember'('/cloudlog#import'(C,E),'/cloudlog#ctxElem',B),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(E),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(D)),'/bootstrap#string',A),'/Functional#eval'('/Functional#applyBinOp'('/Functional#applyBinOp'('/Functional#const'(C),'/Functional#concat','/Functional#const'(!(#))),'/Functional#concat','/Functional#const'(D)),'/bootstrap#string',A))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#defAtom'(::('/cloudlog#ctxElem','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#ctxElem','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('CtxIn')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept string literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('"foo"'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(!(foo),'/bootstrap#string'),'/bootstrap#typedTerm'))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept string literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('"foo"'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(!(foo),'/bootstrap#string'),'/bootstrap#typedTerm'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#string'),B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/cloudlog#string'(A))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#string'),B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/cloudlog#string'(A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept number literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('-2.3E-4'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(-0.00023,'/bootstrap#number'),'/bootstrap#typedTerm'))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept number literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('-2.3E-4'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(-0.00023,'/bootstrap#number'),'/bootstrap#typedTerm'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#number'),B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/cloudlog#number'(A))),'.'('builtin#varName'(::(A,C),!('Num')),'.'('builtin#varName'(::(B,D),!('Ctx')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#number'),B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#terminal'('/cloudlog#number'(A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept number literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('-2.3E-4'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(-0.00023,'/bootstrap#number'),'/bootstrap#typedTerm'))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept number literals'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('-2.3E-4'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(-0.00023,'/bootstrap#number'),'/bootstrap#typedTerm'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept atomic compound terms'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#package'(!(foo)),[]),D),!(bar),'/cloudlog#cloudlog'),','('builtin#parseTerm'(A,E,[]),'/util#assertEqual'(E,!('foo#bar'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('CtxOut')),'.'('builtin#varName'(::(D,I),!('Ctx')),'.'('builtin#varName'(::(E,J),!('Name')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept atomic compound terms'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#package'(!(foo)),[]),D),!(bar),'/cloudlog#cloudlog'),','('builtin#parseTerm'(A,E,[]),'/util#assertEqual'(E,!('foo#bar'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#term'(A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#qName'(C,B),'/parsing#pred'('builtin#parseTerm'(A,C,[])))),'.'('builtin#varName'(::(A,D),!('TTerm')),'.'('builtin#varName'(::(B,E),!('Ctx')),'.'('builtin#varName'(::(C,F),!('Name')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(A,B,B),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#qName'(C,B),'/parsing#pred'('builtin#parseTerm'(A,C,[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept compound terms'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('foo:bar(1, 2, 3)'),'/cloudlog#cloudlog'),','('builtin#parseTerm'(A,E,'.'(::(1,'/bootstrap#number'),'.'(::(2,'/bootstrap#number'),'.'(::(3,'/bootstrap#number'),[])))),'/util#assertEqual'(E,!('foo#bar'),'/bootstrap#string')))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('CtxOut')),'.'('builtin#varName'(::(D,I),!('Ctx')),'.'('builtin#varName'(::(E,J),!('Name')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept compound terms'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('foo:bar(1, 2, 3)'),'/cloudlog#cloudlog'),','('builtin#parseTerm'(A,E,'.'(::(1,'/bootstrap#number'),'.'(::(2,'/bootstrap#number'),'.'(::(3,'/bootstrap#number'),[])))),'/util#assertEqual'(E,!('foo#bar'),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#defSymbol'(!(','),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(','),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#defSymbol'(!('('),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!('('),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#defSymbol'(!(')'),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(')'),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#term'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#follow'('/parsing#follow'('/cloudlog#qName'(D,B),'/parsing#terminal'('/parsing#symbol'(!('(')))),'/cloudlog#termListNe'(E,B,C)),'/parsing#terminal'('/parsing#symbol'(!(')')))),'/parsing#pred'('builtin#parseTerm'(A,D,E)))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('CtxIn')),'.'('builtin#varName'(::(C,H),!('CtxOut')),'.'('builtin#varName'(::(D,I),!('Name')),'.'('builtin#varName'(::(E,J),!('TArgs')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#follow'('/parsing#follow'('/parsing#follow'('/cloudlog#qName'(D,B),'/parsing#terminal'('/parsing#symbol'(!('(')))),'/cloudlog#termListNe'(E,B,C)),'/parsing#terminal'('/parsing#symbol'(!(')')))),'/parsing#pred'('builtin#parseTerm'(A,D,E)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#termListNe'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('TArgs')),'.'('builtin#varName'(::(B,E),!('CtxIn')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#termListNe'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#termListNe'('.'(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(A,C,E),'/cloudlog#termListSuffix'(B,E,D))),'.'('builtin#varName'(::(A,F),!('TTerm')),'.'('builtin#varName'(::(B,G),!('TArgs')),'.'('builtin#varName'(::(C,H),!('CtxIn')),'.'('builtin#varName'(::(D,I),!('CtxOut')),'.'('builtin#varName'(::(E,J),!('CtxMid')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#termListNe'('.'(A,B),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/cloudlog#term'(A,C,E),'/cloudlog#termListSuffix'(B,E,D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#termListSuffix'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('TArgs')),'.'('builtin#varName'(::(B,E),!('CtxMid')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#termListSuffix'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#termListSuffix'([],A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'),'.'('builtin#varName'(::(A,B),!('Ctx')),[])),'builtin#true'). '/parsing#prod'('/cloudlog#termListSuffix'([],A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#termListSuffix'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#termListNe'(A,B,C))),'.'('builtin#varName'(::(A,D),!('List')),'.'('builtin#varName'(::(B,E),!('CtxIn')),'.'('builtin#varName'(::(C,F),!('CtxOut')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#termListSuffix'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(','))),'/cloudlog#termListNe'(A,B,C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept variables and add their names to the context'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('Foo'),'/cloudlog#cloudlog'),'/util#assertEqual'(D,'.'('/cloudlog#varName'(A,!('Foo')),[]),'/bootstrap#list'('/cloudlog#ctxElem')))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),'.'('builtin#varName'(::(D,H),!('Ctx')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should accept variables and add their names to the context'),','('/parsing#lexParseString'('/cloudlog#term'(A,[],D),!('Foo'),'/cloudlog#cloudlog'),'/util#assertEqual'(D,'.'('/cloudlog#varName'(A,!('Foo')),[]),'/bootstrap#list'('/cloudlog#ctxElem')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should bind variables on matching names'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#varName'(::(D,'/bootstrap#number'),!('Y')),'.'('/cloudlog#varName'(::(E,'/bootstrap#number'),!('X')),[])),F),!('X'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(E,'/bootstrap#number'),'/bootstrap#typedTerm'))),'.'('builtin#varName'(::(A,G),!('TTerm')),'.'('builtin#varName'(::(B,H),!('CtxIn')),'.'('builtin#varName'(::(C,I),!('CtxOut')),'.'('builtin#varName'(::(D,J),!('Y')),'.'('builtin#varName'(::(E,K),!('X')),'.'('builtin#varName'(::(F,L),!('Ctx')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should bind variables on matching names'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#varName'(::(D,'/bootstrap#number'),!('Y')),'.'('/cloudlog#varName'(::(E,'/bootstrap#number'),!('X')),[])),F),!('X'),'/cloudlog#cloudlog'),'/util#assertEqual'(A,::(E,'/bootstrap#number'),'/bootstrap#typedTerm'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#varName'(A,B),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('TVar')),'.'('builtin#varName'(::(B,D),!('Name')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#varName'(A,B),'/cloudlog#ctxElem'),'.'(::(A,'/bootstrap#typedTerm'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'annotation#shrink'('/parsing#prod'('/cloudlog#term'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#varName'(D)),'/parsing#pred'('builtin#if'('/bootstrap#listMember'('/cloudlog#varName'(A,D),'/cloudlog#ctxElem',B),=(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),::(B,'/bootstrap#list'('/cloudlog#ctxElem'))),=(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(A,D),B),'/bootstrap#list'('/cloudlog#ctxElem')))))))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),'.'('builtin#varName'(::(D,H),!('Name')),[]))))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/cloudlog#varName'(D)),'/parsing#pred'('builtin#if'('/bootstrap#listMember'('/cloudlog#varName'(A,D),'/cloudlog#ctxElem',B),=(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),::(B,'/bootstrap#list'('/cloudlog#ctxElem'))),=(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),::('.'('/cloudlog#varName'(A,D),B),'/bootstrap#list'('/cloudlog#ctxElem'))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should stream the context trhoughout a compound term'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#package'(!(foo)),[]),D),!('a(X, b(Y, X), Y)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,::('foo#a'(E,'foo#b'(F,E),F),G),'/bootstrap#typedTerm'))),'.'('builtin#varName'(::(A,H),!('TTerm')),'.'('builtin#varName'(::(B,I),!('CtxIn')),'.'('builtin#varName'(::(C,J),!('CtxOut')),'.'('builtin#varName'(::(D,K),!('Ctx')),'.'('builtin#varName'(::(E,L),!('X')),'.'('builtin#varName'(::(F,M),!('Y')),[]))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should stream the context trhoughout a compound term'),','('/parsing#lexParseString'('/cloudlog#term'(A,'.'('/cloudlog#package'(!(foo)),[]),D),!('a(X, b(Y, X), Y)'),'/cloudlog#cloudlog'),'/util#assertStracturallyEqual'(A,::('foo#a'(E,'foo#b'(F,E),F),G),'/bootstrap#typedTerm'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a list'),','('/parsing#lexParseString'('/cloudlog#term'(::(D,'/bootstrap#list'('/bootstrap#number')),B,C),!('[1, 2, 3]'),'/cloudlog#cloudlog'),'/util#assertEqual'(D,'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),'.'('builtin#varName'(::(D,H),!('List')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse a list'),','('/parsing#lexParseString'('/cloudlog#term'(::(D,'/bootstrap#list'('/bootstrap#number')),B,C),!('[1, 2, 3]'),'/cloudlog#cloudlog'),'/util#assertEqual'(D,'.'(1,'.'(2,'.'(3,[]))),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an empty list'),','('/parsing#lexParseString'('/cloudlog#term'(::(D,'/bootstrap#list'('/bootstrap#number')),B,C),!([]),'/cloudlog#cloudlog'),'/util#assertEqual'(D,[],'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,E),!('TTerm')),'.'('builtin#varName'(::(B,F),!('CtxIn')),'.'('builtin#varName'(::(C,G),!('CtxOut')),'.'('builtin#varName'(::(D,H),!('List')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#term'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),!('should parse an empty list'),','('/parsing#lexParseString'('/cloudlog#term'(::(D,'/bootstrap#list'('/bootstrap#number')),B,C),!([]),'/cloudlog#cloudlog'),'/util#assertEqual'(D,[],'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#defSymbol'(!('['),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!('['),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#defSymbol'(!(']'),'/cloudlog#cloudlog'),[]),'builtin#true'). '/parsing#defSymbol'(!(']'),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#convertTypedList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),[])))),'.'('builtin#varName'(::(A,D),!('TList')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('List')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#convertTypedList'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/bootstrap#list'(B)),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),:-('/cloudlog#convertTypedList'([],A,[]),'builtin#true'),[]),'builtin#true'). :-('/cloudlog#convertTypedList'([],A,[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),:-('/cloudlog#convertTypedList'('.'(::(A,B),C),B,'.'(A,D)),'/cloudlog#convertTypedList'(C,B,D)),'.'('builtin#varName'(::(A,E),!('First')),'.'('builtin#varName'(::(B,F),!('T')),'.'('builtin#varName'(::(C,G),!('TRest')),'.'('builtin#varName'(::(D,H),!('Rest')),[]))))),'builtin#true'). :-('/cloudlog#convertTypedList'('.'(::(A,B),C),B,'.'(A,D)),'/cloudlog#convertTypedList'(C,B,D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/bootstrap#signature'(::('/cloudlog#termList'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))),'.'('builtin#varName'(::(A,D),!('TList')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#termList'(A,B,C),'/parsing#pattern'('/parsing#token'('/cloudlog#cloudlog'))),'.'(::(A,'/bootstrap#list'('/bootstrap#typedTerm')),'.'(::(B,'/bootstrap#list'('/cloudlog#ctxElem')),'.'(::(C,'/bootstrap#list'('/cloudlog#ctxElem')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#termList'([],A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'),'.'('builtin#varName'(::(A,B),!('Ctx')),[])),'builtin#true'). '/parsing#prod'('/cloudlog#termList'([],A,A),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#termList'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/cloudlog#termListNe'(A,B,C)),'.'('builtin#varName'(::(A,D),!('TList')),'.'('builtin#varName'(::(B,E),!('Ctx1')),'.'('builtin#varName'(::(C,F),!('Ctx2')),[])))),'builtin#true'). '/parsing#prod'('/cloudlog#termList'(A,B,C),'/parsing#token'('/cloudlog#cloudlog'),'/cloudlog#termListNe'(A,B,C)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/grammar-term.ced'),'/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#list'(B)),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('['))),'/parsing#follow'('/cloudlog#termList'(E,C,D),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(']'))),'/parsing#pred'('/cloudlog#convertTypedList'(E,B,A)))))),'.'('builtin#varName'(::(A,F),!('List')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Ctx1')),'.'('builtin#varName'(::(D,I),!('Ctx2')),'.'('builtin#varName'(::(E,J),!('TList')),[])))))),'builtin#true'). '/parsing#prod'('/cloudlog#term'(::(A,'/bootstrap#list'(B)),C,D),'/parsing#token'('/cloudlog#cloudlog'),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!('['))),'/parsing#follow'('/cloudlog#termList'(E,C,D),'/parsing#follow'('/parsing#terminal'('/parsing#symbol'(!(']'))),'/parsing#pred'('/cloudlog#convertTypedList'(E,B,A)))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#defAtom'(::('/cloudlog#cloudlog','/parsing#lexicalContext')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#cloudlog','/parsing#lexicalContext')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#identifier'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should tokenize identifiers'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('aA b2 c_3')),'/util#assertEqual'(B,'.'('/cloudlog#identifier'(!(aA)),'.'('/cloudlog#identifier'(!(b2)),'.'('/cloudlog#identifier'(!(c_3)),[]))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,C),!('ID')),'.'('builtin#varName'(::(B,D),!('List')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#identifier'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should tokenize identifiers'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('aA b2 c_3')),'/util#assertEqual'(B,'.'('/cloudlog#identifier'(!(aA)),'.'('/cloudlog#identifier'(!(b2)),'.'('/cloudlog#identifier'(!(c_3)),[]))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#identifier'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('ID')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#identifier'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#tokenDef'('/cloudlog#identifier'(A),'/parsing#follow'('/parsing#bind'('/parsing#follow'('/parsing#charRange'(!(a),!(z)),'/parsing#repeatMax'('annotation#parentheses'('/parsing#alt'('/parsing#alt'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z'))),'/parsing#charRange'(!('0'),!('9'))),'/parsing#char'(!('_')))))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/cloudlog#cloudlog'),'.'('builtin#varName'(::(A,C),!('ID')),'.'('builtin#varName'(::(B,D),!('Codes')),[]))),'builtin#true'). '/parsing#tokenDef'('/cloudlog#identifier'(A),'/parsing#follow'('/parsing#bind'('/parsing#follow'('/parsing#charRange'(!(a),!(z)),'/parsing#repeatMax'('/parsing#alt'('/parsing#alt'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z'))),'/parsing#charRange'(!('0'),!('9'))),'/parsing#char'(!('_'))))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#number'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#number'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#number'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should tokenize numbers'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('11e-1 2.22 -3e+3')),'/util#assertEqual'(B,'.'('/cloudlog#number'(1.1),'.'('/cloudlog#number'(2.22),'.'('/cloudlog#number'(-3000.0),[]))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,C),!('Num')),'.'('builtin#varName'(::(B,D),!('List')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#number'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should tokenize numbers'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('11e-1 2.22 -3e+3')),'/util#assertEqual'(B,'.'('/cloudlog#number'(1.1),'.'('/cloudlog#number'(2.22),'.'('/cloudlog#number'(-3000.0),[]))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#tokenDef'('/cloudlog#number'(A),'/parsing#follow'('/parsing#bind'('/parsing#follow'('/parsing#follow'('/parsing#opt'('/parsing#char'(!(-))),'/parsing#follow'('/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9'))),'/parsing#opt'('annotation#parentheses'('/parsing#follow'('/parsing#char'(!('.')),'/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9')))))))),'/parsing#opt'('annotation#parentheses'('/parsing#follow'('/parsing#follow'('annotation#parentheses'('/parsing#alt'('/parsing#char'(!(e)),'/parsing#char'(!('E')))),'annotation#parentheses'('/parsing#alt'('/parsing#char'(!(+)),'/parsing#char'(!(-))))),'/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9'))))))),B),'/parsing#pred'(','('builtin#charCodes'(C,B),'builtin#rawTermToString'(::(A,'/bootstrap#number'),C)))),'/cloudlog#cloudlog'),'.'('builtin#varName'(::(A,D),!('Num')),'.'('builtin#varName'(::(B,E),!('Codes')),'.'('builtin#varName'(::(C,F),!('Str')),[])))),'builtin#true'). '/parsing#tokenDef'('/cloudlog#number'(A),'/parsing#follow'('/parsing#bind'('/parsing#follow'('/parsing#follow'('/parsing#opt'('/parsing#char'(!(-))),'/parsing#follow'('/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9'))),'/parsing#opt'('/parsing#follow'('/parsing#char'(!('.')),'/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9'))))))),'/parsing#opt'('/parsing#follow'('/parsing#follow'('/parsing#alt'('/parsing#char'(!(e)),'/parsing#char'(!('E'))),'/parsing#alt'('/parsing#char'(!(+)),'/parsing#char'(!(-)))),'/parsing#oneOrMoreMax'('/parsing#charRange'(!('0'),!('9')))))),B),'/parsing#pred'(','('builtin#charCodes'(C,B),'builtin#rawTermToString'(::(A,'/bootstrap#number'),C)))),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#string'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Str')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#string'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#string'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should literally, parse string literals'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('"foo" "bar"')),'/util#assertEqual'(B,'.'('/cloudlog#string'(!(foo)),'.'('/cloudlog#string'(!(bar)),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('List')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#string'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should literally, parse string literals'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('"foo" "bar"')),'/util#assertEqual'(B,'.'('/cloudlog#string'(!(foo)),'.'('/cloudlog#string'(!(bar)),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),[])),'.'('builtin#varName'(::(A,B),!('Codes')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#tokenDef'('/cloudlog#string'(A),'/parsing#follow'('/parsing#follow'('/parsing#char'(!('"')),'/parsing#follow'('/parsing#bind'('/cloudlog#stringBody'(B),B),'/parsing#pred'('builtin#charCodes'(A,B)))),'/parsing#char'(!('"'))),'/cloudlog#cloudlog'),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Codes')),[]))),'builtin#true'). '/parsing#tokenDef'('/cloudlog#string'(A),'/parsing#follow'('/parsing#follow'('/parsing#char'(!('"')),'/parsing#follow'('/parsing#bind'('/cloudlog#stringBody'(B),B),'/parsing#pred'('builtin#charCodes'(A,B)))),'/parsing#char'(!('"'))),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle escape characters'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(33,'.'(92,'.'(34,[]))),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(33,'.'(34,[])),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,B),!('Codes')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle escape characters'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(33,'.'(92,'.'(34,[]))),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(33,'.'(34,[])),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle backslash-n'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(92,'.'(110,[])),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(10,[]),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,B),!('Codes')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle backslash-n'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(92,'.'(110,[])),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(10,[]),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle backslash-t'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(92,'.'(116,[])),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(9,[]),'/bootstrap#list'('/bootstrap#number')))),'.'('builtin#varName'(::(A,B),!('Codes')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#stringBody'(A),'/parsing#pattern'('/bootstrap#number')),!('should handle backslash-t'),','('/parsing#parse'('/cloudlog#stringBody'(A),'.'(92,'.'(116,[])),'/bootstrap#number',[]),'/util#assertEqual'(A,'.'(9,[]),'/bootstrap#list'('/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/cloudlog#stringBody'('.'(A,B)),'/bootstrap#number','/parsing#follow'('/cloudlog#stringChar'(A),'/cloudlog#stringBody'(B))),'.'('builtin#varName'(::(A,C),!('First')),'.'('builtin#varName'(::(B,D),!('Rest')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#stringBody'('.'(A,B)),'/bootstrap#number','/parsing#follow'('/cloudlog#stringChar'(A),'/cloudlog#stringBody'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/cloudlog#stringBody'([]),'/bootstrap#number','/parsing#empty'),[]),'builtin#true'). '/parsing#prod'('/cloudlog#stringBody'([]),'/bootstrap#number','/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#stringChar'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#stringChar'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'annotation#shrink'('/parsing#prod'('/cloudlog#stringChar'(A),'/bootstrap#number','/parsing#follow'('/parsing#terminal'(B),'/parsing#if'('/parsing#pred'(=(::(B,'/bootstrap#number'),::(92,'/bootstrap#number'))),'/parsing#if'('/cloudlog#escapeChar'(A),'/parsing#empty','/parsing#terminal'(A)),'/parsing#pred'(','(\+(=(::(B,'/bootstrap#number'),::(34,'/bootstrap#number'))),=(::(B,'/bootstrap#number'),::(A,'/bootstrap#number')))))))),'.'('builtin#varName'(::(A,C),!('Char')),'.'('builtin#varName'(::(B,D),!('CharPrime')),[]))),'builtin#true'). '/parsing#prod'('/cloudlog#stringChar'(A),'/bootstrap#number','/parsing#follow'('/parsing#terminal'(B),'/parsing#if'('/parsing#pred'(=(::(B,'/bootstrap#number'),::(92,'/bootstrap#number'))),'/parsing#if'('/cloudlog#escapeChar'(A),'/parsing#empty','/parsing#terminal'(A)),'/parsing#pred'(','(\+(=(::(B,'/bootstrap#number'),::(34,'/bootstrap#number'))),=(::(B,'/bootstrap#number'),::(A,'/bootstrap#number'))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#escapeChar'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#escapeChar'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/cloudlog#escapeChar'(10),'/bootstrap#number','/parsing#char'(!(n))),[]),'builtin#true'). '/parsing#prod'('/cloudlog#escapeChar'(10),'/bootstrap#number','/parsing#char'(!(n))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/cloudlog#escapeChar'(9),'/bootstrap#number','/parsing#char'(!(t))),[]),'builtin#true'). '/parsing#prod'('/cloudlog#escapeChar'(9),'/bootstrap#number','/parsing#char'(!(t))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#signature'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Name')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should parse identifiers starting with a capital letter'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('Foo BAR')),'/util#assertEqual'(B,'.'('/cloudlog#varName'(!('Foo')),'.'('/cloudlog#varName'(!('BAR')),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Tokens')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should parse identifiers starting with a capital letter'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('Foo BAR')),'/util#assertEqual'(B,'.'('/cloudlog#varName'(!('Foo')),'.'('/cloudlog#varName'(!('BAR')),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#tokenDef'('/cloudlog#varName'(A),'/parsing#follow'('/parsing#bind'('annotation#parentheses'('/parsing#follow'('annotation#parentheses'('/parsing#alt'('/parsing#charRange'(!('A'),!('Z')),'/parsing#char'(!('_')))),'/parsing#repeatMax'('annotation#parentheses'('/parsing#alt'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z'))),'/parsing#charRange'(!('0'),!('9'))))))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/cloudlog#cloudlog'),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Codes')),[]))),'builtin#true'). '/parsing#tokenDef'('/cloudlog#varName'(A),'/parsing#follow'('/parsing#bind'('/parsing#follow'('/parsing#alt'('/parsing#charRange'(!('A'),!('Z')),'/parsing#char'(!('_'))),'/parsing#repeatMax'('/parsing#alt'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z'))),'/parsing#charRange'(!('0'),!('9'))))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/cloudlog#cloudlog'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should parse identifiers starting with an underscore'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('_foo _123')),'/util#assertEqual'(B,'.'('/cloudlog#varName'(!('_foo')),'.'('/cloudlog#varName'(!('_123')),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,C),!('Name')),'.'('builtin#varName'(::(B,D),!('Tokens')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#varName'(A),'/parsing#token'('/cloudlog#cloudlog')),!('should parse identifiers starting with an underscore'),','('/parsing#parseString'('/parsing#tokens'(B,'/cloudlog#cloudlog'),!('_foo _123')),'/util#assertEqual'(B,'.'('/cloudlog#varName'(!('_foo')),'.'('/cloudlog#varName'(!('_123')),[])),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#char'(!(' '))),[]),'builtin#true'). '/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#char'(!(' '))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#terminal'(9)),[]),'builtin#true'). '/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#terminal'(9)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#terminal'(10)),[]),'builtin#true'). '/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#terminal'(10)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/bootstrap#defAtom'(::('/cloudlog#notEOL','/parsing#pattern'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#notEOL','/parsing#pattern'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/cloudlog#notEOL','/bootstrap#number','/parsing#follow'('/parsing#terminal'(A),'/parsing#pred'(\+(=(::(A,'/bootstrap#number'),::(10,'/bootstrap#number')))))),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/parsing#prod'('/cloudlog#notEOL','/bootstrap#number','/parsing#follow'('/parsing#terminal'(A),'/parsing#pred'(\+(=(::(A,'/bootstrap#number'),::(10,'/bootstrap#number')))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#follow'('/parsing#char'(!('%')),'/parsing#repeatMax'('/cloudlog#notEOL'))),[]),'builtin#true'). '/parsing#prod'('/parsing#layout'('/cloudlog#cloudlog'),'/bootstrap#number','/parsing#follow'('/parsing#char'(!('%')),'/parsing#repeatMax'('/cloudlog#notEOL'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/lex.ced'),'/util#behavior'(::('/cloudlog#cloudlog','/parsing#lexicalContext'),!('should support spaces, tabs, line-ends and line comments'),','('/parsing#parseString'('/parsing#tokens'(A,'/cloudlog#cloudlog'),!('1 2\t3\n4 %^^\n 5')),'/util#assertEqual'(A,'.'('/cloudlog#number'(1),'.'('/cloudlog#number'(2),'.'('/cloudlog#number'(3),'.'('/cloudlog#number'(4),'.'('/cloudlog#number'(5),[]))))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))),'.'('builtin#varName'(::(A,B),!('List')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#cloudlog','/parsing#lexicalContext'),!('should support spaces, tabs, line-ends and line comments'),','('/parsing#parseString'('/parsing#tokens'(A,'/cloudlog#cloudlog'),!('1 2\t3\n4 %^^\n 5')),'/util#assertEqual'(A,'.'('/cloudlog#number'(1),'.'('/cloudlog#number'(2),'.'('/cloudlog#number'(3),'.'('/cloudlog#number'(4),'.'('/cloudlog#number'(5),[]))))),'/bootstrap#list'('/parsing#token'('/cloudlog#cloudlog'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#defAtom'(::('/cloudlog#pred','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#pred','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('Q')),'.'('builtin#varName'(::(B,D),!('V')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#tip'(::('/cloudlog#logicQuery'(A,B,C),'/impred#impred'),D,E,'cpi#edit'(D,::('/cloudlog#logicQuery'(A,C),'/impred#impred'),E)),'.'('builtin#varName'(::(A,F),!('Q')),'.'('builtin#varName'(::(B,G),!('Session')),'.'('builtin#varName'(::(C,H),!('V')),'.'('builtin#varName'(::(D,I),!('Path')),'.'('builtin#varName'(::(E,J),!('VNs')),[])))))),'builtin#true'). '/bootstrap#tip'(::('/cloudlog#logicQuery'(A,B,C),'/impred#impred'),D,E,'cpi#edit'(D,::('/cloudlog#logicQuery'(A,C),'/impred#impred'),E)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('example#somePred'(A,B),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/bootstrap#signature'(::('example#somePred'(A,B),'/cloudlog#pred'),'.'(::(A,'/bootstrap#list'('/bootstrap#number')),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should throw an exception if Q\'s first argument is not ground'),'/impred#solve'('/cloudlog#logicQuery'('example#somePred'('.'(C,[]),C),D),E,F,'/impred#throws'('/cloudlog#firstArgumentNotGround'(::('.'(C,[]),'/bootstrap#list'('/bootstrap#number')))))),'.'('builtin#varName'(::(A,G),!('Q')),'.'('builtin#varName'(::(B,H),!('V')),'.'('builtin#varName'(::(C,I),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should throw an exception if Q\'s first argument is not ground'),'/impred#solve'('/cloudlog#logicQuery'('example#somePred'('.'(C,[]),C),D),E,F,'/impred#throws'('/cloudlog#firstArgumentNotGround'(::('.'(C,[]),'/bootstrap#list'('/bootstrap#number')))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#defAtom'(::('/cloudlog#axiom','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#axiom','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('/cloudlog#clause'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),[]))),'.'('builtin#varName'(::(A,C),!('Q')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#clause'(A,B),'/cloudlog#axiom'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#projection'(::('/cloudlog#clause'(A,B),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[]))))),'.'('builtin#varName'(::(A,C),!('Q')),'.'('builtin#varName'(::(B,D),!('Body')),[]))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#clause'(A,B),'/cloudlog#axiom'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),'.'('/bootstrap#label'(!(:-)),'.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#adapter'(::(A,'/cloudlog#pred'),::('/cloudlog#clause'(A,'/cloudlog#true'),'/cloudlog#axiom')),'.'('builtin#varName'(::(A,B),!('Q')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/cloudlog#pred'),::('/cloudlog#clause'(A,'/cloudlog#true'),'/cloudlog#axiom')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#logicQuery'(A,B),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#true','/cloudlog#pred'))),'/impred#pred'(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#local'(C),'/cloudlog#pred'))),'/impred#pred'(','(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number')),'/cloudlog#executeLocal'(C))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('annotation#parentheses'('/cloudlog#conj'(D,E)),'/cloudlog#pred'))),'/impred#conj'('/cloudlog#logicQuery'(D,F),'/impred#conj'('/cloudlog#logicQuery'(E,G),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#times','/Functional#const'(G)),'/bootstrap#number',B)))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#not'(H),'/cloudlog#pred'))),'/impred#conj'('/impred#pred'(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#not'('/cloudlog#logicQuery'(H,I))),'/impred#conj'('/cloudlog#dbFind'('/cloudlog#clause'(A,J),F),'/impred#conj'('/cloudlog#logicQuery'(J,G),'/impred#pred'(','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#times','/Functional#const'(G)),'/bootstrap#number',B),>(B,0))))))))))),'.'('builtin#varName'(::(A,K),!('Q')),'.'('builtin#varName'(::(B,L),!('V')),'.'('builtin#varName'(::(C,M),!('QPrime')),'.'('builtin#varName'(::(D,N),!('G1')),'.'('builtin#varName'(::(E,O),!('G2')),'.'('builtin#varName'(::(F,P),!('V1')),'.'('builtin#varName'(::(G,Q),!('V2')),'.'('builtin#varName'(::(H,R),!('G')),'.'('builtin#varName'(::(J,S),!('Body')),[])))))))))),'builtin#true'). '/impred#clause'('/cloudlog#logicQuery'(A,B),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#true','/cloudlog#pred'))),'/impred#pred'(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#local'(C),'/cloudlog#pred'))),'/impred#pred'(','(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number')),'/cloudlog#executeLocal'(C))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#conj'(D,E),'/cloudlog#pred'))),'/impred#conj'('/cloudlog#logicQuery'(D,F),'/impred#conj'('/cloudlog#logicQuery'(E,G),'/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#times','/Functional#const'(G)),'/bootstrap#number',B)))),'/impred#if'('/impred#pred'(=(::(A,'/cloudlog#pred'),::('/cloudlog#not'(H),'/cloudlog#pred'))),'/impred#conj'('/impred#pred'(=(::(B,'/bootstrap#number'),::(1,'/bootstrap#number'))),'/impred#not'('/cloudlog#logicQuery'(H,I))),'/impred#conj'('/cloudlog#dbFind'('/cloudlog#clause'(A,J),F),'/impred#conj'('/cloudlog#logicQuery'(J,G),'/impred#pred'(','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#times','/Functional#const'(G)),'/bootstrap#number',B),>(B,0)))))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#defAtom'(::('/cloudlog#true','/cloudlog#pred')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#true','/cloudlog#pred')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#projection'(::('/cloudlog#true','/cloudlog#pred'),'/bootstrap#symbol'(8868)),[]),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#true','/cloudlog#pred'),'/bootstrap#symbol'(8868)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should succeed with a value if that value is stored in the database'),','('/impred#simulate'('/cloudlog#logicQuery'('example#somePred'('.'(1,'.'(2,[])),C),B),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,'.'(2,[])),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),3),'/cloudlog#true'),1),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true'),','('/util#assertEqual'(C,3,'/bootstrap#number'),'/util#assertEqual'(B,1,'/bootstrap#number')))),'.'('builtin#varName'(::(A,E),!('Q')),'.'('builtin#varName'(::(B,F),!('V')),'.'('builtin#varName'(::(C,G),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should succeed with a value if that value is stored in the database'),','('/impred#simulate'('/cloudlog#logicQuery'('example#somePred'('.'(1,'.'(2,[])),C),B),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,'.'(2,[])),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),3),'/cloudlog#true'),1),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true'),','('/util#assertEqual'(C,3,'/bootstrap#number'),'/util#assertEqual'(B,1,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#true','/cloudlog#pred'),!('should return 1 without going to the database'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#true',A),[],'/impred#true'),'/util#assertEqual'(A,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,B),!('V')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#true','/cloudlog#pred'),!('should return 1 without going to the database'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#true',A),[],'/impred#true'),'/util#assertEqual'(A,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('/cloudlog#local'(A),'/cloudlog#pred'),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#local'(A),'/cloudlog#pred'),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#projection'(::('/cloudlog#local'(A),'/cloudlog#pred'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),8920,8921),[]))),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#local'(A),'/cloudlog#pred'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),8920,8921),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/cloudlog#local'(A),'/cloudlog#pred')),'.'('builtin#varName'(::(A,B),!('Pred')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/cloudlog#local'(A),'/cloudlog#pred')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#local'(A),'/cloudlog#pred'),!('should evaluate the predicate without going to the database'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#local'('builtin#succ'(2,B)),C),[],'/impred#true'),','('/util#assertEqual'(C,1,'/bootstrap#number'),'/util#assertEqual'(B,3,'/bootstrap#number')))),'.'('builtin#varName'(::(A,D),!('Pred')),'.'('builtin#varName'(::(B,E),!('X')),'.'('builtin#varName'(::(C,F),!('V')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#local'(A),'/cloudlog#pred'),!('should evaluate the predicate without going to the database'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#local'('builtin#succ'(2,B)),C),[],'/impred#true'),','('/util#assertEqual'(C,1,'/bootstrap#number'),'/util#assertEqual'(B,3,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#local'(A),'/cloudlog#pred'),!('should protect against non termination'),'/impred#simulate'('/impred#not'('/cloudlog#logicQuery'('/cloudlog#local'('/bootstrap#aPredicateThatDoesNotTerminate'),B)),[],'/impred#true')),'.'('builtin#varName'(::(A,C),!('Pred')),'.'('builtin#varName'(::(B,D),!('V')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#local'(A),'/cloudlog#pred'),!('should protect against non termination'),'/impred#simulate'('/impred#not'('/cloudlog#logicQuery'('/cloudlog#local'('/bootstrap#aPredicateThatDoesNotTerminate'),B)),[],'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should query the body of a clause'),','('/impred#simulate'('/cloudlog#logicQuery'('example#somePred'('.'(1,'.'(2,[])),C),B),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,'.'(2,[])),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),C),'example#somePred'('.'(3,[]),C)),3),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(3,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(3,[]),6),'/cloudlog#true'),5),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',E))),[])),'/impred#true'),','('/util#assertEqual'(C,6,'/bootstrap#number'),'/util#assertEqual'(B,15,'/bootstrap#number')))),'.'('builtin#varName'(::(A,F),!('Q')),'.'('builtin#varName'(::(B,G),!('V')),'.'('builtin#varName'(::(C,H),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#logicQuery'(A,B),'/impred#impred'),!('should query the body of a clause'),','('/impred#simulate'('/cloudlog#logicQuery'('example#somePred'('.'(1,'.'(2,[])),C),B),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,'.'(2,[])),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,'.'(2,[])),C),'example#somePred'('.'(3,[]),C)),3),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(3,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(3,[]),6),'/cloudlog#true'),5),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',E))),[])),'/impred#true'),','('/util#assertEqual'(C,6,'/bootstrap#number'),'/util#assertEqual'(B,15,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),[]))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/cloudlog#pred'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#projection'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[])),[])))),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),'.'('/bootstrap#label'(!(',')),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[])),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#alias'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),!(',')),'.'('builtin#varName'(::(A,C),!('G1')),'.'('builtin#varName'(::(B,D),!('G2')),[]))),'builtin#true'). '/bootstrap#alias'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),!(',')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),!('should succeed when both G1 and G2 succeed'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#conj'('example#somePred'('.'(1,[]),C),'/cloudlog#local'('builtin#succ'(C,D))),E),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),7),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',F))),[]),'/impred#true'),','('/util#assertEqual'(D,4,'/bootstrap#number'),'/util#assertEqual'(E,7,'/bootstrap#number')))),'.'('builtin#varName'(::(A,G),!('G1')),'.'('builtin#varName'(::(B,H),!('G2')),'.'('builtin#varName'(::(C,I),!('X')),'.'('builtin#varName'(::(D,J),!('Y')),'.'('builtin#varName'(::(E,K),!('V')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#conj'(A,B),'/cloudlog#pred'),!('should succeed when both G1 and G2 succeed'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#conj'('example#somePred'('.'(1,[]),C),'/cloudlog#local'('builtin#succ'(C,D))),E),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),7),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',F))),[]),'/impred#true'),','('/util#assertEqual'(D,4,'/bootstrap#number'),'/util#assertEqual'(E,7,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#signature'(::('/cloudlog#not'(A),'/cloudlog#pred'),'.'(::(A,'/cloudlog#pred'),[])),'.'('builtin#varName'(::(A,B),!('G')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#not'(A),'/cloudlog#pred'),'.'(::(A,'/cloudlog#pred'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/bootstrap#projection'(::('/cloudlog#not'(A),'/cloudlog#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),[])))),'.'('builtin#varName'(::(A,B),!('G')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#not'(A),'/cloudlog#pred'),'/bootstrap#horiz'('.'('/bootstrap#symbol'(172),'.'('/bootstrap#vis'(::(A,'/cloudlog#pred')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should be true if G does not hold'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),C),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true'),'/util#assertEqual'(C,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,E),!('G')),'.'('builtin#varName'(::(B,F),!('X')),'.'('builtin#varName'(::(C,G),!('V')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should be true if G does not hold'),','('/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),C),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true'),'/util#assertEqual'(C,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should fail if G succeeds'),'/impred#simulate'('/impred#not'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),1)),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),2),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',C))),[]),'/impred#true')),'.'('builtin#varName'(::(A,D),!('G')),'.'('builtin#varName'(::(B,E),!('X')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should fail if G succeeds'),'/impred#simulate'('/impred#not'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),1)),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),2),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',C))),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/logicQuery.ced'),'/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should succeed if the value is 0'),'/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),C),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),0),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true')),'.'('builtin#varName'(::(A,E),!('G')),'.'('builtin#varName'(::(B,F),!('X')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#not'(A),'/cloudlog#pred'),!('should succeed if the value is 0'),'/impred#simulate'('/cloudlog#logicQuery'('/cloudlog#not'('example#somePred'('.'(1,[]),B)),C),'.'('/impred#task'('/nodalion#trans'(!('example#somePred'),'.'(1,[]),'.'('/nodalion#getAllCounters'(!(clauses)),[])),'.'('/nodalion#counterValue'(!(clauses),'/cloudlog#clause'('example#somePred'('.'(1,[]),3),'/cloudlog#true'),0),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#list'('/bootstrap#number'),'/cloudlog#axiom',D))),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),'/bootstrap#signature'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#string'),[])))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Match')),'.'('builtin#varName'(::(C,F),!('MatchFamily')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/bootstrap#string'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),'/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a fact to a rule'),','('/cloudlog#match'('example#someFact'(D,3),B,E),','('builtin#structurallyEqual'(::(B,'/cloudlog#axiom'),::('/cloudlog#rule'('example#someFact'(D,3),F,G),'/cloudlog#axiom')),'/util#assertEqual'(E,!(rules),'/bootstrap#string')))),'.'('builtin#varName'(::(A,H),!('Axiom')),'.'('builtin#varName'(::(B,I),!('Match')),'.'('builtin#varName'(::(C,J),!('MatchFamily')),'.'('builtin#varName'(::(D,K),!('X')),'.'('builtin#varName'(::(E,L),!('Family')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a fact to a rule'),','('/cloudlog#match'('example#someFact'(D,3),B,E),','('builtin#structurallyEqual'(::(B,'/cloudlog#axiom'),::('/cloudlog#rule'('example#someFact'(D,3),F,G),'/cloudlog#axiom')),'/util#assertEqual'(E,!(rules),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),'/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a rule to a fact'),','('/cloudlog#match'('/cloudlog#rule'('example#someFact'(D,3),'builtin#true','example#someFact'(2,D)),B,C),','('/util#assertEqual'(B,'example#someFact'(D,3),'/cloudlog#axiom'),'/util#assertEqual'(C,!(facts),'/bootstrap#string')))),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('Match')),'.'('builtin#varName'(::(C,G),!('MatchFamily')),'.'('builtin#varName'(::(D,H),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a rule to a fact'),','('/cloudlog#match'('/cloudlog#rule'('example#someFact'(D,3),'builtin#true','example#someFact'(2,D)),B,C),','('/util#assertEqual'(B,'example#someFact'(D,3),'/cloudlog#axiom'),'/util#assertEqual'(C,!(facts),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),'/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a clause to itself'),','('/cloudlog#match'('/cloudlog#clause'('example#somePred'([],1),'/cloudlog#true'),B,C),','('/util#assertEqual'(B,'/cloudlog#clause'('example#somePred'([],1),'/cloudlog#true'),'/cloudlog#axiom'),'/util#assertEqual'(C,!(clauses),'/bootstrap#string')))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Match')),'.'('builtin#varName'(::(C,F),!('MatchFamily')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#match'(A,B,C),'/bootstrap#pred'),!('should match a clause to itself'),','('/cloudlog#match'('/cloudlog#clause'('example#somePred'([],1),'/cloudlog#true'),B,C),','('/util#assertEqual'(B,'/cloudlog#clause'('example#somePred'([],1),'/cloudlog#true'),'/cloudlog#axiom'),'/util#assertEqual'(C,!(clauses),'/bootstrap#string')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),:-('/cloudlog#match'(A,B,C),','('/cloudlog#axiomFamily'(A,D,E),','('/cloudlog#matchFamily'(D,A,B),'/cloudlog#axiomFamily'(B,C,F)))),'.'('builtin#varName'(::(A,G),!('Axiom')),'.'('builtin#varName'(::(B,H),!('Match')),'.'('builtin#varName'(::(C,I),!('Family')),'.'('builtin#varName'(::(D,J),!('MyFamily')),[]))))),'builtin#true'). :-('/cloudlog#match'(A,B,C),','('/cloudlog#axiomFamily'(A,D,E),','('/cloudlog#matchFamily'(D,A,B),'/cloudlog#axiomFamily'(B,C,F)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),'/bootstrap#signature'(::('/cloudlog#matchFamily'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))),'.'('builtin#varName'(::(A,D),!('MyFamily')),'.'('builtin#varName'(::(B,E),!('Axiom')),'.'('builtin#varName'(::(C,F),!('Match')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#matchFamily'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/cloudlog#axiom'),'.'(::(C,'/cloudlog#axiom'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),:-('/cloudlog#matchFamily'(!(facts),A,'/cloudlog#rule'(A,B,C)),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Fact')),[])),'builtin#true'). :-('/cloudlog#matchFamily'(!(facts),A,'/cloudlog#rule'(A,B,C)),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),:-('/cloudlog#matchFamily'(!(rules),'/cloudlog#rule'(A,B,C),A),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Fact')),[])),'builtin#true'). :-('/cloudlog#matchFamily'(!(rules),'/cloudlog#rule'(A,B,C),A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/match.ced'),:-('/cloudlog#matchFamily'(!(clauses),A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('Clause')),[])),'builtin#true'). :-('/cloudlog#matchFamily'(!(clauses),A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/bootstrap#defAtom'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/bootstrap#projection'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8855)),[]),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8855)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/bootstrap#alias'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!(*)),[]),'builtin#true'). '/bootstrap#alias'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!(*)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should return an empty list if the first argument resoves to an empty list'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'([]),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,2),1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,[],'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,B),!('Empty')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should return an empty list if the first argument resoves to an empty list'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'([]),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,2),1),[]))),'/bootstrap#list'('/cloudlog#addition'),A),'/util#assertEqual'(A,[],'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should apply matching axioms on both sides to each other'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),1),[])),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),1),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should apply matching axioms on both sides to each other'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),1),[])),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),1),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should multiply the values'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),2),[])),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),6),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should multiply the values'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),2),[])),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),6),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should be distributive'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),'.'('/cloudlog#addition'('example#someFact'(1,2),2),[]))),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),2),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),6),'.'('/cloudlog#addition'('example#someFact'(2,2),4),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should be distributive'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),'.'('/cloudlog#addition'('example#someFact'(1,2),2),[]))),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(A,2)),2),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(3,2),6),'.'('/cloudlog#addition'('example#someFact'(2,2),4),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should join similar results'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),'.'('/cloudlog#addition'('example#someFact'(1,2),2),[]))),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(7,7)),2),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(7,7),10),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('X')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#mult','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),!('should join similar results'),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,3),3),'.'('/cloudlog#addition'('example#someFact'(1,2),2),[]))),'/cloudlog#mult','/Functional#const'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,A),'builtin#true','example#someFact'(7,7)),2),[]))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(7,7),10),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multAdditions.ced'),'annotation#shrink'('/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#mult',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#switch'(A,'/bootstrap#list'('/cloudlog#addition'),'/Functional#case'('.'('/cloudlog#addition'(C,D),E),'annotation#shrink'('/Functional#where'('/Functional#applyBinOp'('/Functional#const'(F),'/cloudlog#plus','/Functional#applyBinOp'('/Functional#const'(E),'/cloudlog#mult',B)),','('/Functional#eval'(B,'/bootstrap#list'('/cloudlog#addition'),G),'builtin#findall'('/cloudlog#addition'(H,I),'/cloudlog#addition',','('/bootstrap#listMember'('/cloudlog#addition'(J,K),'/cloudlog#addition',G),','('/cloudlog#applyMatch'(C,J,H),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#times','/Functional#const'(K)),'/bootstrap#number',I))),F)))),'/Functional#otherwise'('/Functional#const'([])))))),'.'('builtin#varName'(::(A,L),!('A')),'.'('builtin#varName'(::(B,M),!('B')),'.'('builtin#varName'(::(C,N),!('Axiom1')),'.'('builtin#varName'(::(D,O),!('Value1')),'.'('builtin#varName'(::(E,P),!('RestOfA')),'.'('builtin#varName'(::(F,Q),!('Result')),'.'('builtin#varName'(::(G,R),!('BPrime')),'.'('builtin#varName'(::(H,S),!('Axiom3')),'.'('builtin#varName'(::(I,T),!('Value3')),'.'('builtin#varName'(::(J,U),!('Axiom2')),'.'('builtin#varName'(::(K,V),!('Value2')),[])))))))))))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#mult',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#switch'(A,'/bootstrap#list'('/cloudlog#addition'),'/Functional#case'('.'('/cloudlog#addition'(C,D),E),'/Functional#where'('/Functional#applyBinOp'('/Functional#const'(F),'/cloudlog#plus','/Functional#applyBinOp'('/Functional#const'(E),'/cloudlog#mult',B)),','('/Functional#eval'(B,'/bootstrap#list'('/cloudlog#addition'),G),'builtin#findall'('/cloudlog#addition'(H,I),'/cloudlog#addition',','('/bootstrap#listMember'('/cloudlog#addition'(J,K),'/cloudlog#addition',G),','('/cloudlog#applyMatch'(C,J,H),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(D),'/Functional#times','/Functional#const'(K)),'/bootstrap#number',I))),F))),'/Functional#otherwise'('/Functional#const'([]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/bootstrap#signature'(::('/cloudlog#multiTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#multiTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue a transaction of consistent axioms'),'/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(1,12),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(1,12),-1),[]))),'/impred#impred'),B,'/nodalion#voidType'),[]),'/impred#true')),'.'('builtin#varName'(::(A,C),!('Trans')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue a transaction of consistent axioms'),'/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(1,12),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(1,12),-1),[]))),'/impred#impred'),B,'/nodalion#voidType'),[]),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transaction for inconsistent axioms'),'/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(2,11),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),[])),'/impred#impred'),B,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(2,11),-1),[])),'/impred#impred'),C,'/nodalion#voidType'),[])),'/impred#true')),'.'('builtin#varName'(::(A,D),!('Trans')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transaction for inconsistent axioms'),'/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),'.'('/cloudlog#addition'('example#someFact'(2,11),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,11),1),[])),'/impred#impred'),B,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(2,11),-1),[])),'/impred#impred'),C,'/nodalion#voidType'),[])),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transaction for master rules'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,11),'builtin#true','example#someFact'(1,12)),1),'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'(D),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),[])),H),','('/util#assertEqual'(D,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,11),'builtin#true','example#someFact'(1,12)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(F,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),-1),[]),'/bootstrap#list'('/cloudlog#addition'))))),'.'('builtin#varName'(::(A,I),!('Trans')),'.'('builtin#varName'(::(B,J),!('X')),'.'('builtin#varName'(::(C,K),!('Y')),'.'('builtin#varName'(::(D,L),!('Trans1')),'.'('builtin#varName'(::(F,M),!('Trans2')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transaction for master rules'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,11),'builtin#true','example#someFact'(1,12)),1),'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'(D),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),[])),H),','('/util#assertEqual'(D,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,11),'builtin#true','example#someFact'(1,12)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(F,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),-1),[]),'/bootstrap#list'('/cloudlog#addition'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transactions for master rules for different tables'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),'.'('/cloudlog#addition'('/cloudlog#rule'('/cloudlog#clause'('example#somePred'('.'(D,[]),E),'/cloudlog#true'),'builtin#true','example#someFact'(E,D)),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(H),'/impred#impred'),I,'/nodalion#voidType'),[])),J),','('/util#assertEqual'(F,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(H,'.'('/cloudlog#addition'('/cloudlog#rule'('/cloudlog#clause'('example#somePred'('.'(D,[]),E),'/cloudlog#true'),'builtin#true','example#someFact'(E,D)),-1),[]),'/bootstrap#list'('/cloudlog#addition'))))),'.'('builtin#varName'(::(A,K),!('Trans')),'.'('builtin#varName'(::(B,L),!('X')),'.'('builtin#varName'(::(C,M),!('Y')),'.'('builtin#varName'(::(D,N),!('A')),'.'('builtin#varName'(::(E,O),!('B')),'.'('builtin#varName'(::(F,P),!('Trans1')),'.'('builtin#varName'(::(H,Q),!('Trans2')),[])))))))),'builtin#true'). '/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transactions for master rules for different tables'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),'.'('/cloudlog#addition'('/cloudlog#rule'('/cloudlog#clause'('example#somePred'('.'(D,[]),E),'/cloudlog#true'),'builtin#true','example#someFact'(E,D)),-1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(H),'/impred#impred'),I,'/nodalion#voidType'),[])),J),','('/util#assertEqual'(F,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(H,'.'('/cloudlog#addition'('/cloudlog#rule'('/cloudlog#clause'('example#somePred'('.'(D,[]),E),'/cloudlog#true'),'builtin#true','example#someFact'(E,D)),-1),[]),'/bootstrap#list'('/cloudlog#addition'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transactions for master rules and master facts'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),'.'('/cloudlog#addition'('example#someFact'(B,B),1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(D),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),[])),H),','('/util#assertEqual'(D,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(F,'.'('/cloudlog#addition'('example#someFact'(B,B),1),[]),'/bootstrap#list'('/cloudlog#addition'))))),'.'('builtin#varName'(::(A,I),!('Trans')),'.'('builtin#varName'(::(B,J),!('X')),'.'('builtin#varName'(::(C,K),!('Y')),'.'('builtin#varName'(::(D,L),!('Trans1')),'.'('builtin#varName'(::(F,M),!('Trans2')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#multiTrans'(A),'/impred#impred'),!('should enqueue separate transactions for master rules and master facts'),','('/impred#simulate'('/cloudlog#multiTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),'.'('/cloudlog#addition'('example#someFact'(B,B),1),[]))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(D),'/impred#impred'),E,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#masterTrans'(F),'/impred#impred'),G,'/nodalion#voidType'),[])),H),','('/util#assertEqual'(D,'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]),'/bootstrap#list'('/cloudlog#addition')),'/util#assertEqual'(F,'.'('/cloudlog#addition'('example#someFact'(B,B),1),[]),'/bootstrap#list'('/cloudlog#addition'))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/impred#clause'('/cloudlog#multiTrans'([]),'/impred#true'),[]),'builtin#true'). '/impred#clause'('/cloudlog#multiTrans'([]),'/impred#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#multiTrans'('.'(A,B)),'/impred#conj'('/impred#pred'(=(::(C,'/bootstrap#list'('/cloudlog#addition')),::('.'(A,B),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'('/cloudlog#transOps'(C,D,E,F,G,H,I)),'/impred#if'('/impred#pred'(=(::(H,'/bootstrap#list'('/cloudlog#addition')),::('.'(J,K),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/nodalion#enqueueJob'('/cloudlog#trans'(H)),'/cloudlog#multiTrans'(I)),'/cloudlog#multiMasterTrans'(I)))))),'.'('builtin#varName'(::(A,L),!('First')),'.'('builtin#varName'(::(B,M),!('Rest')),'.'('builtin#varName'(::(C,N),!('Trans')),'.'('builtin#varName'(::(H,O),!('Taken')),'.'('builtin#varName'(::(I,P),!('Rej')),[])))))),'builtin#true'). '/impred#clause'('/cloudlog#multiTrans'('.'(A,B)),'/impred#conj'('/impred#pred'(=(::(C,'/bootstrap#list'('/cloudlog#addition')),::('.'(A,B),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'('/cloudlog#transOps'(C,D,E,F,G,H,I)),'/impred#if'('/impred#pred'(=(::(H,'/bootstrap#list'('/cloudlog#addition')),::('.'(J,K),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/nodalion#enqueueJob'('/cloudlog#trans'(H)),'/cloudlog#multiTrans'(I)),'/cloudlog#multiMasterTrans'(I))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/bootstrap#signature'(::('/cloudlog#multiMasterTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Additions')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#multiMasterTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/impred#clause'('/cloudlog#multiMasterTrans'(A),'/impred#if'('/impred#pred'(=(::(A,'/bootstrap#list'('/cloudlog#addition')),::('.'(B,C),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'('/cloudlog#sameTableAndFamily'(A,D,E,F,G)),'/impred#conj'('/nodalion#enqueueJob'('/cloudlog#masterTrans'(F)),'/cloudlog#multiMasterTrans'(G))),'/impred#true')),'.'('builtin#varName'(::(A,H),!('Additions')),'.'('builtin#varName'(::(F,I),!('Taken')),'.'('builtin#varName'(::(G,J),!('Rej')),[])))),'builtin#true'). '/impred#clause'('/cloudlog#multiMasterTrans'(A),'/impred#if'('/impred#pred'(=(::(A,'/bootstrap#list'('/cloudlog#addition')),::('.'(B,C),'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'('/cloudlog#sameTableAndFamily'(A,D,E,F,G)),'/impred#conj'('/nodalion#enqueueJob'('/cloudlog#masterTrans'(F)),'/cloudlog#multiMasterTrans'(G))),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'/bootstrap#signature'(::('/cloudlog#sameTableAndFamily'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),'.'(::(E,'/bootstrap#list'('/cloudlog#addition')),[])))))),'.'('builtin#varName'(::(A,F),!('Additions')),'.'('builtin#varName'(::(B,G),!('Table')),'.'('builtin#varName'(::(C,H),!('Family')),'.'('builtin#varName'(::(D,I),!('Taken')),'.'('builtin#varName'(::(E,J),!('Rej')),[])))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#sameTableAndFamily'(A,B,C,D,E),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/bootstrap#string'),'.'(::(D,'/bootstrap#list'('/cloudlog#addition')),'.'(::(E,'/bootstrap#list'('/cloudlog#addition')),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),:-('/cloudlog#sameTableAndFamily'([],A,B,[],[]),'builtin#true'),[]),'builtin#true'). :-('/cloudlog#sameTableAndFamily'([],A,B,[],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/multiTrans.ced'),'annotation#shrink'(:-('/cloudlog#sameTableAndFamily'('.'('/cloudlog#addition'(A,B),C),D,E,F,G),','('builtin#if'('annotation#parentheses'(','('/cloudlog#tableName'(A,D),'/cloudlog#axiomFamily'(A,E,::(H,I)))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),J),'/bootstrap#list'('/cloudlog#addition'))),=(::(G,'/bootstrap#list'('/cloudlog#addition')),::(K,'/bootstrap#list'('/cloudlog#addition')))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::(J,'/bootstrap#list'('/cloudlog#addition'))),=(::(G,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),K),'/bootstrap#list'('/cloudlog#addition'))))),'/cloudlog#sameTableAndFamily'(C,D,E,J,K)))),'.'('builtin#varName'(::(A,L),!('Axiom')),'.'('builtin#varName'(::(B,M),!('Value')),'.'('builtin#varName'(::(C,N),!('Additions')),'.'('builtin#varName'(::(D,O),!('Table')),'.'('builtin#varName'(::(E,P),!('Family')),'.'('builtin#varName'(::(F,Q),!('Taken')),'.'('builtin#varName'(::(G,R),!('Rej')),'.'('builtin#varName'(::(J,S),!('TakenPrime')),'.'('builtin#varName'(::(K,T),!('RejPrime')),[])))))))))),'builtin#true'). :-('/cloudlog#sameTableAndFamily'('.'('/cloudlog#addition'(A,B),C),D,E,F,G),','('builtin#if'(','('/cloudlog#tableName'(A,D),'/cloudlog#axiomFamily'(A,E,::(H,I))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),J),'/bootstrap#list'('/cloudlog#addition'))),=(::(G,'/bootstrap#list'('/cloudlog#addition')),::(K,'/bootstrap#list'('/cloudlog#addition')))),','(=(::(F,'/bootstrap#list'('/cloudlog#addition')),::(J,'/bootstrap#list'('/cloudlog#addition'))),=(::(G,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(A,B),K),'/bootstrap#list'('/cloudlog#addition'))))),'/cloudlog#sameTableAndFamily'(C,D,E,J,K))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/bootstrap#signature'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),[])),'.'('builtin#varName'(::(A,B),!('Additions')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/bootstrap#projection'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#horiz'('.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'('/cloudlog#addition')))),[])))),'.'('builtin#varName'(::(A,B),!('Additions')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#horiz'('.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(A,'/Functional#expr'('/bootstrap#list'('/cloudlog#addition')))),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/util#behavior'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should return an empty list for an empty list'),','('/Functional#eval'('/cloudlog#minus'('/Functional#const'([])),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,[],'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('Additions')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should return an empty list for an empty list'),','('/Functional#eval'('/cloudlog#minus'('/Functional#const'([])),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,[],'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/util#behavior'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should negate the values'),','('/Functional#eval'('/cloudlog#minus'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('example#someFact'(2,1),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(1,2),-1),'.'('/cloudlog#addition'('example#someFact'(2,1),1),[])),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,C),!('Additions')),'.'('builtin#varName'(::(B,D),!('Result')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#minus'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),!('should negate the values'),','('/Functional#eval'('/cloudlog#minus'('/Functional#const'('.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('example#someFact'(2,1),-1),[])))),'/bootstrap#list'('/cloudlog#addition'),B),'/util#assertEqual'(B,'.'('/cloudlog#addition'('example#someFact'(1,2),-1),'.'('/cloudlog#addition'('example#someFact'(2,1),1),[])),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/Functional#def'('/cloudlog#minus'(A),'/bootstrap#list'('/cloudlog#addition'),'/Functional#switch'(A,'/bootstrap#list'('/cloudlog#addition'),'/Functional#case'('.'('/cloudlog#addition'(B,C),D),'annotation#shrink'('/Functional#where'('/cloudlog#cons'('/Functional#const'('/cloudlog#addition'(B,E)),'annotation#parentheses'('/cloudlog#minus'('/Functional#const'(D)))),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(C)),'/bootstrap#number',E))),'/Functional#otherwise'('/Functional#const'([]))))),'.'('builtin#varName'(::(A,F),!('A')),'.'('builtin#varName'(::(B,G),!('Axiom')),'.'('builtin#varName'(::(C,H),!('Value')),'.'('builtin#varName'(::(D,I),!('Rest')),'.'('builtin#varName'(::(E,J),!('MinusValue')),[])))))),'builtin#true'). '/Functional#def'('/cloudlog#minus'(A),'/bootstrap#list'('/cloudlog#addition'),'/Functional#switch'(A,'/bootstrap#list'('/cloudlog#addition'),'/Functional#case'('.'('/cloudlog#addition'(B,C),D),'/Functional#where'('/cloudlog#cons'('/Functional#const'('/cloudlog#addition'(B,E)),'/cloudlog#minus'('/Functional#const'(D))),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(0),'/Functional#minus','/Functional#const'(C)),'/bootstrap#number',E)),'/Functional#otherwise'('/Functional#const'([]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/bootstrap#defAtom'(::('/cloudlog#minus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#minus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/bootstrap#projection'(::('/cloudlog#minus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8854)),[]),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#minus','/Functional#binOp'('/bootstrap#list'('/cloudlog#addition'))),'/bootstrap#symbol'(8854)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/subtractAdditions.ced'),'/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#minus',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#applyBinOp'(A,'/cloudlog#plus','annotation#parentheses'('/cloudlog#minus'(B)))),'.'('builtin#varName'(::(A,C),!('A')),'.'('builtin#varName'(::(B,D),!('B')),[]))),'builtin#true'). '/Functional#def'('/Functional#applyBinOp'(A,'/cloudlog#minus',B),'/bootstrap#list'('/cloudlog#addition'),'/Functional#applyBinOp'(A,'/cloudlog#plus','/cloudlog#minus'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/tableName.ced'),'/bootstrap#signature'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Axiom')),'.'('builtin#varName'(::(B,D),!('Table')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/tableName.ced'),'/util#behavior'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),!('should provide the triggerring fact\'s name for rules'),','('/cloudlog#tableName'('/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(3,C)),B),'/util#assertEqual'(B,!('example#someFact'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,D),!('Axiom')),'.'('builtin#varName'(::(B,E),!('Name')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),!('should provide the triggerring fact\'s name for rules'),','('/cloudlog#tableName'('/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(3,C)),B),'/util#assertEqual'(B,!('example#someFact'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/tableName.ced'),'/util#behavior'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),!('should provide the predicat name for a clause'),','('/cloudlog#tableName'('/cloudlog#clause'('example#somePred'(C,D),'/cloudlog#true'),B),'/util#assertEqual'(B,!('example#somePred'),'/bootstrap#string'))),'.'('builtin#varName'(::(A,E),!('Axiom')),'.'('builtin#varName'(::(B,F),!('Name')),'.'('builtin#varName'(::(C,G),!('X')),'.'('builtin#varName'(::(D,H),!('Y')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#tableName'(A,B),'/bootstrap#pred'),!('should provide the predicat name for a clause'),','('/cloudlog#tableName'('/cloudlog#clause'('example#somePred'(C,D),'/cloudlog#true'),B),'/util#assertEqual'(B,!('example#somePred'),'/bootstrap#string'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/tableName.ced'),:-('/cloudlog#tableName'(A,B),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#rule'(C,D,E),'/cloudlog#axiom')),'/cloudlog#tableName'(C,B),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#clause'(F,G),'/cloudlog#axiom')),'builtin#parseTerm'(::(F,'/cloudlog#pred'),B,H),'builtin#parseTerm'(::(A,'/cloudlog#axiom'),B,I)))),'.'('builtin#varName'(::(A,J),!('Axiom')),'.'('builtin#varName'(::(B,K),!('Table')),'.'('builtin#varName'(::(C,L),!('Fact')),'.'('builtin#varName'(::(F,M),!('Head')),'.'('builtin#varName'(::(G,N),!('Body')),[])))))),'builtin#true'). :-('/cloudlog#tableName'(A,B),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#rule'(C,D,E),'/cloudlog#axiom')),'/cloudlog#tableName'(C,B),'builtin#if'(=(::(A,'/cloudlog#axiom'),::('/cloudlog#clause'(F,G),'/cloudlog#axiom')),'builtin#parseTerm'(::(F,'/cloudlog#pred'),B,H),'builtin#parseTerm'(::(A,'/cloudlog#axiom'),B,I)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#trans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#trans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#defAtom'(::('/cloudlog#version','/cloudlog#axiom')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#version','/cloudlog#axiom')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should perform a transaction in the database'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),-1),'.'('/cloudlog#addition'('example#someFact'(1,5),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,3),-1),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,5),1),[]))))),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),B)),'.'('builtin#varName'(::(A,C),!('Trans')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should perform a transaction in the database'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),-1),'.'('/cloudlog#addition'('example#someFact'(1,5),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(rules)),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,3),-1),'.'('/nodalion#addToCounter'(!(facts),'example#someFact'(1,5),1),[]))))),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),B)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/impred#clause'('/cloudlog#trans'(A),'/impred#conj'('/cloudlog#dbTrans'(A,B),'/impred#conj'('/impred#pred'(','(=(::(A,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(C,D),E),'/bootstrap#list'('/cloudlog#addition'))),','('/cloudlog#tableName'(C,F),'/cloudlog#match'(C,G,H)))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(B,I)),'/impred#conj'('/cloudlog#getMasterAxioms'(F,H,I,J),'/impred#conj'('/nodalion#callWithContainers'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/cloudlog#mult','annotation#parentheses'('/Functional#applyBinOp'('/Functional#applyBinOp'('/cloudlog#dbResults'(B),'/cloudlog#plus','/cloudlog#dbResults'(J)),'/cloudlog#plus','/cloudlog#genericRulesForTable'(F)))),'/bootstrap#list'('/cloudlog#addition'),K)),'/impred#conj'('/cloudlog#multiTrans'(K),'/cloudlog#checkMasterVersion'(C,I)))))))),'.'('builtin#varName'(::(A,L),!('Trans')),'.'('builtin#varName'(::(B,M),!('Matches')),'.'('builtin#varName'(::(C,N),!('Axiom')),'.'('builtin#varName'(::(F,O),!('Table')),'.'('builtin#varName'(::(H,P),!('MatchFamily')),'.'('builtin#varName'(::(I,Q),!('Version')),'.'('builtin#varName'(::(J,R),!('MasterRules')),'.'('builtin#varName'(::(K,S),!('Additions')),[]))))))))),'builtin#true'). '/impred#clause'('/cloudlog#trans'(A),'/impred#conj'('/cloudlog#dbTrans'(A,B),'/impred#conj'('/impred#pred'(','(=(::(A,'/bootstrap#list'('/cloudlog#addition')),::('.'('/cloudlog#addition'(C,D),E),'/bootstrap#list'('/cloudlog#addition'))),','('/cloudlog#tableName'(C,F),'/cloudlog#match'(C,G,H)))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(B,I)),'/impred#conj'('/cloudlog#getMasterAxioms'(F,H,I,J),'/impred#conj'('/nodalion#callWithContainers'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/cloudlog#mult','/Functional#applyBinOp'('/Functional#applyBinOp'('/cloudlog#dbResults'(B),'/cloudlog#plus','/cloudlog#dbResults'(J)),'/cloudlog#plus','/cloudlog#genericRulesForTable'(F))),'/bootstrap#list'('/cloudlog#addition'),K)),'/impred#conj'('/cloudlog#multiTrans'(K),'/cloudlog#checkMasterVersion'(C,I)))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should queue derived transactions'),'/impred#simulate'('/impred#with'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(C,2)),1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#string')),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),-1),'.'('/cloudlog#addition'('example#someFact'(1,5),1),[])))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,2),-1),[])),'/impred#impred'),D,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(5,2),1),[])),'/impred#impred'),E,'/nodalion#voidType'),[])),F)),'.'('builtin#varName'(::(A,G),!('Trans')),'.'('builtin#varName'(::(C,H),!('X')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should queue derived transactions'),'/impred#simulate'('/impred#with'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version',[]),'.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(C,2)),1),[])),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#string')),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),-1),'.'('/cloudlog#addition'('example#someFact'(1,5),1),[])))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,2),-1),[])),'/impred#impred'),D,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(5,2),1),[])),'/impred#impred'),E,'/nodalion#voidType'),[])),F)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#masterRules'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),[])),'.'('builtin#varName'(::(A,D),!('Rules')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#masterRules'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(B,'/cloudlog#axiom',C))),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should consider master rules for fact transactions'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(6,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:6:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(C,D),'builtin#true','example#someFact'(D,C)),2),[])),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,1),2),[])),'/impred#impred'),E,'/nodalion#voidType'),[]))),F)),'.'('builtin#varName'(::(A,G),!('Trans')),'.'('builtin#varName'(::(C,H),!('X')),'.'('builtin#varName'(::(D,I),!('Y')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should consider master rules for fact transactions'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(6,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:6:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(C,D),'builtin#true','example#someFact'(D,C)),2),[])),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,1),2),[])),'/impred#impred'),E,'/nodalion#voidType'),[]))),F)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#num'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#number'),[])),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#num'(A),'/impred#localStoreVal'),'.'(::(A,'/bootstrap#number'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#projection'(::('/cloudlog#num'(A),'/impred#localStoreVal'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),[])))),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#num'(A),'/impred#localStoreVal'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(#)),'.'('/bootstrap#vis'(::(A,'/bootstrap#number')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#number'),::('/cloudlog#num'(A),'/impred#localStoreVal')),'.'('builtin#varName'(::(A,B),!('Num')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#number'),::('/cloudlog#num'(A),'/impred#localStoreVal')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should enqueue updateMaster if the row version is less than the table\'s version in local storage'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:7:rules')),'/cloudlog#masterRules'([]),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(9),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),1,'/bootstrap#number',9),'/impred#impred'),C,'/nodalion#voidType'),[])))),'/impred#true')),'.'('builtin#varName'(::(A,D),!('Trans')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should enqueue updateMaster if the row version is less than the table\'s version in local storage'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(1,3),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),1,B),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:7:rules')),'/cloudlog#masterRules'([]),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localGet'(!('example#someFact:ver')),'/cloudlog#num'(9),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#updateMaster'(!('example#someFact'),1,'/bootstrap#number',9),'/impred#impred'),C,'/nodalion#voidType'),[])))),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#enqueueAdditions'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Additions')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#enqueueAdditions'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/impred#clause'('/cloudlog#enqueueAdditions'([]),'/impred#true'),[]),'builtin#true'). '/impred#clause'('/cloudlog#enqueueAdditions'([]),'/impred#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/impred#clause'('/cloudlog#enqueueAdditions'('.'(A,B)),'/nodalion#parallel'('/nodalion#enqueueJob'('/cloudlog#trans'('.'(A,[]))),'/cloudlog#enqueueAdditions'(B))),'.'('builtin#varName'(::(A,C),!('Add')),'.'('builtin#varName'(::(B,D),!('Adds')),[]))),'builtin#true'). '/impred#clause'('/cloudlog#enqueueAdditions'('.'(A,B)),'/nodalion#parallel'('/nodalion#enqueueJob'('/cloudlog#trans'('.'(A,[]))),'/cloudlog#enqueueAdditions'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#getVersion'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'))),'.'(::(B,'/bootstrap#number'),[]))),'.'('builtin#varName'(::(A,D),!('Matches')),'.'('builtin#varName'(::(B,E),!('Version')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#getVersion'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'))),'.'(::(B,'/bootstrap#number'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'annotation#shrink'(:-('/cloudlog#getVersion'(A,B),'builtin#if'('/bootstrap#listMember'('/nodalion#value'(!(master),'/cloudlog#version','.'(B,[])),'/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'),A),'builtin#true',=(::(B,'/bootstrap#number'),::(0,'/bootstrap#number'))))),'.'('builtin#varName'(::(A,D),!('Matches')),'.'('builtin#varName'(::(B,E),!('Version')),[]))),'builtin#true'). :-('/cloudlog#getVersion'(A,B),'builtin#if'('/bootstrap#listMember'('/nodalion#value'(!(master),'/cloudlog#version','.'(B,[])),'/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'),A),'builtin#true',=(::(B,'/bootstrap#number'),::(0,'/bootstrap#number')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#genericRule'(A),'/bootstrap#statement'),'.'(::(A,'/cloudlog#axiom'),[])),'.'('builtin#varName'(::(A,B),!('Rule')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#genericRule'(A),'/bootstrap#statement'),'.'(::(A,'/cloudlog#axiom'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#projection'(::('/cloudlog#genericRule'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('generic:')),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),[])))),'.'('builtin#varName'(::(A,B),!('Rule')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#genericRule'(A),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('generic:')),'.'('/bootstrap#vis'(::(A,'/cloudlog#axiom')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/cloudlog#genericRule'('/cloudlog#rule'('example#someFact'(77,A),'builtin#true','example#someFact'(A,77))),'.'('builtin#varName'(::(A,B),!('X')),[])),'builtin#true'). '/cloudlog#genericRule'('/cloudlog#rule'('example#someFact'(77,A),'builtin#true','example#someFact'(A,77))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should consider generic rules'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(77,4),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),77,B),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',C))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(4,77),1),[])),'/impred#impred'),D,'/nodalion#voidType'),[])),E)),'.'('builtin#varName'(::(A,F),!('Trans')),[])),'builtin#true'). '/util#behavior'(::('/cloudlog#trans'(A),'/impred#impred'),!('should consider generic rules'),'/impred#simulate'('/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(77,4),1),[])),'.'('/impred#task'('/nodalion#trans'(!('example#someFact'),77,B),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom',C))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(4,77),1),[])),'/impred#impred'),D,'/nodalion#voidType'),[])),E)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#genericRulesForTable'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Table')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#genericRulesForTable'(A),'/Functional#expr'('/bootstrap#list'('/cloudlog#addition'))),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),'/bootstrap#signature'(::('/cloudlog#genericRuleForTable'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Rule')),'.'('builtin#varName'(::(B,D),!('Table')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#genericRuleForTable'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#axiom'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),~>('/cloudlog#genericRule'(A),:-('/cloudlog#genericRuleForTable'(A,B),'/cloudlog#tableName'(A,B))),'.'('builtin#varName'(::(A,C),!('Rule')),'.'('builtin#varName'(::(B,D),!('Table')),[]))),'builtin#true'). :-('/cloudlog#genericRuleForTable'(A,B),','('/cloudlog#genericRule'(A),'/cloudlog#tableName'(A,B))). :-('/cloudlog#genericRule'(A),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/trans.ced'),:-('/Functional#eval'('/cloudlog#genericRulesForTable'(A),'/bootstrap#list'('/cloudlog#addition'),B),'builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(C,A),B)),'.'('builtin#varName'(::(A,D),!('Table')),'.'('builtin#varName'(::(B,E),!('Additions')),'.'('builtin#varName'(::(C,F),!('Rule')),[])))),'builtin#true'). :-('/Functional#eval'('/cloudlog#genericRulesForTable'(A),'/bootstrap#list'('/cloudlog#addition'),B),'builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(C,A),B)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/updateMaster.ced'),'/bootstrap#signature'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#number'),[]))))),'.'('builtin#varName'(::(A,E),!('Table')),'.'('builtin#varName'(::(B,F),!('Row')),'.'('builtin#varName'(::(C,G),!('Type')),'.'('builtin#varName'(::(D,H),!('NewVer')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),'.'(::(A,'/bootstrap#string'),'.'(::(B,C),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#number'),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/updateMaster.ced'),'/util#behavior'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),!('should update the version and query for the version and all facts'),'/impred#simulate'('/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(9,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),E)),'.'('builtin#varName'(::(A,F),!('Table')),'.'('builtin#varName'(::(B,G),!('Row')),'.'('builtin#varName'(::(C,H),!('Type')),'.'('builtin#varName'(::(D,I),!('NewVer')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),!('should update the version and query for the version and all facts'),'/impred#simulate'('/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(9,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),E)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/updateMaster.ced'),'/util#behavior'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),!('should apply the difference between the desired version and the existing one to the facts in the row'),'/impred#simulate'('/impred#with'('/impred#localGet'(!('tbl:9:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:9:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,E),'builtin#true','example#someFact'(E,2)),1),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,E),'builtin#true','example#someFact'(E,1)),1),[])),'/impred#localStoreVal','/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9))))),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,F),'annotation#changeMode'('.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#vert'),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(2,2),1),'.'('/cloudlog#addition'('example#someFact'(2,1),-1),[]))),'/impred#impred'),G,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,2),1),'.'('/cloudlog#addition'('example#someFact'(3,1),-1),[]))),'/impred#impred'),H,'/nodalion#voidType'),[]))),'/impred#true')),'.'('builtin#varName'(::(A,I),!('Table')),'.'('builtin#varName'(::(B,J),!('Row')),'.'('builtin#varName'(::(C,K),!('Type')),'.'('builtin#varName'(::(D,L),!('NewVer')),'.'('builtin#varName'(::(E,M),!('X')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#updateMaster'(A,B,C,D),'/impred#impred'),!('should apply the difference between the desired version and the existing one to the facts in the row'),'/impred#simulate'('/impred#with'('/impred#localGet'(!('tbl:9:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:9:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,E),'builtin#true','example#someFact'(E,2)),1),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,E),'builtin#true','example#someFact'(E,1)),1),[])),'/impred#localStoreVal','/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9))))),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,F),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(2,2),1),'.'('/cloudlog#addition'('example#someFact'(2,1),-1),[]))),'/impred#impred'),G,'/nodalion#voidType'),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'('.'('/cloudlog#addition'('example#someFact'(3,2),1),'.'('/cloudlog#addition'('example#someFact'(3,1),-1),[]))),'/impred#impred'),H,'/nodalion#voidType'),[]))),'/impred#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/updateMaster.ced'),'/bootstrap#unitTest'('/impred#simulate'('/impred#with'('/impred#localGet'(!('tbl:9:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,A),'builtin#true','example#someFact'(A,2)),1),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,A),'builtin#true','example#someFact'(A,1)),1),[])),'/impred#localStoreVal','/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9))),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(9,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),'annotation#changeMode'('.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#vert'),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),'/impred#task'('/impred#localGet'(!('tbl:7:facts')),'/cloudlog#masterRules'(B),'/impred#localStoreVal'))),'.'('builtin#varName'(::(A,C),!('X')),[])),'builtin#true'). '/bootstrap#unitTest'('/impred#simulate'('/impred#with'('/impred#localGet'(!('tbl:9:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,A),'builtin#true','example#someFact'(A,2)),1),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('tbl:7:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(2,A),'builtin#true','example#someFact'(A,1)),1),[])),'/impred#localStoreVal','/cloudlog#updateMaster'(!(tbl),2,'/bootstrap#number',9))),'.'('/impred#task'('/nodalion#trans'(!(tbl),2,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(9,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(7,[])),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,2),1),'.'('/nodalion#counterValue'(!(facts),'example#someFact'(2,3),1),[]))),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#number','/cloudlog#axiom','/bootstrap#number'))),[]),'/impred#task'('/impred#localGet'(!('tbl:7:facts')),'/cloudlog#masterRules'(B),'/impred#localStoreVal'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/updateMaster.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#updateMaster'(A,B,C,D),'/impred#conj'('/impred#task'('/nodalion#trans'(A,B,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(D,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),E,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(E,F)),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(rules),F,G),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(rules),D,H),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(facts),F,I),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(facts),D,J),'/impred#conj'('/nodalion#callWithContainers'('/Functional#eval'('/Functional#applyBinOp'('/cloudlog#dbResults'(E),'/cloudlog#mult','annotation#parentheses'('/Functional#applyBinOp'('annotation#parentheses'('/Functional#applyBinOp'('/cloudlog#dbResults'(H),'/cloudlog#plus','/cloudlog#dbResults'(J))),'/cloudlog#minus','annotation#parentheses'('/Functional#applyBinOp'('/cloudlog#dbResults'(G),'/cloudlog#plus','/cloudlog#dbResults'(I)))))),'/bootstrap#list'('/cloudlog#addition'),K)),'/cloudlog#multiTrans'(K)))))))))),'.'('builtin#varName'(::(A,L),!('Table')),'.'('builtin#varName'(::(B,M),!('Row')),'.'('builtin#varName'(::(C,N),!('Type')),'.'('builtin#varName'(::(D,O),!('NewVer')),'.'('builtin#varName'(::(E,P),!('Results')),'.'('builtin#varName'(::(F,Q),!('OldVer')),'.'('builtin#varName'(::(G,R),!('OldRules')),'.'('builtin#varName'(::(H,S),!('NewRules')),'.'('builtin#varName'(::(I,T),!('OldFacts')),'.'('builtin#varName'(::(J,U),!('NewFacts')),'.'('builtin#varName'(::(K,V),!('Additions')),[])))))))))))),'builtin#true'). '/impred#clause'('/cloudlog#updateMaster'(A,B,C,D),'/impred#conj'('/impred#task'('/nodalion#trans'(A,B,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(D,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),'.'('/nodalion#getAllCounters'(!(facts)),'.'('/nodalion#getAllCounters'(!(rules)),[]))))),E,'/bootstrap#list'('/nodalion#databaseValue'(C,'/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(E,F)),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(rules),F,G),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(rules),D,H),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(facts),F,I),'/impred#conj'('/cloudlog#getMasterAxioms'(A,!(facts),D,J),'/impred#conj'('/nodalion#callWithContainers'('/Functional#eval'('/Functional#applyBinOp'('/cloudlog#dbResults'(E),'/cloudlog#mult','/Functional#applyBinOp'('/Functional#applyBinOp'('/cloudlog#dbResults'(H),'/cloudlog#plus','/cloudlog#dbResults'(J)),'/cloudlog#minus','/Functional#applyBinOp'('/cloudlog#dbResults'(G),'/cloudlog#plus','/cloudlog#dbResults'(I)))),'/bootstrap#list'('/cloudlog#addition'),K)),'/cloudlog#multiTrans'(K))))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#signature'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/cloudlog#pred'),[]))),'.'('builtin#varName'(::(A,C),!('Axioms')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/cloudlog#pred'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#projection'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('with:')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(simulate)),'.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[]))),[])))),'.'('builtin#varName'(::(A,C),!('Axioms')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!('with:')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'/bootstrap#vert'),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(simulate)),'.'('/bootstrap#vis'(::(B,'/cloudlog#pred')),[]))),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should succeed for true'),'/cloudlog#withSimulate'([],'/cloudlog#true')),'.'('builtin#varName'(::(A,C),!('Axioms')),'.'('builtin#varName'(::(B,D),!('Goal')),[]))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should succeed for true'),'/cloudlog#withSimulate'([],'/cloudlog#true')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate local goals'),','('/cloudlog#withSimulate'([],'/cloudlog#local'(=(::(C,'/bootstrap#number'),::(1,'/bootstrap#number')))),'/util#assertEqual'(C,1,'/bootstrap#number'))),'.'('builtin#varName'(::(A,D),!('Axioms')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('N')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate local goals'),','('/cloudlog#withSimulate'([],'/cloudlog#local'(=(::(C,'/bootstrap#number'),::(1,'/bootstrap#number')))),'/util#assertEqual'(C,1,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate goals based on clauses in Axioms'),','('/cloudlog#withSimulate'('.'('/cloudlog#clause'('example#somePred'(C,D),'/cloudlog#local'('/bootstrap#listMember'(D,'/bootstrap#number',C))),[]),'example#somePred'('.'(2,[]),E)),'/util#assertEqual'(E,2,'/bootstrap#number'))),'.'('builtin#varName'(::(A,F),!('Axioms')),'.'('builtin#varName'(::(B,G),!('Goal')),'.'('builtin#varName'(::(C,H),!('X')),'.'('builtin#varName'(::(D,I),!('Y')),'.'('builtin#varName'(::(E,J),!('Z')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate goals based on clauses in Axioms'),','('/cloudlog#withSimulate'('.'('/cloudlog#clause'('example#somePred'(C,D),'/cloudlog#local'('/bootstrap#listMember'(D,'/bootstrap#number',C))),[]),'example#somePred'('.'(2,[]),E)),'/util#assertEqual'(E,2,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate conjunctions'),','('/cloudlog#withSimulate'([],'/cloudlog#conj'('/cloudlog#local'('builtin#succ'(1,C)),'/cloudlog#local'('builtin#succ'(C,D)))),'/util#assertEqual'(D,3,'/bootstrap#number'))),'.'('builtin#varName'(::(A,E),!('Axioms')),'.'('builtin#varName'(::(B,F),!('Goal')),'.'('builtin#varName'(::(C,G),!('X')),'.'('builtin#varName'(::(D,H),!('Y')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should evaluate conjunctions'),','('/cloudlog#withSimulate'([],'/cloudlog#conj'('/cloudlog#local'('builtin#succ'(1,C)),'/cloudlog#local'('builtin#succ'(C,D)))),'/util#assertEqual'(D,3,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should handle negation'),','('/cloudlog#withSimulate'([],'/cloudlog#conj'('/cloudlog#local'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,[])))),'/cloudlog#not'('/cloudlog#local'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(3,[]))))))),'/util#assertEqual'(C,2,'/bootstrap#number'))),'.'('builtin#varName'(::(A,D),!('Axioms')),'.'('builtin#varName'(::(B,E),!('Goal')),'.'('builtin#varName'(::(C,F),!('X')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should handle negation'),','('/cloudlog#withSimulate'([],'/cloudlog#conj'('/cloudlog#local'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(2,[])))),'/cloudlog#not'('/cloudlog#local'('/bootstrap#listMember'(C,'/bootstrap#number','.'(1,'.'(3,[]))))))),'/util#assertEqual'(C,2,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should take rule propagation into account'),','('/cloudlog#withSimulate'('.'('cloudlog#index'('/cloudlog#myKey'(C),'/cloudlog#bar'(C,D)),'.'('/cloudlog#bar'(1,2),'.'('/cloudlog#bar'(2,1),[]))),'/cl1#indexed'('/cloudlog#myKey'(2),E)),'/util#assertEqual'(E,'/cloudlog#bar'(2,1),'/cloudlog#axiom'))),'.'('builtin#varName'(::(A,F),!('Axioms')),'.'('builtin#varName'(::(B,G),!('Goal')),'.'('builtin#varName'(::(C,H),!('X')),'.'('builtin#varName'(::(E,I),!('Y')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#withSimulate'(A,B),'/bootstrap#pred'),!('should take rule propagation into account'),','('/cloudlog#withSimulate'('.'('cloudlog#index'('/cloudlog#myKey'(C),'/cloudlog#bar'(C,D)),'.'('/cloudlog#bar'(1,2),'.'('/cloudlog#bar'(2,1),[]))),'/cl1#indexed'('/cloudlog#myKey'(2),E)),'/util#assertEqual'(E,'/cloudlog#bar'(2,1),'/cloudlog#axiom'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),:-('/cloudlog#withSimulate'(A,B),','('/cloudlog#initialAdditions'(A,C),','('/cloudlog#applicationClosure'(C,D),','('builtin#findall'('/cloudlog#clause'(E,F),'/cloudlog#axiom','/bootstrap#listMember'('/cloudlog#addition'('/cloudlog#clause'(E,F),G),'/cloudlog#addition',D),H),'/cloudlog#evaluateGoal'(B,H))))),'.'('builtin#varName'(::(A,I),!('Axioms')),'.'('builtin#varName'(::(B,J),!('G')),'.'('builtin#varName'(::(C,K),!('Initial')),'.'('builtin#varName'(::(D,L),!('Additions')),'.'('builtin#varName'(::(E,M),!('Head')),'.'('builtin#varName'(::(F,N),!('Body')),'.'('builtin#varName'(::(H,O),!('Clauses')),[])))))))),'builtin#true'). :-('/cloudlog#withSimulate'(A,B),','('/cloudlog#initialAdditions'(A,C),','('/cloudlog#applicationClosure'(C,D),','('builtin#findall'('/cloudlog#clause'(E,F),'/cloudlog#axiom','/bootstrap#listMember'('/cloudlog#addition'('/cloudlog#clause'(E,F),G),'/cloudlog#addition',D),H),'/cloudlog#evaluateGoal'(B,H))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#signature'(::('/cloudlog#initialAdditions'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),[]))),'.'('builtin#varName'(::(A,C),!('Axioms')),'.'('builtin#varName'(::(B,D),!('Initial')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#initialAdditions'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#axiom')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),:-('/cloudlog#initialAdditions'(A,B),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/bootstrap#listMember'(C,'/cloudlog#axiom',A),D),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#isAxiom'(C),E),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(C,F),G),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),'/cloudlog#plus','/Functional#applyBinOp'('/Functional#const'(E),'/cloudlog#plus','/Functional#const'(D))),'/bootstrap#list'('/cloudlog#addition'),B))))),'.'('builtin#varName'(::(A,H),!('Axioms')),'.'('builtin#varName'(::(B,I),!('Initial')),'.'('builtin#varName'(::(C,J),!('A')),'.'('builtin#varName'(::(D,K),!('Sim')),'.'('builtin#varName'(::(E,L),!('Program')),'.'('builtin#varName'(::(G,M),!('Generic')),[]))))))),'builtin#true'). :-('/cloudlog#initialAdditions'(A,B),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/bootstrap#listMember'(C,'/cloudlog#axiom',A),D),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#isAxiom'(C),E),','('builtin#findall'('/cloudlog#addition'(C,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(C,F),G),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(G),'/cloudlog#plus','/Functional#applyBinOp'('/Functional#const'(E),'/cloudlog#plus','/Functional#const'(D))),'/bootstrap#list'('/cloudlog#addition'),B))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#signature'(::('/cloudlog#evaluateGoal'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#axiom')),[]))),'.'('builtin#varName'(::(A,C),!('G')),'.'('builtin#varName'(::(B,D),!('Axioms')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#evaluateGoal'(A,B),'/bootstrap#pred'),'.'(::(A,'/cloudlog#pred'),'.'(::(B,'/bootstrap#list'('/cloudlog#axiom')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'annotation#shrink'(:-('/cloudlog#evaluateGoal'(A,B),'builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#true','/cloudlog#pred')),'builtin#true','builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#local'(C),'/cloudlog#pred')),C,'builtin#if'(=(::(A,'/cloudlog#pred'),::('annotation#parentheses'('/cloudlog#conj'(D,E)),'/cloudlog#pred')),','('/cloudlog#evaluateGoal'(D,B),'/cloudlog#evaluateGoal'(E,B)),'builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#not'(D),'/cloudlog#pred')),\+('/cloudlog#evaluateGoal'(D,B)),','('/bootstrap#listMember'('/cloudlog#clause'(A,F),'/cloudlog#axiom',B),'/cloudlog#evaluateGoal'(F,B)))))))),'.'('builtin#varName'(::(A,G),!('G')),'.'('builtin#varName'(::(B,H),!('Axioms')),'.'('builtin#varName'(::(C,I),!('GPrime')),'.'('builtin#varName'(::(D,J),!('G1')),'.'('builtin#varName'(::(E,K),!('G2')),'.'('builtin#varName'(::(F,L),!('Body')),[]))))))),'builtin#true'). :-('/cloudlog#evaluateGoal'(A,B),'builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#true','/cloudlog#pred')),'builtin#true','builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#local'(C),'/cloudlog#pred')),C,'builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#conj'(D,E),'/cloudlog#pred')),','('/cloudlog#evaluateGoal'(D,B),'/cloudlog#evaluateGoal'(E,B)),'builtin#if'(=(::(A,'/cloudlog#pred'),::('/cloudlog#not'(D),'/cloudlog#pred')),\+('/cloudlog#evaluateGoal'(D,B)),','('/bootstrap#listMember'('/cloudlog#clause'(A,F),'/cloudlog#axiom',B),'/cloudlog#evaluateGoal'(F,B))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/util#behavior'(::('/cloudlog#applicationClosure'(A,B),'/bootstrap#pred'),!('should unify Additions with a list of both the elements of Initial and all possible products'),','('/cloudlog#applicationClosure'('.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(C,1)),1),[])),D),','('/bootstrap#listMember'('/cloudlog#addition'('example#someFact'(2,1),E),'/cloudlog#addition',D),'/bootstrap#listMember'('/cloudlog#addition'('example#someFact'(1,2),F),'/cloudlog#addition',D)))),'.'('builtin#varName'(::(A,G),!('Initial')),'.'('builtin#varName'(::(B,H),!('Additions')),'.'('builtin#varName'(::(C,I),!('Y')),'.'('builtin#varName'(::(D,J),!('List')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#applicationClosure'(A,B),'/bootstrap#pred'),!('should unify Additions with a list of both the elements of Initial and all possible products'),','('/cloudlog#applicationClosure'('.'('/cloudlog#addition'('example#someFact'(1,2),1),'.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(1,C),'builtin#true','example#someFact'(C,1)),1),[])),D),','('/bootstrap#listMember'('/cloudlog#addition'('example#someFact'(2,1),E),'/cloudlog#addition',D),'/bootstrap#listMember'('/cloudlog#addition'('example#someFact'(1,2),F),'/cloudlog#addition',D)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#signature'(::('/cloudlog#applicationClosure'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),[]))),'.'('builtin#varName'(::(A,C),!('Initial')),'.'('builtin#varName'(::(B,D),!('Additions')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#applicationClosure'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),:-('/cloudlog#applicationClosure'(A,B),'/cloudlog#simDBInsert'(A,[],B)),'.'('builtin#varName'(::(A,C),!('Input')),'.'('builtin#varName'(::(B,D),!('Output')),[]))),'builtin#true'). :-('/cloudlog#applicationClosure'(A,B),'/cloudlog#simDBInsert'(A,[],B)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),'/bootstrap#signature'(::('/cloudlog#simDBInsert'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),'.'(::(C,'/bootstrap#list'('/cloudlog#addition')),[])))),'.'('builtin#varName'(::(A,D),!('Input')),'.'('builtin#varName'(::(B,E),!('DB')),'.'('builtin#varName'(::(C,F),!('Output')),[])))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#simDBInsert'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/cloudlog#addition')),'.'(::(C,'/bootstrap#list'('/cloudlog#addition')),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),:-('/cloudlog#simDBInsert'([],A,A),'builtin#true'),'.'('builtin#varName'(::(A,B),!('DB')),[])),'builtin#true'). :-('/cloudlog#simDBInsert'([],A,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/withSimulate.ced'),:-('/cloudlog#simDBInsert'('.'(A,B),C,D),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(B),'/cloudlog#plus','annotation#parentheses'('/Functional#applyBinOp'('/Functional#const'('.'(A,[])),'/cloudlog#mult','/Functional#const'(C)))),'/bootstrap#list'('/cloudlog#addition'),E),'/cloudlog#simDBInsert'(E,'.'(A,C),D))),'.'('builtin#varName'(::(A,F),!('First')),'.'('builtin#varName'(::(B,G),!('Rest')),'.'('builtin#varName'(::(C,H),!('DB')),'.'('builtin#varName'(::(D,I),!('Output')),'.'('builtin#varName'(::(E,J),!('RestPrime')),[])))))),'builtin#true'). :-('/cloudlog#simDBInsert'('.'(A,B),C,D),','('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(B),'/cloudlog#plus','/Functional#applyBinOp'('/Functional#const'('.'(A,[])),'/cloudlog#mult','/Functional#const'(C))),'/bootstrap#list'('/cloudlog#addition'),E),'/cloudlog#simDBInsert'(E,'.'(A,C),D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bind.ced'),'annotation#shrink'('/bootstrap#signature'(::('/parsing#bind'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/bootstrap#list'(C)),[])))),'.'('builtin#varName'(::(A,D),!('Pattern')),'.'('builtin#varName'(::(B,E),!('Str')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/parsing#bind'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/bootstrap#list'(C)),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bind.ced'),'annotation#shrink'('/bootstrap#projection'(::('/parsing#bind'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(C))),[])))))),'.'('builtin#varName'(::(A,D),!('Pattern')),'.'('builtin#varName'(::(B,E),!('Str')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/parsing#bind'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!(as)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bind.ced'),'annotation#shrink'(:-('/parsing#parse'('/parsing#bind'(A,B),C,D,E),','('/parsing#parse'(A,C,D,E),'/bootstrap#append'(B,E,C,D)))),'.'('builtin#varName'(::(A,F),!('Pattern')),'.'('builtin#varName'(::(B,G),!('Str')),'.'('builtin#varName'(::(C,H),!('Text')),'.'('builtin#varName'(::(D,I),!('T')),'.'('builtin#varName'(::(E,J),!('Residue')),[])))))),'builtin#true'). :-('/parsing#parse'('/parsing#bind'(A,B),C,D,E),','('/parsing#parse'(A,C,D,E),'/bootstrap#append'(B,E,C,D))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bind.ced'),'/bootstrap#unitTest'(','('builtin#charCodes'(!('123hello456'),A),','('/parsing#parse'('/parsing#follow'('/parsing#repeat'('/parsing#charRange'(!('0'),!('9'))),'/parsing#follow'('/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),B),'/parsing#repeat'('/parsing#charRange'(!('0'),!('9'))))),A,'/bootstrap#number',[]),'builtin#charCodes'(!(hello),B)))),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('Hello')),[]))),'builtin#true'). '/bootstrap#unitTest'(','('builtin#charCodes'(!('123hello456'),A),','('/parsing#parse'('/parsing#follow'('/parsing#repeat'('/parsing#charRange'(!('0'),!('9'))),'/parsing#follow'('/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),B),'/parsing#repeat'('/parsing#charRange'(!('0'),!('9'))))),A,'/bootstrap#number',[]),'builtin#charCodes'(!(hello),B)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#signature'(::('/parsing#pattern'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])),'.'('builtin#varName'(::(A,B),!('T')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#pattern'(A),'/bootstrap#type'),'.'(::(A,'/bootstrap#type'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#signature'(::('/parsing#parse'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/bootstrap#list'(C)),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'(C)),[]))))),'.'('builtin#varName'(::(A,E),!('Pattern')),'.'('builtin#varName'(::(B,F),!('Text')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Residue')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/parsing#parse'(A,B,C,D),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/bootstrap#list'(C)),'.'(::(C,'/bootstrap#type'),'.'(::(D,'/bootstrap#list'(C)),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#projection'(::('/parsing#parse'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!(parses)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(C))),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(leaving)),'.'('/bootstrap#vis'(::(D,'/bootstrap#list'(C))),[]))))))))),'.'('builtin#varName'(::(A,E),!('Pattern')),'.'('builtin#varName'(::(B,F),!('Text')),'.'('builtin#varName'(::(C,G),!('T')),'.'('builtin#varName'(::(D,H),!('Residue')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/parsing#parse'(A,B,C,D),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!(parses)),'.'('/bootstrap#vis'(::(B,'/bootstrap#list'(C))),'.'('/bootstrap#label'(!(::)),'.'('/bootstrap#vis'(::(C,'/bootstrap#type')),'.'('/bootstrap#label'(!(leaving)),'.'('/bootstrap#vis'(::(D,'/bootstrap#list'(C))),[]))))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#defAtom'(::('/parsing#empty','/parsing#pattern'(A))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/parsing#empty','/parsing#pattern'(A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#projection'(::('/parsing#empty','/parsing#pattern'(A)),'/bootstrap#symbol'(949)),[]),'builtin#true'). '/bootstrap#projection'(::('/parsing#empty','/parsing#pattern'(A)),'/bootstrap#symbol'(949)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),:-('/parsing#parse'('/parsing#empty',A,B,A),'builtin#true'),'.'('builtin#varName'(::(A,C),!('Text')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). :-('/parsing#parse'('/parsing#empty',A,B,A),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#signature'(::('/parsing#terminal'(A),'/parsing#pattern'(B)),'.'(::(A,B),[])),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#terminal'(A),'/parsing#pattern'(B)),'.'(::(A,B),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#projection'(::('/parsing#terminal'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),91,93),[]))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#terminal'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,B)),91,93),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#adapter'(::(A,B),::('/parsing#terminal'(A),'/parsing#pattern'(B))),'.'('builtin#varName'(::(A,C),!('Term')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,B),::('/parsing#terminal'(A),'/parsing#pattern'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),:-('/parsing#parse'('/parsing#terminal'(A),'.'(A,B),C,B),'builtin#true'),'.'('builtin#varName'(::(A,D),!('Term')),'.'('builtin#varName'(::(B,E),!('Residue')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/parsing#parse'('/parsing#terminal'(A),'.'(A,B),C,B),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#signature'(::('/parsing#follow'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/parsing#pattern'(C)),[]))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/parsing#follow'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/parsing#pattern'(C)),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#projection'(::('/parsing#follow'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/parsing#follow'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!('.')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'annotation#shrink'(:-('/parsing#parse'('/parsing#follow'(A,B),C,D,E),','('/parsing#parse'(A,C,D,F),'/parsing#parse'(B,F,D,E)))),'.'('builtin#varName'(::(A,G),!('A')),'.'('builtin#varName'(::(B,H),!('B')),'.'('builtin#varName'(::(C,I),!('Text')),'.'('builtin#varName'(::(D,J),!('T')),'.'('builtin#varName'(::(E,K),!('Residue')),'.'('builtin#varName'(::(F,L),!('Interim')),[]))))))),'builtin#true'). :-('/parsing#parse'('/parsing#follow'(A,B),C,D,E),','('/parsing#parse'(A,C,D,F),'/parsing#parse'(B,F,D,E))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#signature'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/parsing#pattern'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/parsing#pattern'(B)),[])))),'.'('builtin#varName'(::(A,D),!('Sym')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#signature'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/parsing#pattern'(B)),'.'(::(B,'/bootstrap#type'),'.'(::(C,'/parsing#pattern'(B)),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#projection'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#label'(!(::=)),'.'('/bootstrap#vis'(::(C,'/parsing#pattern'(B))),[])))))),'.'('builtin#varName'(::(A,D),!('Sym')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#projection'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(B,'/bootstrap#type')),'.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#label'(!(::=)),'.'('/bootstrap#vis'(::(C,'/parsing#pattern'(B))),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#alias'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),!(::=)),'.'('builtin#varName'(::(A,D),!('Sym')),'.'('builtin#varName'(::(B,E),!('T')),'.'('builtin#varName'(::(C,F),!('Body')),[])))),'builtin#true'). '/bootstrap#alias'(::('/parsing#prod'(A,B,C),'/bootstrap#statement'),!(::=)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),~>('/parsing#prod'(A,B,C),'annotation#shrink'(:-('/parsing#parse'(A,D,B,E),'/parsing#parse'(C,D,B,E)))),'.'('builtin#varName'(::(A,F),!('Sym')),'.'('builtin#varName'(::(B,G),!('T')),'.'('builtin#varName'(::(C,H),!('Body')),'.'('builtin#varName'(::(D,I),!('Text')),'.'('builtin#varName'(::(E,J),!('Residue')),[])))))),'builtin#true'). :-('/parsing#parse'(A,B,C,D),','('/parsing#prod'(A,C,E),'/parsing#parse'(E,B,C,D))). :-('/parsing#prod'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#defAtom'(::('/parsing#ones','/parsing#pattern'('/bootstrap#number'))),[]),'builtin#true'). '/bootstrap#defAtom'(::('/parsing#ones','/parsing#pattern'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/parsing#prod'('/parsing#ones','/bootstrap#number','/parsing#empty'),[]),'builtin#true'). '/parsing#prod'('/parsing#ones','/bootstrap#number','/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/parsing#prod'('/parsing#ones','/bootstrap#number','/parsing#follow'('/parsing#terminal'(1),'/parsing#ones')),[]),'builtin#true'). '/parsing#prod'('/parsing#ones','/bootstrap#number','/parsing#follow'('/parsing#terminal'(1),'/parsing#ones')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/bnf.ced'),'/bootstrap#unitTest'('/parsing#parse'('/parsing#ones','.'(1,'.'(1,'.'(1,[]))),'/bootstrap#number',[])),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parse'('/parsing#ones','.'(1,'.'(1,'.'(1,[]))),'/bootstrap#number',[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#signature'(::('/parsing#charRange'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('C1')),'.'('builtin#varName'(::(B,D),!('C2')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#charRange'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#projection'(::('/parsing#charRange'(A,B),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[])))),91,93)),'.'('builtin#varName'(::(A,C),!('C1')),'.'('builtin#varName'(::(B,D),!('C2')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#charRange'(A,B),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!(-)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[])))),91,93)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#alias'(::('/parsing#charRange'(!(a),!(z)),'/parsing#pattern'('/bootstrap#number')),!('[-]')),[]),'builtin#true'). '/bootstrap#alias'(::('/parsing#charRange'(!(a),!(z)),'/parsing#pattern'('/bootstrap#number')),!('[-]')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),:-('/parsing#parse'('/parsing#charRange'(A,B),'.'(C,D),'/bootstrap#number',D),','('/Functional#ge'('/Functional#const'(C),'/parsing#charCode'(A),'/bootstrap#number'),'/Functional#ge'('/parsing#charCode'(B),'/Functional#const'(C),'/bootstrap#number'))),'.'('builtin#varName'(::(A,E),!('C1')),'.'('builtin#varName'(::(B,F),!('C2')),'.'('builtin#varName'(::(C,G),!('FirstChar')),'.'('builtin#varName'(::(D,H),!('Rest')),[]))))),'builtin#true'). :-('/parsing#parse'('/parsing#charRange'(A,B),'.'(C,D),'/bootstrap#number',D),','('/Functional#ge'('/Functional#const'(C),'/parsing#charCode'(A),'/bootstrap#number'),'/Functional#ge'('/parsing#charCode'(B),'/Functional#const'(C),'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#unitTest'('/parsing#parseString'('/parsing#repeat'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z')))),!('Hello'))),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parseString'('/parsing#repeat'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z')))),!('Hello'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#unitTest'(','('builtin#charCodes'(!('Hello'),A),\+('/parsing#parse'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),A,'/bootstrap#number',[])))),'.'('builtin#varName'(::(A,B),!('Codes')),[])),'builtin#true'). '/bootstrap#unitTest'(','('builtin#charCodes'(!('Hello'),A),\+('/parsing#parse'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),A,'/bootstrap#number',[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#signature'(::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#projection'(::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#string')),39,39)),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#projection'(::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#string')),39,39)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number'))),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#char'(A),'/parsing#pattern'('/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),:-('/parsing#parse'('/parsing#char'(A),B,'/bootstrap#number',C),','('builtin#charCodes'(A,D),'/bootstrap#append'(D,C,B,'/bootstrap#number'))),'.'('builtin#varName'(::(A,E),!('Char')),'.'('builtin#varName'(::(B,F),!('Text')),'.'('builtin#varName'(::(C,G),!('Residue')),'.'('builtin#varName'(::(D,H),!('CharCodes')),[]))))),'builtin#true'). :-('/parsing#parse'('/parsing#char'(A),B,'/bootstrap#number',C),','('builtin#charCodes'(A,D),'/bootstrap#append'(D,C,B,'/bootstrap#number'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#signature'(::('/parsing#parseString'(A,B),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'('/bootstrap#number')),'.'(::(B,'/bootstrap#string'),[]))),'.'('builtin#varName'(::(A,C),!('Pattern')),'.'('builtin#varName'(::(B,D),!('Str')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#parseString'(A,B),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'('/bootstrap#number')),'.'(::(B,'/bootstrap#string'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#projection'(::('/parsing#parseString'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'('/bootstrap#number'))),'.'('/bootstrap#label'(!(parses)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))),'.'('builtin#varName'(::(A,C),!('Pattern')),'.'('builtin#varName'(::(B,D),!('Str')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#parseString'(A,B),'/bootstrap#pred'),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'('/bootstrap#number'))),'.'('/bootstrap#label'(!(parses)),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),:-('/parsing#parseString'(A,B),','('builtin#charCodes'(B,C),'/parsing#parse'(A,C,'/bootstrap#number',[]))),'.'('builtin#varName'(::(A,D),!('Pattern')),'.'('builtin#varName'(::(B,E),!('Str')),'.'('builtin#varName'(::(C,F),!('Codes')),[])))),'builtin#true'). :-('/parsing#parseString'(A,B),','('builtin#charCodes'(B,C),'/parsing#parse'(A,C,'/bootstrap#number',[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#signature'(::('/parsing#charCode'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('Char')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#charCode'(A),'/Functional#expr'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/Functional#def'('/parsing#charCode'(A),'/bootstrap#number','/Functional#where'('/Functional#const'(B),'builtin#charCodes'(A,'.'(B,[])))),'.'('builtin#varName'(::(A,C),!('Char')),'.'('builtin#varName'(::(B,D),!('Code')),[]))),'builtin#true'). '/Functional#def'('/parsing#charCode'(A),'/bootstrap#number','/Functional#where'('/Functional#const'(B),'builtin#charCodes'(A,'.'(B,[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#signature'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('C')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#projection'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#label'(!(^)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[]))),91,93)),'.'('builtin#varName'(::(A,B),!('C')),[])),'builtin#true'). '/bootstrap#projection'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),'/bootstrap#brackets'('/bootstrap#horiz'('.'('/bootstrap#label'(!(^)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),[]))),91,93)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/bootstrap#alias'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),!(^)),'.'('builtin#varName'(::(A,B),!('C')),[])),'builtin#true'). '/bootstrap#alias'(::('/parsing#not'(A),'/parsing#pattern'('/bootstrap#number')),!(^)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/charRange.ced'),'/parsing#prod'('/parsing#not'(A),'/bootstrap#number','/parsing#follow'('/parsing#terminal'(B),'/parsing#pred'(','('builtin#charCodes'(A,C),\+('/bootstrap#listMember'(B,'/bootstrap#number',C)))))),'.'('builtin#varName'(::(A,D),!('C')),'.'('builtin#varName'(::(B,E),!('Code')),'.'('builtin#varName'(::(C,F),!('Codes')),[])))),'builtin#true'). '/parsing#prod'('/parsing#not'(A),'/bootstrap#number','/parsing#follow'('/parsing#terminal'(B),'/parsing#pred'(','('builtin#charCodes'(A,C),\+('/bootstrap#listMember'(B,'/bootstrap#number',C)))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#alt'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/parsing#pattern'(C)),[]))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#signature'(::('/parsing#alt'(A,B),'/parsing#pattern'(C)),'.'(::(A,'/parsing#pattern'(C)),'.'(::(B,'/parsing#pattern'(C)),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#alt'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!('|')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(C))),[]))))),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/bootstrap#projection'(::('/parsing#alt'(A,B),'/parsing#pattern'(C)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(C))),'.'('/bootstrap#label'(!('|')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(C))),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#alt'(A,B),C,A),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/parsing#prod'('/parsing#alt'(A,B),C,A). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#alt'(A,B),C,B),'.'('builtin#varName'(::(A,D),!('A')),'.'('builtin#varName'(::(B,E),!('B')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). '/parsing#prod'('/parsing#alt'(A,B),C,B). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#smaller'('/bootstrap#label'(!(*))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#smaller'('/bootstrap#label'(!(*))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#alias'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),!(*)),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/parsing#repeat'(A),'/parsing#pattern'(B)),!(*)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#repeat'(A),B,'/parsing#alt'('/parsing#empty','/parsing#follow'(A,'/parsing#repeat'(A)))),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/parsing#prod'('/parsing#repeat'(A),B,'/parsing#alt'('/parsing#empty','/parsing#follow'(A,'/parsing#repeat'(A)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(+))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(+))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#alias'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),!(+)),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/parsing#oneOrMore'(A),'/parsing#pattern'(B)),!(+)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#oneOrMore'(A),B,'/parsing#alt'(A,'/parsing#follow'(A,'/parsing#oneOrMore'(A)))),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/parsing#prod'('/parsing#oneOrMore'(A),B,'/parsing#alt'(A,'/parsing#follow'(A,'/parsing#oneOrMore'(A)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#unitTest'('/parsing#parse'('/parsing#follow'('/parsing#terminal'(1),'/parsing#follow'('/parsing#repeat'('/parsing#terminal'(2)),'/parsing#terminal'(3))),'.'(1,'.'(2,'.'(2,'.'(2,'.'(3,[]))))),'/bootstrap#number',[])),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parse'('/parsing#follow'('/parsing#terminal'(1),'/parsing#follow'('/parsing#repeat'('/parsing#terminal'(2)),'/parsing#terminal'(3))),'.'(1,'.'(2,'.'(2,'.'(2,'.'(3,[]))))),'/bootstrap#number',[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#smaller'('/bootstrap#label'(!('*!'))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#smaller'('/bootstrap#label'(!('*!'))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#alias'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),!('*!')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/parsing#repeatMax'(A),'/parsing#pattern'(B)),!('*!')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#repeatMax'(A),B,'/parsing#if'(A,'/parsing#repeatMax'(A),'/parsing#empty')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/parsing#prod'('/parsing#repeatMax'(A),B,'/parsing#if'(A,'/parsing#repeatMax'(A),'/parsing#empty')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!('+!'))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!('+!'))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#alias'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),!('+!')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/parsing#oneOrMoreMax'(A),'/parsing#pattern'(B)),!('+!')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#oneOrMoreMax'(A),B,'/parsing#follow'(A,'/parsing#repeatMax'(A))),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/parsing#prod'('/parsing#oneOrMoreMax'(A),B,'/parsing#follow'(A,'/parsing#repeatMax'(A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#unitTest'('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!('A'),!('Z'))),'/parsing#repeat'('/parsing#charRange'(!(a),!(z)))),!('HELLOworld'))),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!('A'),!('Z'))),'/parsing#repeat'('/parsing#charRange'(!(a),!(z)))),!('HELLOworld'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#unitTest'('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!(a),!(z))),'/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),[])),!(helloworld))),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!(a),!(z))),'/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),[])),!(helloworld))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#unitTest'(\+('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!(a),!(z))),'/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),'.'(A,B))),!(helloworld)))),[]),'builtin#true'). '/bootstrap#unitTest'(\+('/parsing#parseString'('/parsing#follow'('/parsing#repeatMax'('/parsing#charRange'(!(a),!(z))),'/parsing#bind'('/parsing#repeat'('/parsing#charRange'(!(a),!(z))),'.'(A,B))),!(helloworld)))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#signature'(::('/parsing#opt'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#opt'(A),'/parsing#pattern'(B)),'.'(::(A,'/parsing#pattern'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#projection'(::('/parsing#opt'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(?))),[])),'cpi#top')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#opt'(A),'/parsing#pattern'(B)),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'(B))),'.'('/bootstrap#halfSize'('/bootstrap#label'(!(?))),[])),'cpi#top')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/bootstrap#alias'(::('/parsing#opt'(A),'/parsing#pattern'(B)),!(?)),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#alias'(::('/parsing#opt'(A),'/parsing#pattern'(B)),!(?)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/ebnf.ced'),'/parsing#prod'('/parsing#opt'(A),B,'/parsing#alt'(A,'/parsing#empty')),'.'('builtin#varName'(::(A,C),!('P')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/parsing#prod'('/parsing#opt'(A),B,'/parsing#alt'(A,'/parsing#empty')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/if.ced'),'/bootstrap#signature'(::('/parsing#if'(A,B,C),'/parsing#pattern'(D)),'.'(::(A,'/parsing#pattern'(D)),'.'(::(B,'/parsing#pattern'(D)),'.'(::(C,'/parsing#pattern'(D)),[])))),'.'('builtin#varName'(::(A,E),!('P1')),'.'('builtin#varName'(::(B,F),!('P2')),'.'('builtin#varName'(::(C,G),!('PPrime')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#signature'(::('/parsing#if'(A,B,C),'/parsing#pattern'(D)),'.'(::(A,'/parsing#pattern'(D)),'.'(::(B,'/parsing#pattern'(D)),'.'(::(C,'/parsing#pattern'(D)),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/if.ced'),'/bootstrap#projection'(::('/parsing#if'(A,B,C),'/parsing#pattern'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/parsing#pattern'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(D))),[]))),'.'('/bootstrap#label'(!(else)),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/parsing#pattern'(D))),[]))),[])))))),'.'('builtin#varName'(::(A,E),!('P1')),'.'('builtin#varName'(::(B,F),!('P2')),'.'('builtin#varName'(::(C,G),!('PPrime')),'.'('builtin#varName'(::(D,H),!('T')),[]))))),'builtin#true'). '/bootstrap#projection'(::('/parsing#if'(A,B,C),'/parsing#pattern'(D)),'/bootstrap#vert'('.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(if)),'.'('/bootstrap#vis'(::(A,'/parsing#pattern'(D))),[]))),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'(D))),[]))),'.'('/bootstrap#label'(!(else)),'.'('/bootstrap#horiz'('.'('/bootstrap#label'(!(' ')),'.'('/bootstrap#vis'(::(C,'/parsing#pattern'(D))),[]))),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/if.ced'),:-('/parsing#parse'('/parsing#if'(A,B,C),D,E,F),'builtin#if'('/parsing#parse'(A,D,E,G),'/parsing#parse'(B,G,E,F),'/parsing#parse'(C,D,E,F))),'.'('builtin#varName'(::(A,H),!('P1')),'.'('builtin#varName'(::(B,I),!('P2')),'.'('builtin#varName'(::(C,J),!('PPrime')),'.'('builtin#varName'(::(D,K),!('Text')),'.'('builtin#varName'(::(E,L),!('T')),'.'('builtin#varName'(::(F,M),!('Residue')),'.'('builtin#varName'(::(G,N),!('Interim')),[])))))))),'builtin#true'). :-('/parsing#parse'('/parsing#if'(A,B,C),D,E,F),'builtin#if'('/parsing#parse'(A,D,E,G),'/parsing#parse'(B,G,E,F),'/parsing#parse'(C,D,E,F))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#defAtom'(::('/parsing#lexicalContext','/bootstrap#type')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/parsing#lexicalContext','/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#token'(A),'/bootstrap#type'),'.'(::(A,'/parsing#lexicalContext'),[])),'.'('builtin#varName'(::(A,B),!('Lex')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#token'(A),'/bootstrap#type'),'.'(::(A,'/parsing#lexicalContext'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#projection'(::('/parsing#token'(A),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/parsing#lexicalContext')),60,62),[]))),'.'('builtin#varName'(::(A,B),!('Lex')),[])),'builtin#true'). '/bootstrap#projection'(::('/parsing#token'(A),'/bootstrap#type'),'/bootstrap#horiz'('.'('/bootstrap#brackets'('/bootstrap#vis'(::(A,'/parsing#lexicalContext')),60,62),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#adapter'(::(A,'/parsing#lexicalContext'),::('/parsing#token'(A),'/bootstrap#type')),'.'('builtin#varName'(::(A,B),!('Lex')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/parsing#lexicalContext'),::('/parsing#token'(A),'/bootstrap#type')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#token'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/parsing#token'(B)),'.'(::(B,'/parsing#lexicalContext'),[]))),'.'('builtin#varName'(::(A,C),!('Token')),'.'('builtin#varName'(::(B,D),!('Lex')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#token'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/parsing#token'(B)),'.'(::(B,'/parsing#lexicalContext'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#tokens'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#list'('/parsing#token'(B))),'.'(::(B,'/parsing#lexicalContext'),[]))),'.'('builtin#varName'(::(A,C),!('Tokens')),'.'('builtin#varName'(::(B,D),!('Lex')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#tokens'(A,B),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/bootstrap#list'('/parsing#token'(B))),'.'(::(B,'/parsing#lexicalContext'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#prod'('/parsing#tokens'([],A),'/bootstrap#number','/parsing#repeatMax'('/parsing#layout'(A))),'.'('builtin#varName'(::(A,B),!('Lex')),[])),'builtin#true'). '/parsing#prod'('/parsing#tokens'([],A),'/bootstrap#number','/parsing#repeatMax'('/parsing#layout'(A))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#prod'('/parsing#tokens'('.'(A,B),C),'/bootstrap#number','/parsing#follow'('/parsing#follow'('/parsing#repeatMax'('/parsing#layout'(C)),'/parsing#token'(A,C)),'/parsing#tokens'(B,C))),'.'('builtin#varName'(::(A,D),!('Token')),'.'('builtin#varName'(::(B,E),!('Tokens')),'.'('builtin#varName'(::(C,F),!('Lex')),[])))),'builtin#true'). '/parsing#prod'('/parsing#tokens'('.'(A,B),C),'/bootstrap#number','/parsing#follow'('/parsing#follow'('/parsing#repeatMax'('/parsing#layout'(C)),'/parsing#token'(A,C)),'/parsing#tokens'(B,C))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#layout'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/parsing#lexicalContext'),[])),'.'('builtin#varName'(::(A,B),!('Lex')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#layout'(A),'/parsing#pattern'('/bootstrap#number')),'.'(::(A,'/parsing#lexicalContext'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#prod'('/parsing#layout'('/parsing#words'),'/bootstrap#number','/parsing#char'(!(' '))),[]),'builtin#true'). '/parsing#prod'('/parsing#layout'('/parsing#words'),'/bootstrap#number','/parsing#char'(!(' '))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#projection'(::('/parsing#tokenDef'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(token)),'.'('/bootstrap#halfSize'('/bootstrap#brackets'('/bootstrap#vis'(::(C,'/parsing#lexicalContext')),40,41)),'.'('/bootstrap#vis'(::(A,'/parsing#token'(C))),'.'('/bootstrap#label'(!(::=)),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'('/bootstrap#number'))),[]))))))),'.'('builtin#varName'(::(A,D),!('Token')),'.'('builtin#varName'(::(B,E),!('Pattern')),'.'('builtin#varName'(::(C,F),!('Lex')),[])))),'builtin#true'). '/bootstrap#projection'(::('/parsing#tokenDef'(A,B,C),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(token)),'.'('/bootstrap#halfSize'('/bootstrap#brackets'('/bootstrap#vis'(::(C,'/parsing#lexicalContext')),40,41)),'.'('/bootstrap#vis'(::(A,'/parsing#token'(C))),'.'('/bootstrap#label'(!(::=)),'.'('/bootstrap#vis'(::(B,'/parsing#pattern'('/bootstrap#number'))),[]))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#tokenDef'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/parsing#token'(C)),'.'(::(B,'/parsing#pattern'('/bootstrap#number')),'.'(::(C,'/parsing#lexicalContext'),[])))),'.'('builtin#varName'(::(A,D),!('Token')),'.'('builtin#varName'(::(B,E),!('Pattern')),'.'('builtin#varName'(::(C,F),!('Lex')),[])))),'builtin#true'). '/bootstrap#signature'(::('/parsing#tokenDef'(A,B,C),'/bootstrap#statement'),'.'(::(A,'/parsing#token'(C)),'.'(::(B,'/parsing#pattern'('/bootstrap#number')),'.'(::(C,'/parsing#lexicalContext'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),~>('/parsing#tokenDef'(A,B,C),'/parsing#prod'('/parsing#token'(A,C),'/bootstrap#number',B)),'.'('builtin#varName'(::(A,D),!('Token')),'.'('builtin#varName'(::(B,E),!('Pattern')),'.'('builtin#varName'(::(C,F),!('Lex')),[])))),'builtin#true'). :-('/parsing#prod'('/parsing#token'(A,B),'/bootstrap#number',C),','('/parsing#tokenDef'(A,C,B),'builtin#true')). :-('/parsing#tokenDef'(A,B,C),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#defAtom'(::('/parsing#words','/parsing#lexicalContext')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/parsing#words','/parsing#lexicalContext')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#word'(A),'/parsing#token'('/parsing#words')),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,B),!('W')),[])),'builtin#true'). '/bootstrap#signature'(::('/parsing#word'(A),'/parsing#token'('/parsing#words')),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#projection'(::('/parsing#word'(A),'/parsing#token'('/parsing#words')),'/bootstrap#horiz'('.'('/bootstrap#label'(!('\'')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('\'')),[]))))),'.'('builtin#varName'(::(A,B),!('W')),[])),'builtin#true'). '/bootstrap#projection'(::('/parsing#word'(A),'/parsing#token'('/parsing#words')),'/bootstrap#horiz'('.'('/bootstrap#label'(!('\'')),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('\'')),[]))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#word'(A),'/parsing#token'('/parsing#words'))),'.'('builtin#varName'(::(A,B),!('W')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#word'(A),'/parsing#token'('/parsing#words'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#terminal'('/parsing#word'(A)),'/parsing#pattern'('/parsing#token'('/parsing#words')))),'.'('builtin#varName'(::(A,B),!('W')),[])),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#string'),::('/parsing#terminal'('/parsing#word'(A)),'/parsing#pattern'('/parsing#token'('/parsing#words')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#tokenDef'('/parsing#word'(A),'/parsing#follow'('/parsing#bind'('/parsing#oneOrMoreMax'('annotation#parentheses'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z'))))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/parsing#words'),'.'('builtin#varName'(::(A,C),!('Str')),'.'('builtin#varName'(::(B,D),!('StrPrime')),[]))),'builtin#true'). '/parsing#tokenDef'('/parsing#word'(A),'/parsing#follow'('/parsing#bind'('/parsing#oneOrMoreMax'('/parsing#alt'('/parsing#charRange'(!(a),!(z)),'/parsing#charRange'(!('A'),!('Z')))),B),'/parsing#pred'('builtin#charCodes'(A,B))),'/parsing#words'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#unitTest'('/parsing#parseString'('/parsing#tokens'('.'('/parsing#word'(!(hello)),'.'('/parsing#word'(!(world)),[])),'/parsing#words'),!('hello world'))),[]),'builtin#true'). '/bootstrap#unitTest'('/parsing#parseString'('/parsing#tokens'('.'('/parsing#word'(!(hello)),'.'('/parsing#word'(!(world)),[])),'/parsing#words'),!('hello world'))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#sigProj'(::('/parsing#lexParseString'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'('/parsing#token'(C))),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/parsing#lexicalContext'),[]))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'('/parsing#token'(C)))),'.'('/bootstrap#label'(!('parses the tokens of')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('under context')),'.'('/bootstrap#vis'(::(C,'/parsing#lexicalContext')),[]))))))),'.'('builtin#varName'(::(A,D),!('Pattern')),'.'('builtin#varName'(::(B,E),!('String')),'.'('builtin#varName'(::(C,F),!('Lex')),[])))),'builtin#true'). '/bootstrap#sigProj'(::('/parsing#lexParseString'(A,B,C),'/bootstrap#pred'),'.'(::(A,'/parsing#pattern'('/parsing#token'(C))),'.'(::(B,'/bootstrap#string'),'.'(::(C,'/parsing#lexicalContext'),[]))),'/bootstrap#horiz'('.'('/bootstrap#vis'(::(A,'/parsing#pattern'('/parsing#token'(C)))),'.'('/bootstrap#label'(!('parses the tokens of')),'.'('/bootstrap#vis'(::(B,'/bootstrap#string')),'.'('/bootstrap#label'(!('under context')),'.'('/bootstrap#vis'(::(C,'/parsing#lexicalContext')),[]))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),:-('/parsing#lexParseString'(A,B,C),','('/parsing#parseString'('/parsing#tokens'(D,C),B),'/parsing#parse'(A,D,'/parsing#token'(C),[]))),'.'('builtin#varName'(::(A,E),!('Pattern')),'.'('builtin#varName'(::(B,F),!('String')),'.'('builtin#varName'(::(C,G),!('Lex')),'.'('builtin#varName'(::(D,H),!('Tokens')),[]))))),'builtin#true'). :-('/parsing#lexParseString'(A,B,C),','('/parsing#parseString'('/parsing#tokens'(D,C),B),'/parsing#parse'(A,D,'/parsing#token'(C),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#symbol'(A),'/parsing#token'(B)),'.'(::(A,'/bootstrap#string'),[])),'.'('builtin#varName'(::(A,C),!('Symbol')),'.'('builtin#varName'(::(B,D),!('Lex')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#symbol'(A),'/parsing#token'(B)),'.'(::(A,'/bootstrap#string'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#defSymbol'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/parsing#lexicalContext'),[]))),'.'('builtin#varName'(::(A,C),!('Symbol')),'.'('builtin#varName'(::(B,D),!('Lex')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#defSymbol'(A,B),'/bootstrap#statement'),'.'(::(A,'/bootstrap#string'),'.'(::(B,'/parsing#lexicalContext'),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#projection'(::('/parsing#defSymbol'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(symbol)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('in context')),'.'('/bootstrap#vis'(::(B,'/parsing#lexicalContext')),[])))))),'.'('builtin#varName'(::(A,C),!('Symbol')),'.'('builtin#varName'(::(B,D),!('Lex')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#defSymbol'(A,B),'/bootstrap#statement'),'/bootstrap#horiz'('.'('/bootstrap#label'(!(symbol)),'.'('/bootstrap#vis'(::(A,'/bootstrap#string')),'.'('/bootstrap#label'(!('in context')),'.'('/bootstrap#vis'(::(B,'/parsing#lexicalContext')),[])))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),~>('/parsing#defSymbol'(A,B),'/parsing#prod'('/parsing#token'('/parsing#symbol'(A),B),'/bootstrap#number','/parsing#follow'('/parsing#pred'('builtin#charCodes'(A,C)),'/parsing#terminals'(C)))),'.'('builtin#varName'(::(A,D),!('Symbol')),'.'('builtin#varName'(::(B,E),!('Lex')),'.'('builtin#varName'(::(C,F),!('Codes')),[])))),'builtin#true'). :-('/parsing#prod'('/parsing#token'('/parsing#symbol'(A),B),'/bootstrap#number','/parsing#follow'('/parsing#pred'('builtin#charCodes'(A,C)),'/parsing#terminals'(C))),','('/parsing#defSymbol'(A,B),'builtin#true')). :-('/parsing#defSymbol'(A,B),'builtin#fail'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/bootstrap#signature'(::('/parsing#terminals'(A),'/parsing#pattern'(B)),'.'(::(A,'/bootstrap#list'(B)),[])),'.'('builtin#varName'(::(A,C),!('Terminals')),'.'('builtin#varName'(::(B,D),!('Type')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#terminals'(A),'/parsing#pattern'(B)),'.'(::(A,'/bootstrap#list'(B)),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#prod'('/parsing#terminals'([]),A,'/parsing#empty'),'.'('builtin#varName'(::(A,B),!('Type')),[])),'builtin#true'). '/parsing#prod'('/parsing#terminals'([]),A,'/parsing#empty'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/lexical.ced'),'/parsing#prod'('/parsing#terminals'('.'(A,B)),C,'/parsing#follow'('/parsing#terminal'(A),'/parsing#terminals'(B))),'.'('builtin#varName'(::(A,D),!('First')),'.'('builtin#varName'(::(B,E),!('Rest')),'.'('builtin#varName'(::(C,F),!('Type')),[])))),'builtin#true'). '/parsing#prod'('/parsing#terminals'('.'(A,B)),C,'/parsing#follow'('/parsing#terminal'(A),'/parsing#terminals'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/pred.ced'),'/bootstrap#signature'(::('/parsing#pred'(A),'/parsing#pattern'(B)),'.'(::(A,'/bootstrap#pred'),[])),'.'('builtin#varName'(::(A,C),!('G')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#signature'(::('/parsing#pred'(A),'/parsing#pattern'(B)),'.'(::(A,'/bootstrap#pred'),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/pred.ced'),'/bootstrap#projection'(::('/parsing#pred'(A),'/parsing#pattern'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),123,125)),'.'('builtin#varName'(::(A,C),!('G')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#projection'(::('/parsing#pred'(A),'/parsing#pattern'(B)),'/bootstrap#brackets'('/bootstrap#vis'(::(A,'/bootstrap#pred')),123,125)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/pred.ced'),'/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/parsing#pred'(A),'/parsing#pattern'(B))),'.'('builtin#varName'(::(A,C),!('G')),'.'('builtin#varName'(::(B,D),!('T')),[]))),'builtin#true'). '/bootstrap#adapter'(::(A,'/bootstrap#pred'),::('/parsing#pred'(A),'/parsing#pattern'(B))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/parsing/pred.ced'),:-('/parsing#parse'('/parsing#pred'(A),B,C,B),A),'.'('builtin#varName'(::(A,D),!('G')),'.'('builtin#varName'(::(B,E),!('Text')),'.'('builtin#varName'(::(C,F),!('T')),[])))),'builtin#true'). :-('/parsing#parse'('/parsing#pred'(A),B,C,B),A). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/bootstrap#signature'(::('/cloudlog#masterTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#masterTrans'(A),'/impred#impred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),[])). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/bootstrap#projection'(::('/cloudlog#masterTrans'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('master trans')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/cloudlog#addition')),'/bootstrap#vert'),[])))),'.'('builtin#varName'(::(A,B),!('Trans')),[])),'builtin#true'). '/bootstrap#projection'(::('/cloudlog#masterTrans'(A),'/impred#impred'),'/bootstrap#horiz'('.'('/bootstrap#label'(!('master trans')),'.'('cpi#vis'(::(A,'/bootstrap#list'('/cloudlog#addition')),'/bootstrap#vert'),[])))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should update the table version to the current time '),'/impred#simulate'('/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(777,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),[]),D)),'.'('builtin#varName'(::(A,E),!('Trans')),'.'('builtin#varName'(::(B,F),!('X')),'.'('builtin#varName'(::(C,G),!('Y')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should update the table version to the current time '),'/impred#simulate'('/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(777,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),[],'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),[]),D)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/bootstrap#defAtom'(::('/cloudlog#exists','/cloudlog#axiom')),[]),'builtin#true'). '/bootstrap#defAtom'(::('/cloudlog#exists','/cloudlog#axiom')). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should fetch the rules of the existing version and store the new version'),'/impred#simulate'('/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(777,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(B,1),'builtin#true','example#someFact'(1,B)),2),[])),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),'.'('/nodalion#addToCounter'(!(master),'/cloudlog#exists',1),'.'('/nodalion#addToCounter'(!(rules),'/cloudlog#rule'('example#someFact'(B,1),'builtin#true','example#someFact'(1,B)),2),'.'('/nodalion#addToCounter'(!(rules),'/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[])))),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),[])))),E)),'.'('builtin#varName'(::(A,F),!('Trans')),'.'('builtin#varName'(::(B,G),!('X')),'.'('builtin#varName'(::(C,H),!('Y')),[])))),'builtin#true'). '/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should fetch the rules of the existing version and store the new version'),'/impred#simulate'('/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[]))),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact'),'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(777,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'.'('/impred#task'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(B,1),'builtin#true','example#someFact'(1,B)),2),[])),'/impred#localStoreVal'),'.'('/impred#task'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal'),'.'('/impred#task'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),'.'('/nodalion#addToCounter'(!(master),'/cloudlog#exists',1),'.'('/nodalion#addToCounter'(!(rules),'/cloudlog#rule'('example#someFact'(B,1),'builtin#true','example#someFact'(1,B)),2),'.'('/nodalion#addToCounter'(!(rules),'/cloudlog#rule'('example#someFact'(B,C),'builtin#true','example#someFact'(C,B)),1),[])))),D,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),[])))),E)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should scan the table enqueuing updateMaster jobs '),'/impred#simulate'('/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),B),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(D,1),'builtin#true','example#someFact'(1,D)),2),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact'),E),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(D,F),'builtin#true','example#someFact'(F,D)),1),[]))))))),'.'('/impred#task'('/nodalion#scan'(!('example#someFact'),G,H,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(!('example#someFact'),G,H,777))),I,'/nodalion#voidType'),[]),J)),'.'('builtin#varName'(::(A,K),!('Trans')),'.'('builtin#varName'(::(D,L),!('X')),'.'('builtin#varName'(::(F,M),!('Y')),'.'('builtin#varName'(::(G,N),!('Row')),'.'('builtin#varName'(::(H,O),!('T')),[])))))),'builtin#true'). '/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should scan the table enqueuing updateMaster jobs '),'/impred#simulate'('/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),B),C,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(D,1),'builtin#true','example#someFact'(1,D)),2),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact'),E),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('/cloudlog#rule'('example#someFact'(D,F),'builtin#true','example#someFact'(F,D)),1),[]))))))),'.'('/impred#task'('/nodalion#scan'(!('example#someFact'),G,H,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(!('example#someFact'),G,H,777))),I,'/nodalion#voidType'),[]),J)). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should enqueue additions based on interactions between Trans existing axioms'),','('/impred#simulate'('/impred#with'('/nodalion#scan'(!('example#someFact'),B,C,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(!('example#someFact'),B,C,777))),D,'/nodalion#voidType','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),E),'.'('/nodalion#value'(!(rules),'/cloudlog#rule'('example#someFact'(F,1),'builtin#true','example#someFact'(1,F)),[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,1),'builtin#true','example#someFact'(1,F)),2),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact'),G),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('example#someFact'(F,F),1),[])))))))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'(A),'/impred#impred'),H,'/nodalion#voidType'),[]),I),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,1),2),[]),'/bootstrap#list'('/cloudlog#addition')))),'.'('builtin#varName'(::(A,J),!('Trans')),'.'('builtin#varName'(::(B,K),!('Row')),'.'('builtin#varName'(::(C,L),!('T')),'.'('builtin#varName'(::(F,M),!('X')),[]))))),'builtin#true'). '/util#behavior'(::('/cloudlog#masterTrans'(A),'/impred#impred'),!('should enqueue additions based on interactions between Trans existing axioms'),','('/impred#simulate'('/impred#with'('/nodalion#scan'(!('example#someFact'),B,C,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(!('example#someFact'),B,C,777))),D,'/nodalion#voidType','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact:777'),E),'.'('/nodalion#value'(!(rules),'/cloudlog#rule'('example#someFact'(F,1),'builtin#true','example#someFact'(1,F)),[]),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#localGet'(!('example#someFact:444:rules')),'/cloudlog#masterRules'('.'('/nodalion#counterValue'(!(rules),'/cloudlog#rule'('example#someFact'(F,1),'builtin#true','example#someFact'(1,F)),2),[])),'/impred#localStoreVal','/impred#with'('/impred#localGet'(!('example#someFact:444:facts')),'/cloudlog#masterRules'([]),'/impred#localStoreVal','/impred#with'('/nodalion#trans'(!('%masters'),!('example#someFact'),G),'.'('/nodalion#value'(!(master),'/cloudlog#version','.'(444,[])),[]),'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number')),'/impred#with'('/impred#now',777,'/bootstrap#number','/cloudlog#masterTrans'('.'('/cloudlog#addition'('example#someFact'(F,F),1),[])))))))),'.'('/impred#task'('/nodalion#enqueue'(!(wq),'/cloudlog#trans'(A),'/impred#impred'),H,'/nodalion#voidType'),[]),I),'/util#assertEqual'(A,'.'('/cloudlog#addition'('example#someFact'(1,1),2),[]),'/bootstrap#list'('/cloudlog#addition')))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'annotation#shrink'('/impred#clause'('/cloudlog#masterTrans'(A),'/impred#conj'('/impred#task'('/impred#now',B,'/bootstrap#number'),'/impred#conj'('/impred#pred'(=(::('.'('/cloudlog#addition'(C,D),E),'/bootstrap#list'('/cloudlog#addition')),::(A,'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'(','('/cloudlog#tableName'(C,F),','('/cloudlog#axiomFamily'(C,G,::(H,I)),'/cloudlog#match'(C,J,K)))),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),F,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(B,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),L,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(L,M)),'/impred#conj'('/cloudlog#getMasterAxioms'(F,G,M,N),'/impred#conj'('/cloudlog#getMasterAxioms'(F,K,M,O),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/cloudlog#dbResults'(N),'/cloudlog#plus','/Functional#applyBinOp'('/cloudlog#dbResults'(O),'/cloudlog#plus','/Functional#const'(A))),'/bootstrap#list'('/cloudlog#addition'),P)),'/impred#conj'('/impred#pred'('/cloudlog#rulesToOps'(P,Q)),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#num2str'('/Functional#const'(B)))),'/bootstrap#string',R)),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),R,'.'('/nodalion#addToCounter'(!(master),'/cloudlog#exists',1),Q)),S,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#scan'(F,T,U,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(F,T,U,B))),V,'/nodalion#voidType'),'/impred#conj'('/impred#pred'(','('builtin#findall'('/cloudlog#addition'(W,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(W,F),X),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/cloudlog#mult','annotation#parentheses'('/Functional#applyBinOp'('/cloudlog#dbResults'(N),'/cloudlog#plus','/Functional#applyBinOp'('/cloudlog#dbResults'(O),'/cloudlog#plus','/Functional#const'(X))))),'/bootstrap#list'('/cloudlog#addition'),Y))),'/cloudlog#multiTrans'(Y)))))))))))))))),'.'('builtin#varName'(::(A,Z),!('Trans')),'.'('builtin#varName'(::(B,A1),!('Now')),'.'('builtin#varName'(::(C,B1),!('Axiom')),'.'('builtin#varName'(::(F,C1),!('Table')),'.'('builtin#varName'(::(G,D1),!('Family')),'.'('builtin#varName'(::(K,E1),!('MatchingFamily')),'.'('builtin#varName'(::(L,F1),!('CurrVer')),'.'('builtin#varName'(::(M,G1),!('CurrVerNum')),'.'('builtin#varName'(::(N,H1),!('CurrRules')),'.'('builtin#varName'(::(O,I1),!('CurrMatchingAxioms')),'.'('builtin#varName'(::(P,J1),!('Rules')),'.'('builtin#varName'(::(Q,K1),!('Ops')),'.'('builtin#varName'(::(R,L1),!('Key')),'.'('builtin#varName'(::(T,M1),!('Row')),'.'('builtin#varName'(::(U,N1),!('T')),'.'('builtin#varName'(::(W,O1),!('GenericRule')),'.'('builtin#varName'(::(X,P1),!('GenericRules')),'.'('builtin#varName'(::(Y,Q1),!('DerivedAdditions')),[]))))))))))))))))))),'builtin#true'). '/impred#clause'('/cloudlog#masterTrans'(A),'/impred#conj'('/impred#task'('/impred#now',B,'/bootstrap#number'),'/impred#conj'('/impred#pred'(=(::('.'('/cloudlog#addition'(C,D),E),'/bootstrap#list'('/cloudlog#addition')),::(A,'/bootstrap#list'('/cloudlog#addition')))),'/impred#conj'('/impred#pred'(','('/cloudlog#tableName'(C,F),','('/cloudlog#axiomFamily'(C,G,::(H,I)),'/cloudlog#match'(C,J,K)))),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),F,'.'('/nodalion#set'(!(master),'/cloudlog#version','.'(B,[])),'.'('/nodalion#get'(!(master),'/cloudlog#version'),[]))),L,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#pred'('/cloudlog#getVersion'(L,M)),'/impred#conj'('/cloudlog#getMasterAxioms'(F,G,M,N),'/impred#conj'('/cloudlog#getMasterAxioms'(F,K,M,O),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/cloudlog#dbResults'(N),'/cloudlog#plus','/Functional#applyBinOp'('/cloudlog#dbResults'(O),'/cloudlog#plus','/Functional#const'(A))),'/bootstrap#list'('/cloudlog#addition'),P)),'/impred#conj'('/impred#pred'('/cloudlog#rulesToOps'(P,Q)),'/impred#conj'('/impred#pred'('/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(F),'/Functional#concat','/Functional#applyBinOp'('/Functional#const'(!(:)),'/Functional#concat','/Functional#num2str'('/Functional#const'(B)))),'/bootstrap#string',R)),'/impred#conj'('/impred#task'('/nodalion#trans'(!('%masters'),R,'.'('/nodalion#addToCounter'(!(master),'/cloudlog#exists',1),Q)),S,'/bootstrap#list'('/nodalion#databaseValue'('/bootstrap#string','/cloudlog#axiom','/bootstrap#number'))),'/impred#conj'('/impred#task'('/nodalion#scan'(F,T,U,'/nodalion#enqueueJob'('/cloudlog#updateMaster'(F,T,U,B))),V,'/nodalion#voidType'),'/impred#conj'('/impred#pred'(','('builtin#findall'('/cloudlog#addition'(W,1),'/cloudlog#addition','/cloudlog#genericRuleForTable'(W,F),X),'/Functional#eval'('/Functional#applyBinOp'('/Functional#const'(A),'/cloudlog#mult','/Functional#applyBinOp'('/cloudlog#dbResults'(N),'/cloudlog#plus','/Functional#applyBinOp'('/cloudlog#dbResults'(O),'/cloudlog#plus','/Functional#const'(X)))),'/bootstrap#list'('/cloudlog#addition'),Y))),'/cloudlog#multiTrans'(Y))))))))))))))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),'/bootstrap#signature'(::('/cloudlog#rulesToOps'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom','/bootstrap#number'))),[]))),'.'('builtin#varName'(::(A,C),!('Rules')),'.'('builtin#varName'(::(B,D),!('Ops')),[]))),'builtin#true'). '/bootstrap#signature'(::('/cloudlog#rulesToOps'(A,B),'/bootstrap#pred'),'.'(::(A,'/bootstrap#list'('/cloudlog#addition')),'.'(::(B,'/bootstrap#list'('/nodalion#databaseOp'('/cloudlog#axiom','/bootstrap#number'))),[]))). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),:-('/cloudlog#rulesToOps'([],[]),'builtin#true'),[]),'builtin#true'). :-('/cloudlog#rulesToOps'([],[]),'builtin#true'). :-('builtin#loadedStatement'(!('/home/cedalion/git/cloudlog1/cedalion/cloudlog/masterTrans.ced'),:-('/cloudlog#rulesToOps'('.'('/cloudlog#addition'(A,B),C),'.'('/nodalion#addToCounter'(D,A,B),E)),','('/cloudlog#axiomFamily'(A,D,::(F,G)),'/cloudlog#rulesToOps'(C,E))),'.'('builtin#varName'(::(A,H),!('Rule')),'.'('builtin#varName'(::(B,I),!('Value')),'.'('builtin#varName'(::(C,J),!('Rules')),'.'('builtin#varName'(::(D,K),!('Family')),'.'('builtin#varName'(::(E,L),!('Ops')),[])))))),'builtin#true'). :-('/cloudlog#rulesToOps'('.'('/cloudlog#addition'(A,B),C),'.'('/nodalion#addToCounter'(D,A,B),E)),','('/cloudlog#axiomFamily'(A,D,::(F,G)),'/cloudlog#rulesToOps'(C,E))).