Les deux crayons " Revenons à une situation décrite par Spade : jai devant moi deux stylos à bille noirs. Le point crucial est : combien de couleurs vois-je ? Deux réponses soffrent. La première : je vois une seule couleur – la noirceur (blackness) qui est " simultanément partagée par les deux stylos ou commune aux deux " -, une seule et même couleur donc, bien quinhérente à deux choses distinctes et présente en même temps en deux endroits différents. Cette position, ce que Spade appelle " croire aux universaux ", est le réalisme : admettre que des " entités universelles " comme la noirceur sont partagées par toutes les choses qui présentent une même propriété (ici, être noires) et quà ce titre elles leur sont communes.
Les deux crayons A lopposé, évidemment, le nominalisme est caractérisé comme celui qui voit deux noirceurs, autant de noirceurs que de stylos. Deux noirceurs qui sont " semblables ", certes, mais qu " il suffit de regarder pour voir quelles ne sont pas et nen restent pas moins deux noirceurs ". Ainsi illustré, le problème des universaux est simple : y-a-t-il ou non deux couleurs dans les stylos de P.V. Spade ? " Le réalisme et le nominalisme sont les deux principales réponses à cette question. " (…) " le réaliste est celui, qui voyant la noirceur partout où il y a des choses noires, en conclut quil y a en chacune la même " entité universelle ". Alain de Libera in La querelle des universaux, Seuil, 1996, p
Les deux crayons crayons Spécification 1. SETS PENCIL, COLOR pencils <: PENCIL colors <: COLOR pencils = {p1, p2} colors ={c1, c2} colorOf= {p1|-> c1, p2 |-> c2} sameColorAs = {c1|-> c2}
Les deux crayons sameColorAs = sameColorAs~ /* si c1 est de même couleur que c2, c2 est de même couleur que c1 */ samePencilAs = {p1|-> p2} /* p1 et p2 sont les mêmes stylos. A noter que pour dire cela, il faut que p1 et p2 soient deux éléments… on ne voit pas l'intérêt de spécifier que p1 est le même que p1 ! On ne travaille que sur des noms ! */ samePencilAs = samePencilAs~
Les deux crayons Spécification 2 SETS PENCIL, COLOR pencils <: PENCIL colors <: COLOR pencils = {p1} colors ={c1} colorOf= {p1|-> c1} nbOfPencils = { p1|-> 2} /* nous avons deux stylos p1, deux exemplaires du stylos p1, deux occurrences du stylo p1 */
Les deux crayons Spécification 3 SETS PENCIL, COLOR pencils <: PENCIL colors <: COLOR pencils = {p1} colors ={c1} myPencils = iseq (pencils) myPencils = [p1, p1] colorOf= {p1|-> c1}
Les deux crayons Spécification 4 SETS PENCIL, COLOR pencils <: PENCIL colors <: COLOR pencils = {p1, p2} colors ={c1} colorOf= {p1|-> c1, p2 |-> c1} samePencilAs = {p1|-> p2} samePencilAs = samePencilAs~
Les deux crayons Spécification 5 SETS PENCIL, COLOR pencils <: PENCIL colors <: COLOR pencils = {p1} colors ={c1, c2} colorOf= {p1|-> c1, p1 |-> c2} sameColorAs = {c1|-> c2} sameColorAs = sameColorAs~
Les deux crayons Spécification 6 Il n'est pas possible d'acheter moins que le "pack" de "deux stylos" et le "pack" est un pack de stylos noirs. SETS PRODUCT; COLOR produits <: PRODUIT produits = {p1} colors <: COLOR colors = {c1} comprendUnNombreDeStylosEgalA : {p1 |-> 2} colorOf= {p1|-> c1}
Les deux crayons Spécification 7 On peut considérer que l'on a un ensemble de composants. SETS COMPOSANT; COLOR composants <: COMPOSANT composants = {p1, p2, p3} estComposéDe : composants composants estComposéDe = {p1 |-> p2, p1 |-> p3} produits 2}
Les deux crayons SETS PENCIL; COLOR; NAME pencils <: PENCIL colors <: COLOR pencils = {p1, p2} pencilsNames : pencils >-> NAME colorsNames : colors >-> NAME colors ={c1} pencilsNames = {p1 |-> uniball, p2 |-> roller} colorsNames = {c1 |-> black} colorOf= {p1|-> c1, p2 |-> c1} samePencilAs = {p1|-> p2} samePencilAs = samePencilAs~