Here is a snippet of cryptarithmetic in prolog
sum1( [D1|N1], [D2|N2], [D|N], C1, C, Digs1, Digs) :-
sum1( N1, N2, N, C1, C2, Digs1, Digs2),
digitsum( D1, D2, C2, D, C, Digs2, Digs).
As below explains
sum1( N1, N2, N, C1, C, Digits1, Digits)
where N1, N2 and N are our three numbers,
C1 is carry from the right, and
C is carry to the left (after the summation).
Digits1 is the list of available digits for instantiating the
variables in N1, N2, and N.
Digits is the list of digits that were not used in the
instantiation of these variables.
I really don't get it what does C1 mean in sum1( [D1|N1], [D2|N2], [D|N], C1, C, Digs1, Digs)
, for C2 stands for carry form right, C stands for carry to the left, then what does C1 stand for?