• Places
    • Home
    • Graphs
    • Prefixes
  • Admin
    • Users
    • Settings
    • Plugins
    • Statistics
  • CPACK
    • Home
    • List packs
    • Submit pack
  • Repository
    • Load local file
    • Load from HTTP
    • Load from library
    • Remove triples
    • Clear repository
  • Query
    • YASGUI SPARQL Editor
    • Simple Form
    • SWISH Prolog shell
  • Help
    • Documentation
    • Tutorial
    • Roadmap
    • HTTP Services
  • Login

A.58 library(terms): Term manipulation
All Application Manual Name SummaryHelp

  • Documentation
    • Reference manual
      • The SWI-Prolog library
        • library(terms): Term manipulation
          • term_size/2
          • variant/2
          • subsumes_chk/2
          • subsumes/2
          • term_subsumer/3
          • term_factorized/3
          • mapargs/3
          • mapsubterms/3
          • mapsubterms_var/3
          • foldsubterms/4
          • foldsubterms/5
          • same_functor/2
          • same_functor/3
          • same_functor/4
    • Packages
Availability::- use_module(library(terms)).(can be autoloaded)
Sourceterm_factorized(+Term, -Skeleton, -Substiution)
Is true when Skeleton is Term where all subterms that appear multiple times are replaced by a variable and Substitution is a list of Var=Value that provides the subterm at the location Var. I.e., After unifying all substitutions in Substiutions, Term == Skeleton. Term may be cyclic. For example:
?- X = a(X), term_factorized(b(X,X), Y, S).
Y = b(_G255, _G255),
S = [_G255=a(_G255)].
ClioPatria (version V3.1.1-51-ga0b30a5)