It is certain that John got the milk. It is probably the case that Brian is green. It is probable that Lily is a swan. Chances are slight that if 'John got the milk and Lily is a swan' then Fred went to the garden. It is improbable that if 'John got the milk and Lily is a swan' then Greg is yellow. It is likely that if either 'Brian is green' or 'John got the milk' but not both then Mary left the football.
It is certain that 'Fred went to the garden' or 'John got the milk' or both.
It is certain that 'Fred went to the garden' or 'John got the milk' or both.
Chances are about even that 'Fred went to the garden' or 'John got the milk' or both.

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

  %hop2
  conclusion:-or(factX,factA).

  query(conclusion).
  
'Fred went to the garden' or 'John got the milk' or both.