It is probable that Brian is white. It is probably not the case that Greg is a rhino. It is certain that Mary left the football. We doubt that if 'Mary left the football' or 'Brian is white' or both then Bernhard is gray. There is almost no chance that if 'Greg is a rhino' or 'Mary left the football' or both then Sandra got the milk. There is little chance that if either 'Mary left the football' or 'Brian is white' but not both then John went to the hallway.
We believe that 'John went to the hallway and Mary left the football'.
There is almost no chance that 'John went to the hallway and Mary left the football'.
We believe that 'John went to the hallway and Mary left the football'.

  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.7::factA.
  0.25::factB.
  1.0::factC.
  %hop1
  0.2::factX:-or(factC,factA).
  0.02::factY:-or(factB,factC).
  0.1::factZ:-xor(factC,factA).

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

  query(conclusion).
  
'John went to the hallway and Mary left the football'.