OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomspace / tests / query / disco-vars.scm

34 lines · scm ref:
;
; disco-vars.scm
;
; Several patterns with implicit clauses.
;
; Prior to issue #2516, these were considered to be ill-formed
; search patterns, because they lacked explicit clauses that
; asserted the presence of a variable in the atompsace.  However,
; it seems to be OK to assume implicit presence, when it is not
; declared explicitly. So, in fact, everything below should be
; considered to be valid.

(use-modules (opencog))

(define (B)
(MeetLink
   (VariableList (VariableNode "$A") (VariableNode "$B"))
   (AndLink
      (EqualLink (VariableNode "$A") (VariableNode "$B")))))

(define (Ba)
(MeetLink
   (VariableList (VariableNode "$A") (VariableNode "$B"))
   (AndLink
      (PresentLink (VariableNode "$A"))
      (EqualLink (VariableNode "$A") (VariableNode "$B")))))

(define (Bu)
(MeetLink
   (VariableList (VariableNode "$A") (VariableNode "$B") (VariableNode "$C"))
   (AndLink
      (InheritanceLink (VariableNode "$A") (VariableNode "$B"))
      (EqualLink (VariableNode "$A") (VariableNode "$C")))))