In Picat, what does the `?=>` operator signify in a rule head compared to `=>`?
-
A
`?=>` is non-deterministic (allows backtracking); `=>` is deterministic (commits on match)
-
B
`?=>` matches only atoms; `=>` matches compound terms
-
C
`?=>` requires a guard; `=>` does not
-
D
`?=>` is used for predicates only; `=>` is for functions only