linux – Understanding Operators in find command

(kony@HOSTNAME testing)$ pwd
/apps/kony/fmw/testing
(kony@HOSTNAME testing)$ touch SCCS
(kony@HOSTNAME testing)$ touch NOT_SCCS
(kony@HOSTNAME testing)$
(kony@HOSTNAME testing)$ find . -name SCCS -prune -o -print
.
./NOT_SCCS
(kony@HOSTNAME testing)$

(kony@HOSTNAME testing)$

I am trying to understand how Logical operators work in find and how it affects prune.

  1. First Find command .

It will be treated as “find . -name SCCS -and -prune -o -print” . (An implicity -and between name and -prune action.

For every file and directory in current directory first “-name SCCS” condition will be checked. If name matches SCCS then the condition is true . Since First condition is true and “-and” is mentioned it will check next condition . next condition is “-prune” it will be evalvauted to true . So it will be like
find . true -and true -o -print” which means “find . true -o -print” . Since left condition is true and there is -or operation then next condition will be evaluated which is -print.
This means that it should print file whose name is SCCS . Then why it is not printing. Am i understanding it wrongly.