Chances are slight that John went to the office. It is unlikely that Julius is a frog. It is likely that Brian is yellow. It is probably not the case that if either 'Brian is yellow' or 'John went to the office' but not both then Gertrude is a mouse. It is highly likely that if 'Julius is a frog' or 'John went to the office' or both then Bernhard is white. It is probably the case that if 'Brian is yellow and John went to the office' then Fred is in the school.
We doubt that 'Julius is a frog and Bernhard is white'.
We doubt that 'Julius is a frog and Bernhard is white'.
It is certain that 'Julius is a frog and Bernhard is white'.

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

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

  query(conclusion).
  
'Julius is a frog and Bernhard is white'.