Scrivere un programma che determina se una relazione definita su un insieme A di n elementi è riflessiva. Scrivere una relazione sottoforma di matrice
Data una relazione $R\subseteq A\times A$, devi controllare se è vero che $(x,x)\in R$. Fare questo dipende da come hai implementato la relazione: supponendo di averlo fatto (non credo sia questo il cuore del problema su cui sei invitat* a riflettere), bisogna costruire la matrice
- Codice:
RA = [(a,a) in R for a in A]
(sto supponendo che $A$ sia una lista, e che $R$ sia una lista di coppie). Questa matrice è fatta di zeri e di uno. La relazione era riflessiva se e solo se la diagonale della matrice è fatta da tutti uno.
Chiaramente questa soluzione è dipendente dal linguaggio in cui scrivi; del resto nemmeno questo sarà il problema su cui devi ragionare (per conoscenza, quel codice pseudo-funziona in Python 2.7.12: `all(RA)` sarà $0$ se la relazione non è simmetrica e $1$ se lo è).
- "Everything in Mathematics that can be categorized, is trivial" (P. J. Freyd), which should be understood as: "category theory is good ideas rather than complicated techniques".
- "I always disliked Analysis" (P. J. Freyd)