The error is telling you that you are attempting to match a slot named "or" in the practice
deftemplate and that slot does not exist. Here are two alternate versions of the "no-practice" rule that will accomplish what you are trying to do.:
Version 1:
(defrule no-practice "Rules for when practice cannot be held"
(or ?f <- (practice (practice-is-on-off ON)
(number-of-paddlers ?p&:(< ?p 6)))
?f <- (practice (practice-is-on-off ON)
(number-of-coaches ?c&:(< ?c 6))))
=>
(modify ?f (practice-is-on-off OFF)))
Note that the rule above may fire twice for a practice
unless you also check that practice-is-on-off
is "ON" in the CE's.
Version 2:
(defrule no-practice "Rules for when practice cannot be held"
?f <- (practice (practice-is-on-off ON)
(number-of-paddlers ?p) (number-of-coaches ?c))
(test (or (< ?p 6) (< ?c 6)))
=>
(modify ?f (practice-is-on-off OFF)))