RISC JKU

at.jku.risc.stout.hoau.data

Class NodeFactory



  • public class NodeFactory
    extends Object
    A factory to create TermNodes, Hedges and atomic types ( TermAtoms). This factory has also the ability to automatically transform all the created bound variables so that they are all guaranteed to be distinct.
    Author:
    Alexander Baumgartner
    • Field Detail

      • MAKE_BOUNDVAR_DISTINCT

        public static boolean MAKE_BOUNDVAR_DISTINCT
      • PREFIX_Constant

        public static String PREFIX_Constant
      • PREFIX_FreshBoundVar

        public static String PREFIX_FreshBoundVar
      • PREFIX_FreshFreeVar

        public static String PREFIX_FreshFreeVar
      • PREFIX_Function

        public static String PREFIX_Function
      • PREFIX_IndividualVar

        public static String PREFIX_IndividualVar
      • PREFIX_Lambda

        public static String PREFIX_Lambda
      • SUFFIX_FreshBoundVar

        public static String SUFFIX_FreshBoundVar
      • SUFFIX_FreshFreeVar

        public static String SUFFIX_FreshFreeVar
    • Constructor Detail

      • NodeFactory

        public NodeFactory()
    • Method Detail

      • addToHedge

        public void addToHedge(TermNode node)
      • hasBoundVar

        public boolean hasBoundVar(String name)
      • obtainFreshVar

        public static Variable obtainFreshVar(String type)
      • obtainFreshVarNode

        public static TermNode obtainFreshVarNode(String type)
      • popHedge

        public Hedge popHedge()
      • pushHedge

        public void pushHedge(boolean lambda)
        Everything what is not an argument list of a static function symbol is a lambda hedge. We show an example where we denote lambda hedges with () and simple function argument hedges with [] and with \ we denote the lambda symbol:
        (\x.f[a, x(f, (b, c))]) \x.\y.g[x(y)]
        This lambda term will reduce to f[a, g[f[b c]]]
      • resetCounter

        public static void resetCounter()