Python Set Comprension

Así que tengo estos dos problemas para una tarea y estoy atrapado en el segundo.

Use una comprensión de conjunto de Python (el equivalente de Python de la notación de generador de conjuntos) para generar un conjunto de todos los números primos que sean menores que 100. Recuerde que un número primo es un número entero mayor que 1 y no divisible por ningún número entero que no sea en sí mismo y 1. Almacene su conjunto de primos en una variable (lo necesitará para partes adicionales). Imprima su conjunto de primos (p. Ej., Con la función de impresión).

Use una Comprensión de conjunto de Python para generar un conjunto de pares ordenados (tuplas de longitud 2) que consisten en todos los pares primos que consisten en primos menores que 100. Un par primo es un par de números impares consecutivos que son primos. Almacene su conjunto de pares principales en una variable. Su conjunto de número 1 será muy útil. Da salida a tu conjunto de pares principales.

Para el primero, esto funciona perfectamente:

r= {x for x in range(2, 101) 
if not any(x % y == 0 for y in range(2, x))} 

Sin embargo, estoy bastante perplejo con el segundo. Creo que tengo que tomar el producto cartesiano del set r con algo, pero no estoy seguro.

Esto me acerca un poco pero solo quiero los pares consecutivos.

cart = { (x, y) for x in r for y in r
     if x < y }