There is little chance that Jessica is a mouse. It is probable that Mary took the milk. It is highly unlikely that Gertrude is a sheep. It is certain that if 'Mary took the milk and Gertrude is a sheep' then Brian is yellow. It is probable that if either 'Gertrude is a sheep' or 'Jessica is a mouse' but not both then Greg is white. It is unlikely that if 'Gertrude is a sheep' or 'Jessica is a mouse' or both then John picked up the apple.
There is almost no chance that 'Greg is white and Brian is yellow'.
There is almost no chance that 'Greg is white and Brian is yellow'.
It is probably the case that 'Greg is white and Brian is yellow'.

  and(A,B) :- A,B.
  or(A,B) :- A;B.
  nand(A,B) :- not(and(A,B)).
  nor(A,B) :- not(or(A,B)).
  xor(A,B) :- or(A,B), nand(A,B).

  %hop0
  0.1::factA.
  0.7::factB.
  0.05::factC.
  %hop1
  1.0::factX:-and(factB,factC).
  0.7::factY:-xor(factC,factA).
  0.2::factZ:-or(factC,factA).

  %hop2
  conclusion:-and(factY,factX).

  query(conclusion).
  
'Greg is white and Brian is yellow'.