Tuple learning