It is highly unlikely that Brian is green. It is highly likely that Greg is a rhino. It is probably not the case that Julius is a swan. It is unlikely that if either 'Julius is a swan' or 'Greg is a rhino' but not both then Daniel got the football. It is highly likely that if 'Greg is a rhino and Julius is a swan' then John took the apple. We believe that if 'Julius is a swan' or 'Brian is green' or both then Bernhard is gray.
It is probable that 'Brian is green and Bernhard is gray'.
It is highly unlikely that 'Brian is green and Bernhard is gray'.
It is probable that 'Brian is green and Bernhard is gray'.

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

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

  query(conclusion).
  
'Brian is green and Bernhard is gray'.