It is almost certain that Brian is green. We believe that Winona is a mouse. We doubt that John discarded the apple. It is almost certain that if 'John discarded the apple' or 'Brian is green' or both then Jessica is a sheep. It is improbable that if either 'Winona is a mouse' or 'John discarded the apple' but not both then Sandra left the milk. We believe that if either 'Brian is green' or 'John discarded the apple' but not both then Bill went to the office.
There is almost no chance that 'Brian is green and Bill went to the office'.
There is a better than even chance that 'Brian is green and Bill went to the office'.
There is almost no chance that 'Brian is green and Bill 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.95::factA.
  0.75::factB.
  0.2::factC.
  %hop1
  0.95::factX:-or(factC,factA).
  0.1::factY:-xor(factB,factC).
  0.75::factZ:-xor(factA,factC).

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

  query(conclusion).
  
'Brian is green and Bill went to the office'.