It is probably the case that Jeff moved to the office. It is likely that John left the football. It is improbable that Bernhard is a rhino. There is little chance that if 'Bernhard is a rhino' or 'Jeff moved to the office' or both then Lily is a frog. Chances are slight that if either 'John left the football' or 'Jeff moved to the office' but not both then Julius is white. It is probably not the case that if either 'Jeff moved to the office' or 'John left the football' but not both then Mary went to the garden.
There is almost no chance that 'Lily is a frog and Bernhard is a rhino'.
There is almost no chance that 'Lily is a frog and Bernhard is a rhino'.
We believe that 'Lily is a frog and Bernhard is a rhino'.

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

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

  query(conclusion).
  
'Lily is a frog and Bernhard is a rhino'.