AngouriMath
Binder(System.String,AngouriMath.Core.Transformations.Matching.MatchPattern)
Method (no overloads)
Summary
Matches a binder — a node that declares a name and puts a body under it — binding the
declared name tovarName and matching the body against
body . Repeating varName inside
body is how a rule says the same variable.
declared name to
Remarks
publishes one child there, its predicate, with the bound name already replaced by a
placeholder invented per traversal. So a two-child pattern over it never matched, and
no pattern could name the bound variable at all.
#1074
same position; measuring them says otherwise. A summation, a product, an integral, a
derivative, a limit and a lambda each publish the name they bind as an ordinary child,
un-renamed, so an ordinary Node``1(AngouriMath.Core.Transformations.Matching.MatchPattern[]) already reaches it —
ConditionalSet hides and renames, and only it has an
MatchableChildren override.
against a written one would make the pattern read
anything but Any(System.String) there. Alpha-invariance then holds for the same
reason it holds of the
the same name, never which name.
its bound name written, so a replacement that lifts part of that body out of the
binder frees an occurrence that was bound — capture, in reverse. Nothing here can check
that, because the replacement is arbitrary.
something that mentions
Angouri © 2019-2023 · Project's repo · Site's repo · Octicons · Transparency · 4378 pages online