++<term> ::= "\" var "."<term> | n |<term><term> | "("<term>")"
Aha. Instead of 1. from
http://en.wikipedia.org/wiki/Lambda_calculus#Definition
i.e. "If x is a variable then x\in\Lambda", you use the deBruijn index
"n". Good to know. But it should appear at the place where you define
your representation.
And what you describe above is a grammar for the input. That's
interesting for parsing an input string, but not for representation.
It still doesn't describe why you have this
Rep := Union(_
boundTerm:Record(varBound:NNI),_
freeTerm:UT,_
compoundTerm:Record(c1:%, c2:%),_
lambdaTerm:Record(c3:%, nm:UT)_
)
as representation.
Ralf
--
You received this message because you are subscribed to the Google Groups "FriCAS -
computer algebra system" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en.