How about this?
Code:
var totalcount as number
totalcount = 0
foreach pick in hero where "thingid.skKnow"
if (compare(lowercase(eachpick.field[domDomain].text),"science") = 0) then
if (eachpick.field[trtFinal].value >= 3) then
totalcount += 1
endif
endif
if (compare(lowercase(eachpick.field[domDomain].text),"occult") = 0) then
if (eachpick.field[trtFinal].value >= 3) then
totalcount += 1
endif
endif
if (compare(lowercase(eachpick.field[domDomain].text),"navigation") = 0) then
if (eachpick.field[trtFinal].value >= 3) then
totalcount += 1
endif
endif
nexteach
validif (totalcount >= 1)
A little clunky, I'll admit, but it should work. And if you wanted to check if it was two of them, change the (totalcount >= 1) to (totalcount >= 2), or 3 for all 3.