There is almost no chance that Brian is green. It is unlikely that Greg is a frog. It is probable that Julius is a rhino. It is probable that if 'Julius is a rhino and Brian is green' then Jessica is a mouse. It is probably not the case that if 'Brian is green and Julius is a rhino' then Sandra dropped the apple. It is probably the case that if 'Brian is green' or 'Greg is a frog' or both then Mary moved to the office.
There is almost no chance that 'Brian is green and Mary moved to the office'.
There is almost no chance that 'Brian is green and Mary moved to the office'.
It is almost certain that 'Brian is green and Mary moved 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.02::factA.
  0.2::factB.
  0.7::factC.
  %hop1
  0.7::factX:-and(factC,factA).
  0.25::factY:-and(factA,factC).
  0.7::factZ:-or(factA,factB).

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

  query(conclusion).
  
'Brian is green and Mary moved to the office'.