logic
Lock building can be tricky. Here are some transformational
rules you can follow to try to word locks more concisely.
!Key & !Axe (---) !(key|axe) (can't have either one)
!key | !axe (---) !(key&axe) (can have none, one, but not both)
!dog&key | !dog&axe (--) !dog&(key|axe)
Be careful:
!dog|key & !dog|axe is the same as: !dog | (key & !dog) | axe
NOT the same as: (!dog | key) & (!dog | axe)
(!dog|key) & (!dog|axe) (---) !dog | (key & axe)
See Also: