/* to num function to_num/2; maxCount = 2 code = (A + to_num(A,B)) = [[[4,3],47],[[3,1],34],[[7,2],79]] = [[8,8] = 96] code = (B + to_num(A,A)) = [[[4,3],47],[[3,1],34],[[7,2],79]] = [[8,8] = 96] maxCount = 3 code = to_num(A,(A + B)) = [[[4,3],47],[[3,1],34],[[7,2],79]] = [[8,8] = 96] code = to_num(A,(B + A)) = [[[4,3],47],[[3,1],34],[[7,2],79]] = [[8,8] = 96] to_num/3: maxCount = 1 code = to_num(A,B,C) = [[[4,3,4],434],[[2,1,3],213],[[1,2,7],127]] = [[8,4,2] = 842] */ data(to_num,Data,Vars,Unknown,Ops,Constants,MaxC) :- println("to_num/2"), Data = [[[4,3],43+4], [[3,1],31+3], [[7,2],72+7] ], Unknown = [8,8], Vars = ["A","B"], Ops = new_map([infix=["+","-","*"], user=["to_num"] ]), Constants = 1..1, MaxC = 3. % Testing to_num/3. Note that it must be in the user3 slot. data(to_num,Data,Vars,Unknown,Ops,Constants,MaxC) :- nl, println("to_num/3"), Data = [[[4,3,4],434], [[2,1,3],213], [[1,2,7],127] ], Unknown = [8,4,2], Vars = ["A","B","C"], Ops = new_map([% infix=["+","*"], user3=["to_num"] ]), Constants = 1..1, MaxC = 5.