Όχι, κανένα από αυτά δεν είναι πολυπλοκότητας Ο(1). Κανένα κατηγόρημα δεν μπορεί να προσπελάζει το N-οστό στοιχείο μίας λίστας σε χρόνο Ο(1) --- ακριβέστερα, λιγότερο από Ο(Ν) --- λόγω του τρόπου με τον οποίο υλοποιούνται οι λίστες, όχι μόνο στην Prolog αλλά σε όλες τις γλώσσες. (Οι "λίστες" της Python είναι εξαίρεση, η υλοποίησή τους είναι σαν τα vectors της C++).
Αυτό που είναι Ο(1) στην Prolog και θα μπορούσες να το χρησιμοποιήσεις αν το πλήθος των στοιχείων σου είναι σταθερό, είναι το κατηγόρημα arg/3
. Με αυτό μπορείς να υλοποιήσεις κάτι σαν τις tuples σε άλλες γλώσσες.