Chances are about even that Greg is a lion. We doubt that Brian is white. Chances are slight that Bill got the milk there. It is impossible that if either 'Bill got the milk there' or 'Greg is a lion' but not both then Julius is a rhino. We doubt that if 'Brian is white' or 'Greg is a lion' or both then Lily is green. It is almost certain that if either 'Greg is a lion' or 'Brian is white' but not both then Fred went to the office.
Chances are slight that 'Lily is green and Fred went to the office'.
Chances are slight that 'Lily is green and Fred went to the office'.
It is highly likely that 'Lily is green and Fred went to the office'.

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

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

  query(conclusion).
  
'Lily is green and Fred went to the office'.