% Sets.pro: Programa en Amzi! Prolog para representar Conjuntos.
% Declaración de Conjuntos: is-subset-of(x,y) --> x is subset of y is-subset-of( vehiculo-con-gasolina, vehiculo ). is-subset-of( vehiculo-sin-gasolina, vehiculo ). is-subset-of( carro, vehiculo-con-gasolina ). is-subset-of( moto, vehiculo-con-gasolina ). is-subset-of( bici, vehiculo-sin-gasolina ).
% Elementos miembros de c/Conjunto: is-member-of(x,y) --> x is a member of y is-member-of( jaguar, carro ). is-member-of( vespa, moto ). is-member-of( susuki, moto ). is-member-of( vespa, bici ). is-member-of( benotto, bici ).
subset-of( X, Y ) :- is-subset-of( X, Y ). subset-of( X, Z ) :- is-subset-of( X, Y ), subset-of( Y, Z ).
member-of( X, Y ) :- is-member-of( X, Y ). member-of( X, Z ) :- is-member-of( X, Y ), subset-of( Y, Z ).
intersect( X, A, B ) :- member-of( X, A ), member-of( X, B ).
union( X, A, _ ) :- member-of( X, A ). union( X, _, B ) :- member-of( X, B ).
a) ?- member-of(vespa,vehiculo).
b) ?- member-of(jaguar,moto).
c) ?- member-of(vespa,X).
d) ?- member-of(X,carro).
e) ?- member-of(vespa,vehiculo-sin-gasolina).
f) ?- member-of(vespa,vehiculo-con-gasolina).
g) ?- member-of(jaguar,vehiculo-sin-gasolina).
h) ?- member-of(X,bici).
i) ?- member-of(X,moto).
j) ?- intersect(vespa,bici,moto).
k) ?- intersect(susuki,bici,moto).
l) ?- union(X,bici,moto).
m) Indique la definición de los 6 conjuntos representados en Prolog
n) Indique el resultado de la operación "moto"
"bici"
o) Indique el diagrama de Venn que representa a todos los conjuntos
Ejercicio:
En el listado de Prolog para representar conjuntos agregue la definición de dos nuevos conjuntos con por lo menos dos elementos cada uno. Procure incluir en más de un conjunto al menos a dos de los elementos nuevos.
Alberto Pacheco
http://www.socrates.itch.edu.mx/~apacheco/teoria/sets.htm
Ultima actualización: Mzo 5, 1999