There is a very good chance that Jessica is a cat. It is probable that Brian is yellow. It is certain that Mary went to the kitchen. It is certain that if either 'Brian is yellow' or 'Jessica is a cat' but not both then Greg is white. It is highly unlikely that if 'Jessica is a cat and Mary went to the kitchen' then Yann is hungry. It is improbable that if 'Brian is yellow' or 'Jessica is a cat' or both then Julius is green.
It is likely that 'Mary went to the kitchen and Yann is hungry'.
It is highly unlikely that 'Mary went to the kitchen and Yann is hungry'.
It is likely that 'Mary went to the kitchen and Yann is hungry'.

  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.8::factA.
  0.7::factB.
  1.0::factC.
  %hop1
  1.0::factX:-xor(factB,factA).
  0.05::factY:-and(factA,factC).
  0.1::factZ:-or(factB,factA).

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

  query(conclusion).
  
'Mary went to the kitchen and Yann is hungry'.