Function VARIABLES-IN-TERM


Slots on this function:

Documentation:
This function returns the set of free variables (individual variables) that occur in an unquantified term expression. If there is a sequence variable or quantified term expression, then this function is undefined.
Instance-Of: Function
Arity: 2

Other Related Axioms:

(<- (Variables-In-Sentence ?S)
    (Cond ((Logsent ?S)
           (Apply Union (Map Variables-In-Sentence (Rest ?S))))
          ((Relsent ?S) (Apply Union (Variables-In-Term (Rest ?S))))
          ((Logconst ?S) (Setof))
          ((Quantsent ?S) Bottom)))

(<- (Variables-In-Term ?Exp)
    (Cond ((Indvar ?Exp) (Setof ?Exp))
          ((Funterm ?Exp)
           (Apply Union (Map Variables-In-Term (Rest ?Exp))))
          ((And (Logterm ?Exp) (= (First ?Exp) (Quote If)))
           (Union (Variables-In-Sentence (Second-Item ?Exp))
                  (Apply Union
                         (Map Variables-In-Term (Rest (Rest ?Exp))))))
          ((And (Logterm ?Exp) (= (First ?Exp) (Quote Cond)))
           (Apply Union (Map Variables-In-Cond-Clause (Rest ?Exp))))
          ((Quanterm ?Exp) Bottom)
          ((Term ?Exp) (Setof))))

(<- (Variables-In-Cond-Clause ?Cond-Clause)
    (If (And (List ?Cond-Clause)
             (Sentence (First ?Cond-Clause))
             (Term (Second-Item ?Cond-Clause)))
        (Union (Variables-In-Sentence (First ?Cond-Clause))
               (Variables-In-Term (Second-Item ?Cond-Clause)))))