Class Modals

java.lang.Object
com.articulate.sigma.trans.Modals

public class Modals extends Object
  • Field Details

    • formulaPreds

      public static final List<String> formulaPreds
    • dualFormulaPreds

      public static final List<String> dualFormulaPreds
    • regHOL3pred

      public static final List<String> regHOL3pred
    • regHOLpred

      public static final List<String> regHOLpred
    • modalAttributes

      public static final Set<String> modalAttributes
    • RIGID_RELATIONS

      public static final Set<String> RIGID_RELATIONS
    • RESERVED_MODAL_SYMBOLS

      public static final Set<String> RESERVED_MODAL_SYMBOLS
    • allowedHeads

      public static final List<String> allowedHeads
    • noWorld

      public static final Set<String> noWorld
  • Constructor Details

    • Modals

      public Modals()
  • Method Details

    • handleHOL3pred

      public static Formula handleHOL3pred(Formula f, KB kb, Integer worldNum)
      Handle the predicates given in regHOL3pred, which have a parameter followed by a formula.
    • handleHOLpred

      public static Formula handleHOLpred(Formula f, KB kb, Integer worldNum)
      Handle predicates in regHOLpred that take an individual and a formula argument, e.g. (confersObligation USGovernment ?A F). We rewrite them into a Kripke-style implication using accreln: (P A F) ==> (=> (accreln P A ?W_{n-1} ?W_n) F') where F' is recursively processed and world-indexed, and we introduce a fresh world variable ?Wn.
    • handleModalAttribute

      public static Formula handleModalAttribute(Formula f, KB kb, Integer worldNum)
      Handle the predicate modalAttribute: (modalAttribute F M) is read as: "F holds in all worlds accessible via modality M". We rewrite: (modalAttribute F M) into (=> (accrelnP M ?W_{n-1} ?W_n) F') where F' is recursively processed and world-indexed, and we introduce a fresh world variable ?Wn.
    • processRecurse

      public static Formula processRecurse(Formula f, KB kb, Integer worldNum)
    • baseFunctor

      public static String baseFunctor(String head)
      Return the base functor name by stripping a trailing "__" suffix. E.g. "partition__7" -> "partition", "disjointDecomposition__4" -> "disjointDecomposition". If there is no such suffix, returns the input unchanged.
    • addAccrelnDef

      public static void addAccrelnDef(KB kb)
      Add the signature for the Kripke accessibility relation
    • processModals

      public static Formula processModals(Formula f, KB kb)
    • getTFFHeader

      public static String getTFFHeader()
    • getTHFHeader

      public static String getTHFHeader()
    • doTQM10Tests

      public static void doTQM10Tests(KB kb)
      Tests based on ~/workspace/sumo/tests/TQM10.kif Uses same KB instance as main method
    • main

      public static void main(String[] args)