/swish/pack/sCASP/prolog/scasp/stack.pl
AllApplicationManualNameSummaryHelp

  • prolog
    • scasp
      • embed.pl -- Embed sCASP programs in Prolog sources
      • ops.pl
      • input.pl -- Read SASP source code
      • common.pl -- Common predicates used in multiple files
      • program.pl -- Input program access
      • variables.pl -- Variable storage and access
      • source_ref.pl -- s(CASP) source references
      • compile.pl -- s(ASP) Ungrounded Stable Models Solver
      • predicates.pl -- Basic information about sCASP predicates
      • comp_duals.pl -- Dual rule computation
      • options.pl -- (Command line) option handling for sCASP
      • nmr_check.pl -- Detect OLON rules and construct nmr_check
      • call_graph.pl -- Build the call graph used for NMR check construction and indexing.
      • pr_rules.pl -- Output formatting and printing.
      • modules.pl -- Encode modules
      • solve.pl -- The sCASP solver
      • verbose.pl -- Print goal and stack in Ciao compatible format
      • model.pl -- sCASP model handling
      • output.pl -- Emit sCASP terms
      • stack.pl
        • justification_tree/3
        • print_justification_tree/1
        • print_justification_tree/2
        • unqualify_justitication_tree/3
      • listing.pl
      • human.pl -- Print s(CASP) output in human language
      • html.pl -- Render s(CASP) justification as HTML
      • html_text.pl -- Switch between HTML and plain text output
      • messages.pl
      • dyncall.pl --
      • swish.pl -- s(CASP) adapter for SWISH
 justification_tree(:Stack, -JustificationTree, +Options)
Process Stack as produced by solve/4 into a justification tree. Options include:

<none yet>

The tree format is defined as follows.

  • The tree as a whole is module-qualified with the same module as the input Stack.
  • Each node takes the shape Node-Children, where Node is an atom (in the logical sense) and Children is a (possibly empty) list of sub-trees that justify the Node.
  • Nodes (atom) may be wrapped in one or more of
    not(Node)
    NAF negation
    - Node
    Classical negation
    chs(Node)
    Node was proven by co-induction ("it is assumed that ...")
    proved(Node)
    Node was proven before ("justified above")
    assume(Node)
    Node was assumed (matching chs(Node)).

The root node has the atom query and has two children: the actual query and the atom o_nmr_check which represents the global constraints.