has_le.le.trans source