02 · Enteros: representantes y equivalencia
Enteros: representantes y equivalencia¶
Representa `a-b` mediante el par natural `(a,b)` y descubre por qué pares distintos pueden ser el mismo entero.
Ya puedes seguir la igualdad y la suma recursivas de los naturales.
- explicar con tus palabras la definición matemática de «Enteros: representantes y equivalencia»
- señalar cómo se representa esa definición en datos de Python
- predecir una ejecución pequeña a partir del código real
`(a,b)` y `(c,d)` representan el mismo entero exactamente cuando `a+d=b+c`; un entero es una clase de pares bajo esta equivalencia.
`Integer` guarda dos naturales. `(3,1)` y `(4,2)` son objetos distintos que representan el valor 2.
`(a,b) ~ (c,d)` → `a + d == b + c` → `Integer.__eq__`
Definición matemática
Definición matemática¶
(a,b) y (c,d) representan el mismo entero exactamente cuando a+d=b+c; un entero es una clase de pares bajo esta equivalencia.
Representación de datos
Representación de datos¶
Integer guarda dos naturales. (3,1) y (4,2) son objetos distintos que representan el valor 2.
Implementación en Python
Implementación en Python¶
Integer.__eq__ compara las sumas cruzadas y normalize() elimina la parte común para elegir, por ejemplo, (2,0).
La correspondencia exacta usada en el curso:
Traza de ejecución
Traza de ejecución¶
Comparar enteros activa suma e igualdad de naturales, de modo que la traza muestra cómo se reutiliza el capítulo anterior.
Decide primero si los pares son iguales y cuál será el representante normalizado.
Escribe primero tu predicción y después ejecuta.
Comprobación con pruebas
Comprobación con pruebas¶
Las pruebas cubren representantes distintos, cierre de las operaciones y normalización para asegurar que el resultado esté bien definido.
Alcance y límites
Alcance y límites¶
Los pares son una representación didáctica menos eficiente que int, pero hacen visible la construcción cociente.