/*
this file can not be used with s.pl: it generates too many programs
s([cg(s,1,p)],P).
P = 0.75 ? 
s([cg(s,1,w)],P).
P = 0.25 ?
s([cg(s,2,p)],P).
P = 0.25 ?  
s([cg(s,2,w)],P).
P = 0.75 ?
s([cg(f,2,w)],P).
P = 0.5
s([cg(s,2,w)],P).
P = 0.75

*/

mother(m,s).
father(f,s).


cg(m,1,p).
cg(m,2,w).
cg(f,1,p).
cg(f,2,p).


cg(X,1,A):0.5 ; cg(X,1,B):0.5 :- mother(Y,X),cg(Y,1,A) , cg(Y,2,B).
 
cg(X,2,A):0.5 ; cg(X,2,B):0.5 :- father(Y,X),cg(Y,1,A) , cg(Y,2,B).