There is little chance that Greg is a frog. Chances are about even that Lily is green. Chances are slight that Brian is yellow. It is improbable that if 'Greg is a frog' or 'Brian is yellow' or both then Jessica is a sheep. Chances are about even that if 'Greg is a frog and Brian is yellow' then Jason is tired. It is probably the case that if 'Lily is green and Brian is yellow' then John moved to the office.
It is probable that 'Greg is a frog and Brian is yellow'.
There is almost no chance that 'Greg is a frog and Brian is yellow'.
It is probable that 'Greg is a frog and Brian is yellow'.

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

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

  query(conclusion).
  
'Greg is a frog and Brian is yellow'.