My example used a list. But I don’t need a list (or numbers) per se.
Let me clarify further.
I asked
What terminology do we use to discuss
L
where
… it can be solved for any N
… it can be solved to satisfy all N simultaneously
Bold is to highlight the concept I’m interested in.
My other question was:
Given the above, (and the latter
L = [A,B,C]
)) what’s the idiomatic way to getL=[1,2,3]
?
My question (deliberately) was not “how do I get a list of numbers”.
I’m interested in the abstract notion of unifying a term to satisfy any valid constraint, vs all valid constraints simultaneously, with respect to some constraint.
I could have asked, given the above, AND the following:
name_key(surname).
name_key(forename).
name_key(middlename).
funny_word("Clown").
funny_word("Joker").
funny_name(FirstName, MiddleName, LastName, NameKey) :-
(NameKey = surname, funny_word(LastName));
(NameKey = forename, funny_word(FirstName));
(NameKey = middlename, funny_word(MiddleName)).
What is the idiomatic “thing” that does:
solved_all(..., funny_name(FirstName, MiddleName, LastName, NameKey), ...)
solved_all(..., nth1(N,L,N), ...)
and gives me
FirstName="Clown" MiddleName="Clown" LastName="Clown";
FirstName="Clown" MiddleName="Clown" LastName="Joker";
... etc
and
[1,2,3].