\DOC rev_assoc \TYPE {Compat.rev_assoc : ''a -> ('b * ''a) list -> ('b * ''a)} \SYNOPSIS Searches a list of pairs for a pair whose second component equals a specified value. \KEYWORDS list. \DESCRIBE {rev_assoc y [(x1,y1),...,(xn,yn)]} returns the first {(xi,yi)} in the list such that {yi} equals {y}. The lookup is done on an eqtype, i.e., the SML implementation must be able to decide equality for the type of {y}. \FAILURE Fails if no matching pair is found. This will always be the case if the list is empty. \EXAMPLE { - rev_assoc 2 [(1,4),(3,2),(2,5),(2,6)]; (3, 2) : (int * int) } \COMMENTS Not found in hol90, since we use an option type instead of exceptions. assoc1; val it = fn : ''a -> (''a * 'b) list -> (''a * 'b) option - assoc2; val it = fn : ''a -> ('b * ''a) list -> ('b * ''a) option \SEEALSO assoc, find, mem, tryfind, exists, forall. \ENDDOC