View source with raw comments or as raw
    1/*  Generated by online_index/0
    2
    3    Purpose: Index to file online_manual
    4*/
    5
    6:- module(help_index,
    7	[ predicate/5,
    8	  section/4,
    9	  function/3
   10	]).   11
   12% Predicate predicate/5
   13
   14predicate(~,0,'',41,48).
   15predicate(help,0,'Give help on help',805,807).
   16predicate(help,1,'Give help on predicates and show parts of manual',809,834).
   17predicate(apropos,1,'library(online_help) Search manual',836,845).
   18predicate(explain,1,'library(explain) Explain argument',847,853).
   19predicate(explain,2,'library(explain) 2nd argument is explanation of first',855,858).
   20predicate(current_prolog_flag,2,'Get system configuration parameters',1311,2189).
   21predicate(set_prolog_flag,2,'Define a system feature',2191,2213).
   22predicate(create_prolog_flag,3,'Create a new Prolog flag',2215,2234).
   23predicate(autoload_path,1,'Add directories for autoloading',2363,2375).
   24predicate(make_library_index,1,'Create autoload file INDEX.pl',2377,2381).
   25predicate(make_library_index,2,'Create selective autoload file INDEX.pl',2383,2403).
   26predicate(reload_library_index,0,'Force reloading the autoload index',2405,2421).
   27predicate(attach_packs,0,'Attach add-ons',2433,2444).
   28predicate(attach_packs,1,'Attach add-ons from directory',2446,2449).
   29predicate(attach_packs,2,'Attach add-ons from directory',2451,2469).
   30predicate(guitracer,0,'Install hooks for the graphical debugger',3906,3912).
   31predicate(noguitracer,0,'Disable the graphical debugger',3914,3917).
   32predicate(gtrace,0,'Trace using graphical tracer',3919,3921).
   33predicate(gdebug,0,'Debug using graphical tracer',3923,3925).
   34predicate(gspy,1,'Spy using graphical tracer',3927,3929).
   35predicate(gxref,0,'Cross-reference loaded program',3963,4020).
   36predicate(prolog_ide,1,'Program access to the development environment',4032,4059).
   37predicate(load_files,1,'Load source files',4319,4322).
   38predicate(load_files,2,'Load source files with options',4324,4491).
   39predicate(consult,1,'Read (compile) a Prolog source file',4493,4509).
   40predicate(ensure_loaded,1,'Consult a file if that has not yet been done',4511,4523).
   41predicate(include,1,'Include a file with declarations',4525,4575).
   42predicate(require,1,'This file requires these predicates',4577,4592).
   43predicate(encoding,1,'Define encoding inside a source file',4594,4599).
   44predicate(make,0,'Reconsult all changed source files',4601,4612).
   45predicate(library_directory,1,'Hook (user) Directories holding Prolog libraries',4614,4620).
   46predicate(file_search_path,2,'Define path-aliases for locating files',4622,4666).
   47predicate(expand_file_search_path,2,'Wildcard expansion of file paths',4668,4671).
   48predicate(prolog_file_type,2,'Define meaning of file extension',4673,4695).
   49predicate(source_file,1,'Examine currently loaded source files',4697,4700).
   50predicate(source_file,2,'Obtain source file of predicate',4702,4712).
   51predicate(source_file_property,2,'Information about loaded files',4714,4765).
   52predicate(unload_file,1,'Unload a source file',4767,4778).
   53predicate(prolog_load_context,2,'Context information for directives',4780,4830).
   54predicate(source_location,2,'Location of last read term',4832,4837).
   55predicate(at_halt,1,'Register goal to run at halt/1',4839,4848).
   56predicate(cancel_halt,1,'Cancel halt/0 from an at_halt/1 hook',4850,4856).
   57predicate(initialization,1,'Initialization directive',4858,4890).
   58predicate(initialization,2,'Initialization directive',4892,4926).
   59predicate(initialization,0,'',4928,4933).
   60predicate(compiling,0,'Is this a compilation run?',4935,4940).
   61predicate(term_expansion,2,'Hook (user) Convert term before compilation',4957,4978).
   62predicate(expand_term,2,'Compiler: expand read term into clause(s)',4980,4996).
   63predicate(goal_expansion,2,'Hook for macro-expanding goals',4998,5021).
   64predicate(expand_goal,2,'Compiler: expand goal in clause-body',5023,5030).
   65predicate(compile_aux_clauses,1,'Compile predicates for goal_expansion/2',5032,5043).
   66predicate(dcg_translate_rule,2,'Source translation of DCG rules',5045,5049).
   67predicate(var_property,2,'Variable properties during macro expansion',5051,5068).
   68predicate(expand_goal,4,'Compiler: expand goal in clause-body',5084,5085).
   69predicate(goal_expansion,4,'Hook for macro-expanding goals',5087,5088).
   70predicate(expand_term,4,'Compiler: expand read term into clause(s)',5090,5091).
   71predicate(term_expansion,4,'Hook (user) Convert term before compilation',5093,5094).
   72predicate(dcg_translate_rule,4,'Source translation of DCG rules',5096,5101).
   73predicate(if,1,'Start conditional compilation (directive)',5134,5139).
   74predicate(elif,1,'Part of conditional compilation (directive)',5141,5157).
   75predicate(else,0,'Part of conditional compilation (directive)',5159,5161).
   76predicate(endif,0,'End of conditional compilation (directive)',5163,5165).
   77predicate(garbage_collect_clauses,0,'Invoke clause garbage collector',5274,5299).
   78predicate(qcompile,1,'Compile source to Quick Load File',5376,5396).
   79predicate(qcompile,2,'Compile source to Quick Load File',5398,5401).
   80predicate(edit,1,'Edit a file, predicate, module (extensible)',5428,5435).
   81predicate(edit,0,'Edit current script- or associated file',5437,5441).
   82predicate(locate,3,'Locate targets for edit/1',5450,5463).
   83predicate(locate,2,'Locate targets for edit/1',5465,5468).
   84predicate(edit_source,1,'Call editor for edit/1',5470,5487).
   85predicate(edit_command,2,'Specify editor activation',5489,5515).
   86predicate(load,0,'Load edit/1 extensions',5517,5530).
   87predicate(listing,1,'List predicate',5535,5546).
   88predicate(listing,0,'List program in current module',5548,5552).
   89predicate(portray_clause,1,'Pretty print a clause',5554,5559).
   90predicate(portray_clause,2,'Pretty print a clause to a stream',5561,5563).
   91predicate(var,1,'Type check for unbound variable',5573,5575).
   92predicate(nonvar,1,'Type check for bound term',5577,5579).
   93predicate(integer,1,'Type check for integer',5581,5583).
   94predicate(float,1,'Type check for a floating point number',5585,5587).
   95predicate(rational,1,'Type check for a rational number',5589,5592).
   96predicate(rational,3,'Decompose a rational',5594,5599).
   97predicate(number,1,'Type check for integer or float',5601,5603).
   98predicate(atom,1,'Type check for an atom',5605,5607).
   99predicate(blob,2,'Type check for a blob',5609,5611).
  100predicate(string,1,'Type check for string',5613,5619).
  101predicate(atomic,1,'Type check for primitive',5621,5635).
  102predicate(compound,1,'Test for compound term',5637,5640).
  103predicate(callable,1,'Test for atom or compound term',5642,5661).
  104predicate(ground,1,'Verify term holds no unbound variables',5663,5666).
  105predicate(cyclic_term,1,'Test term for cycles',5668,5671).
  106predicate(acyclic_term,1,'Test term for cycles',5673,5676).
  107predicate(=,2,'True when arguments are unified',5684,5691).
  108predicate(\=,2,'True if arguments cannot be unified',5693,5703).
  109predicate(==,2,'Test for strict equality',5761,5764).
  110predicate(\==,2,'True if arguments are not strictly equal',5766,5768).
  111predicate(@<,2,'Standard order smaller',5770,5772).
  112predicate(@=<,2,'Standard order smaller or equal',5774,5777).
  113predicate(@>,2,'Standard order larger',5779,5781).
  114predicate(@>=,2,'Standard order larger or equal',5783,5786).
  115predicate(compare,3,'Compare, using a predicate to determine the order',5788,5791).
  116predicate(unify_with_occurs_check,2,'Logically sound unification',5804,5841).
  117predicate(=@=,2,'Test for structural equality (variant)',5843,5884).
  118predicate(\=@=,2,'Not structural identical',5886,5888).
  119predicate(subsumes_term,2,'One-sided unification test',5890,5896).
  120predicate(term_subsumer,3,'Most specific generalization of two terms',5898,5901).
  121predicate(unifiable,3,'Determining binding required for unification',5903,5908).
  122predicate(?=,2,'Test of terms can be compared now',5910,5915).
  123predicate(fail,0,'Always false',5933,5936).
  124predicate(false,0,'Always false',5938,5940).
  125predicate(true,0,'Succeed',5942,5945).
  126predicate(repeat,0,'Succeed, leaving infinite backtrack points',5947,5949).
  127predicate(!,0,'Cut (discard choicepoints)',5951,5970).
  128predicate(',',2,'Conjunction of goals',5972,5979).
  129predicate(;,2,'Disjunction of two goals',5981,5987).
  130predicate('|',2,'Disjunction in DCGs. Same as ;/2',5989,5992).
  131predicate(->,2,'If-then-else',5994,6017).
  132predicate(*->,2,'Soft-cut',6019,6048).
  133predicate(\+,1,'Negation by failure. Same as not/1',6050,6054).
  134predicate(call,1,'Call a goal',6066,6069).
  135predicate(call,_122,'Call with additional arguments',6071,6082).
  136predicate(apply,2,'Call goal with additional arguments',6084,6089).
  137predicate(not,1,'Negation by failure (argument not provable). Same as \\+/1',6091,6094).
  138predicate(once,1,'Call a goal deterministically',6096,6116).
  139predicate(ignore,1,'Call the argument, but always succeed',6118,6126).
  140predicate(call_with_depth_limit,3,'Prove goal with bounded depth',6128,6157).
  141predicate(call_with_inference_limit,3,'Prove goal in limited inferences',6159,6191).
  142predicate(setup_call_cleanup,3,'Undo side-effects safely',6193,6250).
  143predicate(setup_call_catcher_cleanup,4,'Undo side-effects safely',6252,6283).
  144predicate(call_cleanup,2,'Guard a goal with a cleaup-handler',6285,6292).
  145predicate(call_cleanup,3,'Guard a goal with a cleaup-handler',6294,6297).
  146predicate(reset,3,'Wrapper for delimited continuations',6312,6319).
  147predicate(shift,1,'Shift control to the closest reset/3',6321,6327).
  148predicate(catch,3,'Call goal, watching for exceptions',6335,6349).
  149predicate(throw,1,'Raise an exception (see catch/3)',6351,6383).
  150predicate(print_message,2,'Print message from (exception) term',6519,6584).
  151predicate(print_message_lines,3,'Print message to stream',6586,6627).
  152predicate(message_hook,3,'Intercept print_message/2',6629,6637).
  153predicate(thread_message_hook,3,'Thread local message_hook/3',6639,6645).
  154predicate(message_property,2,'Hook (user) Define display of a message',6647,6684).
  155predicate(message_line_element,2,'Hook (prolog) Intercept print_message_lines/3',6686,6690).
  156predicate(message_to_string,2,'Translate message-term to string',6692,6694).
  157predicate(version,0,'Print system banner message',6696,6700).
  158predicate(version,1,'Add messages to the system banner',6702,6707).
  159predicate(on_signal,3,'Handle a software signal',6793,6827).
  160predicate(current_signal,3,'Current software signal mapping',6829,6833).
  161predicate(phrase,2,'Activate grammar-rule set',6916,6918).
  162predicate(phrase,3,'Activate grammar-rule set (returning rest)',6920,6976).
  163predicate(call_dcg,3,'As phrase/3 without type checking',6978,7004).
  164predicate(abolish,1,'Remove predicate definition from the database',7074,7090).
  165predicate(abolish,2,'Remove predicate definition from the database',7092,7095).
  166predicate(copy_predicate_clauses,2,'Copy clauses between predicates',7097,7120).
  167predicate(redefine_system_predicate,1,'Abolish system definition',7122,7132).
  168predicate(retract,1,'Remove clause from the database',7134,7166).
  169predicate(retractall,1,'Remove unifying clauses from the database',7168,7173).
  170predicate(asserta,1,'Add a clause to the database (first)',7175,7182).
  171predicate(assertz,1,'Add a clause to the database (last)',7184,7187).
  172predicate(assert,1,'Add a clause to the database',7189,7192).
  173predicate(asserta,2,'Add a clause to the database (first)',7194,7198).
  174predicate(assertz,2,'Add a clause to the database (last)',7200,7203).
  175predicate(assert,2,'Add a clause to the database, give reference',7205,7208).
  176predicate(recorda,3,'Record term in the database (first)',7213,7219).
  177predicate(recorda,2,'Record term in the database (first)',7221,7223).
  178predicate(recordz,3,'Record term in the database (last)',7225,7228).
  179predicate(recordz,2,'Record term in the database (last)',7230,7232).
  180predicate(recorded,3,'Obtain term from the database',7234,7245).
  181predicate(recorded,2,'Obtain term from the database',7247,7249).
  182predicate(erase,1,'Erase a database record or clause',7251,7258).
  183predicate(instance,2,'Fetch clause or record from reference',7260,7263).
  184predicate(get_flag,2,'Get value of a flag',7275,7278).
  185predicate(flag,3,'Simple global variable system',7285,7295).
  186predicate(trie_new,1,'Create a trie',7322,7326).
  187predicate(trie_destroy,1,'Destroy a trie',7328,7332).
  188predicate(is_trie,1,'Type check for a trie handle',7334,7336).
  189predicate(current_trie,1,'Enumerate known tries',7338,7342).
  190predicate(trie_insert,3,'Insert term into a trie',7344,7349).
  191predicate(trie_update,3,'Update associated value in trie',7351,7354).
  192predicate(trie_insert,4,'Insert term into a trie',7356,7361).
  193predicate(trie_delete,3,'Remove term from trie',7363,7366).
  194predicate(trie_lookup,3,'Lookup a term in a trie',7368,7370).
  195predicate(trie_term,2,'Get term from a trie by handle',7372,7377).
  196predicate(trie_gen,3,'Get all terms from a trie',7379,7384).
  197predicate(trie_property,2,'Examine a trie\'s properties',7386,7402).
  198predicate(term_hash,2,'Hash-value of ground term',7438,7453).
  199predicate(term_hash,4,'Hash-value of term with depth limit',7455,7464).
  200predicate(variant_sha1,2,'Term-hash for term-variants',7466,7485).
  201predicate(variant_hash,2,'Term-hash for term-variants',7487,7493).
  202predicate(dynamic,1,'Indicate predicate definition may change',7514,7522).
  203predicate(compile_predicates,1,'Compile dynamic code to static',7524,7532).
  204predicate(multifile,1,'Indicate distributed definition of predicate',7534,7538).
  205predicate(discontiguous,1,'Indicate distributed definition of a predicate',7540,7543).
  206predicate(public,1,'Declaration that a predicate may be called',7545,7554).
  207predicate(current_atom,1,'Examine existing atoms',7559,7563).
  208predicate(current_blob,2,'Examine typed blobs',7565,7570).
  209predicate(current_functor,2,'Examine existing name/arity pairs',7572,7575).
  210predicate(current_flag,1,'Examine existing flags',7577,7580).
  211predicate(current_key,1,'Examine existing database keys',7582,7585).
  212predicate(current_predicate,1,'Examine existing predicates (ISO)',7587,7603).
  213predicate(current_predicate,2,'Examine existing predicates',7605,7622).
  214predicate(predicate_property,2,'Query predicate attributes',7624,7801).
  215predicate(dwim_predicate,2,'Find predicate in ``Do What I Mean\'\' sense',7803,7812).
  216predicate(clause,2,'Get clauses of a predicate',7814,7818).
  217predicate(clause,3,'Get clauses of a predicate',7820,7825).
  218predicate(nth_clause,3,'N-th clause of a predicate',7827,7846).
  219predicate(clause_property,2,'Get properties of a clause',7848,7901).
  220predicate(open,4,'Open a file (creating a stream)',7979,8115).
  221predicate(open,3,'Open a file (creating a stream)',8117,8119).
  222predicate(open_null_stream,1,'Open a stream to discard output',8121,8139).
  223predicate(close,1,'Close stream',8141,8151).
  224predicate(close,2,'Close stream (forced)',8153,8157).
  225predicate(stream_property,2,'Get stream properties',8159,8283).
  226predicate(current_stream,3,'Examine open streams',8285,8292).
  227predicate(is_stream,1,'Type check for a stream handle',8294,8298).
  228predicate(stream_pair,3,'Create/examine a bi-directional stream',8300,8317).
  229predicate(set_stream_position,2,'Seek stream to position',8319,8323).
  230predicate(stream_position_data,3,'Access fields from stream position',8325,8331).
  231predicate(seek,4,'Modify the current position in a stream',8333,8361).
  232predicate(set_stream,2,'Set stream attribute',8363,8464).
  233predicate(set_prolog_IO,3,'Prepare streams for interactive session',8466,8477).
  234predicate(see,1,'Change the current input stream',8556,8560).
  235predicate(tell,1,'Change current output stream',8562,8567).
  236predicate(append,1,'Append to a file',8569,8573).
  237predicate(seeing,1,'Query the current input stream',8575,8580).
  238predicate(telling,1,'Query current output stream',8582,8587).
  239predicate(seen,0,'Close the current input stream',8589,8592).
  240predicate(told,0,'Close current output',8594,8597).
  241predicate(set_input,1,'Set current input stream from a stream',8605,8609).
  242predicate(set_output,1,'Set current output stream from a stream',8611,8614).
  243predicate(current_input,1,'Get current input stream',8616,8619).
  244predicate(current_output,1,'Get the current output stream',8621,8623).
  245predicate(with_output_to,2,'Write to strings and more',8628,8678).
  246predicate(fast_term_serialized,2,'Fast term (de-)serialization',8709,8711).
  247predicate(fast_write,2,'Write binary term serialization',8713,8716).
  248predicate(fast_read,2,'Read binary term serialization',8718,8721).
  249predicate(wait_for_input,3,'Wait for input with optional timeout',8726,8779).
  250predicate(byte_count,2,'Byte-position in a stream',8781,8786).
  251predicate(character_count,2,'Get character index on a stream',8788,8793).
  252predicate(line_count,2,'Line number on stream',8795,8798).
  253predicate(line_position,2,'Character position in line on stream',8800,8805).
  254predicate(nl,0,'Generate a newline',8812,8815).
  255predicate(nl,1,'Generate a newline on a stream',8817,8819).
  256predicate(put,1,'Write a character',8821,8826).
  257predicate(put,2,'Write a character on a stream',8828,8830).
  258predicate(put_byte,1,'Write a byte',8832,8835).
  259predicate(put_byte,2,'Write a byte on a stream',8837,8840).
  260predicate(put_char,1,'Write a character',8842,8847).
  261predicate(put_char,2,'Write a character on a stream',8849,8853).
  262predicate(put_code,1,'Write a character-code',8855,8859).
  263predicate(put_code,2,'Write a character-code on a stream',8861,8863).
  264predicate(tab,1,'Output number of spaces',8865,8869).
  265predicate(tab,2,'Output number of spaces on a stream',8871,8873).
  266predicate(flush_output,0,'Output pending characters on current stream',8875,8879).
  267predicate(flush_output,1,'Output pending characters on specified stream',8881,8884).
  268predicate(ttyflush,0,'Flush output on terminal',8886,8888).
  269predicate(get_byte,1,'Read next byte (ISO)',8890,8894).
  270predicate(get_byte,2,'Read next byte from a stream (ISO)',8896,8899).
  271predicate(get_code,1,'Read next character (ISO)',8901,8905).
  272predicate(get_code,2,'Read next character from a stream (ISO)',8907,8909).
  273predicate(get_char,1,'Read next character as an atom (ISO)',8911,8915).
  274predicate(get_char,2,'Read next character from a stream (ISO)',8917,8920).
  275predicate(get0,1,'Read next character',8922,8927).
  276predicate(get0,2,'Read next character from a stream',8929,8932).
  277predicate(get,1,'Read first non-blank character',8934,8938).
  278predicate(get,2,'Read first non-blank character from a stream',8940,8943).
  279predicate(peek_byte,1,'Read byte without removing',8945,8946).
  280predicate(peek_byte,2,'Read byte without removing',8948,8949).
  281predicate(peek_code,1,'Read character-code without removing',8951,8952).
  282predicate(peek_code,2,'Read character-code without removing',8954,8955).
  283predicate(peek_char,1,'Read character without removing',8957,8958).
  284predicate(peek_char,2,'Read character without removing',8960,8967).
  285predicate(peek_string,3,'Read a string without removing',8969,8976).
  286predicate(skip,1,'Skip to character in current input',8978,8982).
  287predicate(skip,2,'Skip to character on stream',8984,8986).
  288predicate(get_single_char,1,'Read next character from the terminal',8988,8997).
  289predicate(at_end_of_stream,0,'Test for end of file on input',8999,9003).
  290predicate(at_end_of_stream,1,'Test for end of file on stream',9005,9010).
  291predicate(set_end_of_stream,1,'Set physical end of an open file',9012,9016).
  292predicate(copy_stream_data,3,'Copy n bytes from stream to stream',9018,9023).
  293predicate(copy_stream_data,2,'Copy all data from stream to stream',9025,9027).
  294predicate(fill_buffer,1,'Fill the input buffer of a stream',9029,9034).
  295predicate(read_pending_codes,3,'Fetch buffered input from a stream',9036,9071).
  296predicate(read_pending_chars,3,'Fetch buffered input from a stream',9073,9076).
  297predicate(write_term,2,'Write term with options',9090,9257).
  298predicate(write_term,3,'Write term with options to stream',9259,9262).
  299predicate(write_length,3,'Dermine #characters to output a term',9264,9273).
  300predicate(write_canonical,1,'Write a term with quotes, ignore operators',9275,9289).
  301predicate(write_canonical,2,'Write a term with quotes, ignore operators on a stream',9291,9293).
  302predicate(write,1,'Write term',9295,9298).
  303predicate(write,2,'Write term to stream',9300,9302).
  304predicate(writeq,1,'Write term, insert quotes',9304,9309).
  305predicate(writeq,2,'Write term, insert quotes on stream',9311,9313).
  306predicate(writeln,1,'Write term, followed by a newline',9315,9319).
  307predicate(writeln,2,'Write term, followed by a newline to a stream',9321,9325).
  308predicate(print,1,'Print a term',9327,9355).
  309predicate(print,2,'Print a term on a stream',9357,9359).
  310predicate(portray,1,'Hook (user) Modify behaviour of print/1',9361,9368).
  311predicate(read,1,'Read Prolog term',9370,9375).
  312predicate(read,2,'Read Prolog term from stream',9377,9379).
  313predicate(read_clause,3,'Read clause from stream',9381,9411).
  314predicate(read_term,2,'Read term with options',9413,9566).
  315predicate(read_term,3,'Read term with options from stream',9568,9570).
  316predicate(read_term_from_atom,3,'Read term with options from atom',9572,9577).
  317predicate(read_history,6,'Read using history substitution',9579,9594).
  318predicate(prompt,2,'Change the prompt used by read/1',9596,9604).
  319predicate(prompt1,1,'Change prompt for 1 line',9606,9609).
  320predicate(functor,3,'Get name and arity of a term or construct a term ',9614,9634).
  321predicate(arg,3,'Access argument of a term',9636,9645).
  322predicate(=..,2,'``Univ.\'\' Term to list conversion',9647,9669).
  323predicate(compound_name_arity,3,'Name and arity of a compound term',9671,9675).
  324predicate(compound_name_arguments,3,'Name and arguments of a compound term',9677,9680).
  325predicate(numbervars,3,'Number unbound variables of a term',9682,9702).
  326predicate(numbervars,4,'Number unbound variables of a term',9704,9723).
  327predicate(var_number,2,'Check that var is numbered by numbervars',9725,9731).
  328predicate(term_variables,2,'Find unbound variables in a term',9733,9743).
  329predicate(nonground,2,'Term is not ground due to witness',9745,9754).
  330predicate(term_variables,3,'Find unbound variables in a term',9756,9759).
  331predicate(term_singletons,2,'Find singleton variables in a term',9761,9773).
  332predicate(copy_term,2,'Make a copy of a term',9775,9784).
  333predicate(setarg,3,'Destructive assignment on term',9796,9813).
  334predicate(nb_setarg,3,'Non-backtrackable assignment to term',9815,9845).
  335predicate(nb_linkarg,3,'Non-backtrackable assignment to term',9847,9851).
  336predicate(duplicate_term,2,'Create a copy of a term',9853,9858).
  337predicate(same_term,2,'Test terms to be at the same address',9860,9865).
  338predicate(atom_codes,2,'Convert between atom and list of characters codes',9888,9894).
  339predicate(atom_chars,2,'Convert between atom and list of characters',9896,9904).
  340predicate(char_code,2,'Convert between character and character code',9906,9909).
  341predicate(number_chars,2,'Convert between number and one-char atoms',9911,9918).
  342predicate(number_codes,2,'Convert between number and character codes',9920,9924).
  343predicate(atom_number,2,'Convert between atom and number',9926,9933).
  344predicate(name,2,'Convert between atom and list of character codes',9935,9952).
  345predicate(term_to_atom,2,'Convert between term and atom',9954,9961).
  346predicate(atom_to_term,3,'Convert between atom and term',9963,9970).
  347predicate(atom_concat,3,'Contatenate two atoms',9972,9979).
  348predicate(atomic_concat,3,'Concatenate two atomic values to an atom',9981,9989).
  349predicate(atomic_list_concat,2,'Append a list of atomics',9991,9996).
  350predicate(atomic_list_concat,3,'Append a list of atomics with separator',9998,10019).
  351predicate(atom_length,2,'Determine length of an atom',10021,10027).
  352predicate(atom_prefix,2,'Test for start of atom',10029,10032).
  353predicate(sub_atom,5,'Take a substring from an atom',10034,10048).
  354predicate(sub_atom_icasechk,3,'Case insensitive substring match',10050,10056).
  355predicate(locale_create,3,'Create a new locale object',10086,10120).
  356predicate(locale_destroy,1,'Destroy a locale object',10122,10126).
  357predicate(locale_property,2,'Query properties of locale objects',10128,10131).
  358predicate(set_locale,1,'Set the default local',10133,10139).
  359predicate(current_locale,1,'Get the current locale',10141,10143).
  360predicate(char_type,2,'Classify characters',10158,10270).
  361predicate(code_type,2,'Classify a character-code',10272,10279).
  362predicate(downcase_atom,2,'Convert atom to lower-case',10289,10294).
  363predicate(upcase_atom,2,'Convert atom to upper-case',10296,10298).
  364predicate(normalize_space,2,'Normalize white space',10303,10308).
  365predicate(collation_key,2,'Sort key for locale dependent ordering',10316,10329).
  366predicate(locale_sort,2,'Language dependent sort of atoms',10331,10336).
  367predicate(op,3,'Declare an operator',10375,10443).
  368predicate(current_op,3,'Examine current operator declarations',10445,10448).
  369predicate(char_conversion,2,'Provide mapping of input characters',10456,10462).
  370predicate(current_char_conversion,2,'Query input character mapping',10464,10467).
  371predicate(between,3,'Integer range checking/generating',10487,10494).
  372predicate(succ,2,'Logical integer successor relation',10496,10502).
  373predicate(plus,3,'Logical integer addition',10504,10507).
  374predicate(divmod,4,'Compute quotient and remainder of two integers',10509,10526).
  375predicate(nth_integer_root_and_remainder,4,'Integer root and remainder',10528,10545).
  376predicate(>,2,'Arithmetic larger',10556,10558).
  377predicate(<,2,'Arithmetic smaller',10560,10562).
  378predicate(=<,2,'Arithmetic smaller or equal',10564,10567).
  379predicate(>=,2,'Arithmetic larger or equal',10569,10572).
  380predicate(=\=,2,'Arithmetic not equal',10574,10576).
  381predicate(=:=,2,'Arithmetic equality',10578,10580).
  382predicate(is,2,'Evaluate arithmetic expression',10582,10591).
  383predicate(-,1,'Unary minus',10709,10711).
  384predicate(+,1,'Unary plus (No-op)',10713,10716).
  385predicate(+,2,'Addition',10718,10720).
  386predicate(-,2,'Subtraction',10722,10724).
  387predicate(*,2,'Multiplication',10726,10728).
  388predicate(/,2,'Shorthand for `Free/[]Srshift{}Lambda`.',10730,10738).
  389predicate(mod,2,'Remainder of division',10740,10743).
  390predicate(rem,2,'Remainder of division',10745,10748).
  391predicate(//,2,'Integer division',10750,10755).
  392predicate(div,2,'Integer division',10757,10770).
  393predicate(rdiv,2,'Ration number division',10772,10776).
  394predicate(gcd,2,'Greatest common divisor',10778,10780).
  395predicate(abs,1,'Absolute value',10782,10784).
  396predicate(sign,1,'Extract sign of value',10786,10791).
  397predicate(copysign,2,'Apply sign of N2 to N1',10793,10804).
  398predicate(max,2,'Maximum of two numbers',10806,10811).
  399predicate(min,2,'Minimum of two numbers',10813,10816).
  400predicate('.',2,'Consult. Also functional notation',10818,10827).
  401predicate(random,1,'Binds R to a new random float in the _open_ interval (0.0,1.0).',10829,10847).
  402predicate(random_float,0,'Generate random number',10849,10855).
  403predicate(round,1,'Round to nearest integer',10857,10864).
  404predicate(integer,1,'Type check for integer',10866,10868).
  405predicate(float,1,'Type check for a floating point number',10870,10875).
  406predicate(rational,1,'Type check for a rational number',10877,10894).
  407predicate(rationalize,1,'Convert to rational number',10896,10910).
  408predicate(float_fractional_part,1,'Fractional part of a float',10912,10917).
  409predicate(float_integer_part,1,'Integer part of a float',10919,10922).
  410predicate(truncate,1,'Truncate float to integer',10924,10928).
  411predicate(floor,1,'Largest integer below argument',10930,10933).
  412predicate(ceiling,1,'Smallest integer larger than arg',10935,10938).
  413predicate(ceil,1,'Smallest integer larger than arg',10940,10942).
  414predicate(>>,2,'Calls a copy of Lambda.',10944,10949).
  415predicate(<<,2,'Bitwise left shift',10951,10953).
  416predicate(\/,2,'Bitwise or',10955,10957).
  417predicate(/\,2,'Bitwise and',10959,10961).
  418predicate(xor,2,'Bitwise exclusive or',10963,10965).
  419predicate(\,1,'Bitwise negation',10967,10970).
  420predicate(sqrt,1,'Square root',10972,10974).
  421predicate(sin,1,'Sine',10976,10978).
  422predicate(cos,1,'Cosine',10980,10982).
  423predicate(tan,1,'Tangent',10984,10986).
  424predicate(asin,1,'Inverse (arc) sine',10988,10990).
  425predicate(acos,1,'Inverse (arc) cosine',10992,10994).
  426predicate(atan,1,'Inverse hyperbolic sine',10996,10998).
  427predicate(atan2,2,'Rectangular to polar conversion',11000,11008).
  428predicate(atan,2,'Rectangular to polar conversion',11010,11012).
  429predicate(sinh,1,'Hyperbolic sine',11014,11017).
  430predicate(cosh,1,'Hyperbolic cosine',11019,11022).
  431predicate(tanh,1,'Hyperbolic tangent',11024,11027).
  432predicate(asinh,1,'Inverse (arc) sine',11029,11031).
  433predicate(acosh,1,'Inverse hyperbolic cosine',11033,11035).
  434predicate(atanh,1,'Inverse hyperbolic tangent',11037,11039).
  435predicate(log,1,'Natural logarithm',11041,11043).
  436predicate(log10,1,'10 base logarithm',11045,11047).
  437predicate(exp,1,'Exponent (base $e$)',11049,11051).
  438predicate(**,2,'Power function',11053,11068).
  439predicate(^,2,'Existential quantification (bagof/3, setof/3)',11070,11090).
  440predicate(powm,3,'Integer exponent and modulo',11092,11099).
  441predicate(lgamma,1,'Log of gamma function',11101,11104).
  442predicate(erf,1,'Gauss error function',11106,11112).
  443predicate(erfc,1,'Complementary error function',11114,11117).
  444predicate(pi,0,'Mathematical constant',11119,11121).
  445predicate(e,0,'Mathematical constant',11123,11125).
  446predicate(epsilon,0,'Floating point precision',11127,11130).
  447predicate(inf,0,'Positive infinity',11132,11135).
  448predicate(nan,0,'Not a Number (NaN)',11137,11139).
  449predicate(cputime,0,'Get CPU time',11141,11145).
  450predicate(eval,1,'Evaluate term as expression',11147,11162).
  451predicate(msb,1,'Most significant bit',11164,11169).
  452predicate(lsb,1,'Least significant bit',11171,11176).
  453predicate(popcount,1,'Count 1s in a bitvector',11178,11181).
  454predicate(getbit,2,'Get bit at index from large integer',11183,11190).
  455predicate(set_random,1,'Control random number generation',11195,11217).
  456predicate(random_property,1,'Query properties of random generation',11219,11231).
  457predicate(current_arithmetic_function,1,'Examine evaluable functions',11233,11240).
  458predicate(is_list,1,'Type check for a list',11249,11264).
  459predicate(memberchk,2,'Deterministic member/2',11266,11274).
  460predicate(length,2,'Length of a list',11276,11293).
  461predicate(sort,2,'Sort elements in a list',11295,11308).
  462predicate(sort,4,'Sort elements in a list',11310,11361).
  463predicate(msort,2,'Sort, do not remove duplicates',11363,11366).
  464predicate(keysort,2,'Sort, using a key',11368,11390).
  465predicate(predsort,3,'Sort, using a predicate to determine the order',11392,11397).
  466predicate(findall,3,'Find all solutions to a goal',11402,11409).
  467predicate(findall,4,'Difference list version of findall/3',11411,11419).
  468predicate(findnsols,4,'Find first  solutions',11421,11422).
  469predicate(findnsols,5,'Difference list version of findnsols/4',11424,11457).
  470predicate(bagof,3,'Find all solutions to a goal',11459,11491).
  471predicate(setof,3,'Find all unique solutions to a goal',11493,11496).
  472predicate(forall,2,'Prove goal for all solutions of another goal',11501,11542).
  473predicate(writef,1,'Formatted write',11557,11559).
  474predicate(writef,2,'Formatted write on stream',11561,11620).
  475predicate(swritef,3,'Formatted write on a string',11622,11630).
  476predicate(swritef,2,'Formatted write on a string',11632,11634).
  477predicate(format,1,'Formatted output',11642,11645).
  478predicate(format,2,'Formatted output with arguments',11647,11815).
  479predicate(format,3,'Formatted output on a stream',11817,11827).
  480predicate(format_predicate,2,'Program format/[1,2]',11832,11861).
  481predicate(current_format_predicate,2,'Enumerate user-defined format codes',11863,11866).
  482predicate(b_setval,2,'Assign backtrackable global variable',11907,11913).
  483predicate(b_getval,2,'Fetch backtrackable global variable',11915,11922).
  484predicate(nb_setval,2,'Assign non-backtrackable global variable',11924,11928).
  485predicate(nb_getval,2,'Fetch non-backtrackable global variable',11930,11940).
  486predicate(nb_linkval,2,'Assign non-backtrackable global variable',11942,11963).
  487predicate(nb_current,2,'Enumerate non-backtrackable global variables',11965,11970).
  488predicate(nb_delete,1,'Delete a non-backtrackable global variable',11972,11975).
  489predicate(tty_get_capability,3,'Get terminal parameter',12000,12008).
  490predicate(tty_goto,2,'Goto position on screen',12010,12014).
  491predicate(tty_put,2,'Write control string to terminal',12016,12022).
  492predicate(tty_size,2,'Get row/column size of the terminal',12024,12040).
  493predicate(shell,1,'Execute OS command',12051,12053).
  494predicate(shell,2,'Execute OS command',12055,12084).
  495predicate(getenv,2,'Get shell environment variable',12086,12090).
  496predicate(setenv,2,'Set shell environment variable',12092,12101).
  497predicate(unsetenv,1,'Delete shell environment variable',12103,12107).
  498predicate(setlocale,3,'Set/query C-library regional information',12109,12121).
  499predicate(unix,1,'OS interaction',12123,12154).
  500predicate(win_exec,2,'Win32: spawn Windows task',12165,12172).
  501predicate(win_shell,3,'Win32: open document through Shell',12174,12183).
  502predicate(win_shell,2,'Win32: open document through Shell',12185,12187).
  503predicate(win_registry_get_value,3,'Win32: get registry value',12189,12210).
  504predicate(win_folder,2,'Win32: get special folder by CSIDL',12212,12225).
  505predicate(win_add_dll_directory,1,'Add directory to DLL search path',12227,12236).
  506predicate(win_add_dll_directory,2,'Add directory to DLL search path',12238,12261).
  507predicate(win_remove_dll_directory,1,'Remove directory from DLL search path',12263,12266).
  508predicate(get_time,1,'Get current time',12340,12343).
  509predicate(stamp_date_time,3,'Convert time-stamp to date structure',12345,12351).
  510predicate(date_time_stamp,2,'Convert date structure to time-stamp',12353,12404).
  511predicate(date_time_value,3,'Extract info from a date structure',12406,12423).
  512predicate(format_time,3,'C strftime() like date/time formatter',12425,12587).
  513predicate(format_time,4,'date/time formatter with explicit locale',12589,12598).
  514predicate(parse_time,2,'Parse text to a time-stamp',12600,12602).
  515predicate(parse_time,3,'Parse text to a time-stamp',12604,12624).
  516predicate(day_of_the_week,2,'Determine ordinal-day from date',12626,12631).
  517predicate(window_title,2,'Win32: change title of window',12642,12645).
  518predicate(win_window_pos,1,'Win32: change size and position of window',12647,12670).
  519predicate(win_has_menu,0,'Win32: true if console menu is available',12672,12674).
  520predicate(win_insert_menu,2,'swipl-win.exe: add menu',12676,12687).
  521predicate(win_insert_menu_item,4,'swipl-win.exe: add item to menu',12689,12693).
  522predicate(access_file,2,'Check access permissions of a file',12698,12718).
  523predicate(exists_file,1,'Check existence of file',12720,12724).
  524predicate(file_directory_name,2,'Get directory part of path',12726,12746).
  525predicate(file_base_name,2,'Get file part of path',12748,12753).
  526predicate(same_file,2,'Succeeds if arguments refer to same file',12755,12764).
  527predicate(exists_directory,1,'Check existence of directory',12766,12769).
  528predicate(delete_file,1,'Remove a file from the file system',12771,12773).
  529predicate(rename_file,2,'Change name of file',12775,12781).
  530predicate(size_file,2,'Get size of a file in characters',12783,12785).
  531predicate(time_file,2,'Get last modification time of file',12787,12791).
  532predicate(absolute_file_name,2,'Get absolute path name',12793,12801).
  533predicate(absolute_file_name,3,'Get absolute path name with options',12803,12864).
  534predicate(is_absolute_file_name,1,'True if arg defines an absolute path',12866,12872).
  535predicate(file_name_extension,3,'Add, remove or test file extensions',12874,12882).
  536predicate(directory_files,2,'Get entries of a directory/folder',12884,12890).
  537predicate(expand_file_name,2,'Wildcard expansion of file names',12892,12909).
  538predicate(prolog_to_os_filename,2,'Convert between Prolog and OS filenames',12911,12917).
  539predicate(read_link,3,'Read a symbolic link',12919,12925).
  540predicate(tmp_file,2,'Create a temporary filename',12927,12937).
  541predicate(tmp_file_stream,3,'Create a temporary file and open it',12939,12966).
  542predicate(make_directory,1,'Create a folder on the file system',12968,12972).
  543predicate(delete_directory,1,'Remove a folder from the file system',12974,12978).
  544predicate(working_directory,2,'Query/change CWD',12980,12986).
  545predicate(chdir,1,'Compatibility: change working directory',12988,12990).
  546predicate(break,0,'Start interactive top level',12995,13012).
  547predicate(abort,0,'Abort execution, return to top level',13014,13031).
  548predicate(halt,0,'Exit from Prolog',13033,13036).
  549predicate(halt,1,'Exit from Prolog with status',13038,13067).
  550predicate(prolog,0,'Run interactive top level',13069,13078).
  551predicate(expand_query,4,'Expanded entered query',13080,13088).
  552predicate(expand_answer,2,'Expand answer of query',13090,13095).
  553predicate(protocol,1,'Make a log of the user interaction',13104,13107).
  554predicate(protocola,1,'Append log of the user interaction to file',13109,13112).
  555predicate(noprotocol,0,'Disable logging of user interaction',13114,13117).
  556predicate(protocolling,1,'On what file is user interaction logged',13119,13122).
  557predicate(trace,0,'Start the tracer',13133,13137).
  558predicate(tracing,0,'Query status of the tracer',13139,13142).
  559predicate(notrace,0,'Stop tracing',13144,13146).
  560predicate(guitracer,0,'Install hooks for the graphical debugger',13148,13153).
  561predicate(noguitracer,0,'Disable the graphical debugger',13155,13157).
  562predicate(trace,1,'Set trace point on predicate',13159,13161).
  563predicate(trace,2,'Set/Clear trace point on ports',13163,13183).
  564predicate(notrace,1,'Do not debug argument goal',13185,13190).
  565predicate(debug,0,'Test for debugging mode',13192,13205).
  566predicate(nodebug,0,'Disable debugging',13207,13210).
  567predicate(debugging,0,'Show debugger status',13212,13215).
  568predicate(spy,1,'Force tracer on specified predicate',13217,13220).
  569predicate(nospy,1,'Remove spy point',13222,13225).
  570predicate(nospyall,0,'Remove all spy points',13227,13229).
  571predicate(leash,1,'Change ports visited by the tracer',13231,13239).
  572predicate(visible,1,'Ports that are visible in the tracer',13241,13244).
  573predicate(unknown,2,'Trap undefined predicates',13246,13251).
  574predicate(style_check,1,'Change level of warnings',13253,13335).
  575predicate(statistics,2,'Obtain collected statistics',13340,13436).
  576predicate(statistics,0,'Show execution statistics',13438,13440).
  577predicate(time,1,'Determine time needed to execute goal',13442,13450).
  578predicate(profile,1,'Obtain execution statistics',13468,13472).
  579predicate(profile,2,'Obtain execution statistics',13474,13487).
  580predicate(show_profile,1,'Show results of the profiler',13489,13501).
  581predicate(profiler,2,'Obtain/change status of the profiler',13503,13517).
  582predicate(reset_profiler,0,'Clear statistics obtained by the profiler',13519,13521).
  583predicate(noprofile,1,'Hide (meta-) predicate for the profiler',13523,13529).
  584predicate(garbage_collect,0,'Invoke the garbage collector',13632,13639).
  585predicate(garbage_collect_atoms,0,'Invoke the atom garbage collector',13641,13649).
  586predicate(trim_stacks,0,'Release unused memory resources',13651,13669).
  587predicate(set_prolog_stack,2,'Modify stack characteristics',13671,13710).
  588predicate(prolog_stack_property,2,'Query properties of the stacks',13712,13715).
  589predicate(open_dde_conversation,3,'Win32: Open DDE channel',13761,13766).
  590predicate(close_dde_conversation,1,'Win32: Close DDE channel',13768,13773).
  591predicate(dde_request,3,'Win32: Make a DDE request',13775,13779).
  592predicate(dde_execute,2,'Win32: Execute command on DDE server',13781,13785).
  593predicate(dde_poke,3,'Win32: POKE operation on DDE server',13787,13790).
  594predicate(dde_register_service,2,'Win32: Become a DDE server',13801,13838).
  595predicate(dde_unregister_service,1,'Win32: Terminate a DDE service',13840,13843).
  596predicate(dde_current_service,2,'Win32: Examine DDE services provided',13845,13847).
  597predicate(dde_current_connection,2,'Win32: Examine open DDE connections',13849,13851).
  598predicate(dwim_match,2,'Atoms match in ``Do What I Mean\'\' sense',13856,13874).
  599predicate(dwim_match,3,'Atoms match in ``Do What I Mean\'\' sense',13876,13881).
  600predicate(wildcard_match,2,'Csh(1) style wildcard match',13883,13899).
  601predicate(sleep,1,'Suspend execution for specified time',13901,13911).
  602predicate(atom_string,2,'Conversion between atom and string',14056,14060).
  603predicate(number_string,2,'Convert between number and string',14062,14080).
  604predicate(term_string,2,'Read/write a term from/to a string',14082,14087).
  605predicate(term_string,3,'Read/write a term from/to a string',14089,14098).
  606predicate(string_chars,2,'Conversion between string and list of characters',14100,14104).
  607predicate(string_codes,2,'Conversion between string and list of character codes',14106,14109).
  608predicate(text_to_string,2,'Convert arbitrary text to a string',14111,14115).
  609predicate(string_length,2,'Determine length of a string',14117,14121).
  610predicate(string_code,3,'Get or find a character code in a string',14123,14130).
  611predicate(get_string_code,3,'Get character code at index in string',14132,14137).
  612predicate(string_concat,3,'atom_concat/3 for strings',14139,14148).
  613predicate(split_string,4,'Break a string into substrings',14150,14182).
  614predicate(sub_string,5,'Take a substring from a string',14184,14201).
  615predicate(atomics_to_string,2,'Concatenate list of inputs to a string',14203,14208).
  616predicate(atomics_to_string,3,'Concatenate list of inputs to a string',14210,14219).
  617predicate(string_upper,2,'Case conversion to upper case',14221,14223).
  618predicate(read_string,3,'Read a number of characters into a string',14229,14233).
  619predicate(read_string,5,'Read string upto a delimiter',14235,14264).
  620predicate(open_string,2,'Open a string as a stream',14266,14270).
  621predicate(list_strings,0,'Help porting to version 7',14314,14346).
  622predicate(string_predicate,1,'Hook (check) Predicate contains strings',14348,14361).
  623predicate(valid_string_goal,1,'Hook (check) Goal handles strings',14363,14375).
  624predicate('.',3,'',14692,14699).
  625predicate(get,1,'Read first non-blank character',14746,14759).
  626predicate(put,1,'Write a character',14761,14764).
  627predicate(put,2,'Write a character on a stream',14766,14790).
  628predicate(is_dict,1,'Type check for a dict',14798,14800).
  629predicate(is_dict,2,'Type check for a dict in a class',14802,14804).
  630predicate(get_dict,3,'Get the value associated to a key from a dict',14806,14812).
  631predicate(get_dict,5,'Replace existing value in a dict',14814,14824).
  632predicate(dict_create,3,'Create a dict from data',14826,14832).
  633predicate(dict_pairs,3,'Convert between dict and list of pairs',14834,14837).
  634predicate(put_dict,3,'Add/replace multiple keys in a dict',14839,14855).
  635predicate(put_dict,4,'Add/replace a single key in a dict',14857,14866).
  636predicate(del_dict,4,'Delete Key-Value pair from a dict',14868,14871).
  637predicate(:<,2,'Select keys from a dict',14873,14891).
  638predicate(select_dict,3,'Select matching attributes from a dict',14893,14909).
  639predicate(>:<,2,'Partial dict unification',14911,14925).
  640predicate(b_set_dict,3,'Destructive assignment on a dict',14951,14956).
  641predicate(nb_set_dict,3,'Non-backtrackable assignment to dict',14958,14963).
  642predicate(nb_link_dict,3,'Non-backtrackable assignment to dict',14965,14972).
  643predicate(module,2,'Declare a module',15329,15342).
  644predicate(module,3,'Declare a module with language options',15344,15353).
  645predicate(use_module,1,'Import a module',15369,15413).
  646predicate(use_module,2,'Import predicates from a module',15415,15448).
  647predicate(meta_predicate,1,'Declare access to other predicates',15501,15578).
  648predicate(@,2,'Call using calling context',15622,15637).
  649predicate(module,1,'Query/set current type-in module',15655,15667).
  650predicate(reexport,1,'Load files and re-export the imported predicates',15690,15694).
  651predicate(reexport,2,'Load predicates from a file and re-export it',15696,15700).
  652predicate(import_module,2,'Query import modules',15755,15760).
  653predicate(default_module,2,'Query module inheritance',15762,15767).
  654predicate(add_import_module,3,'Add module to the auto-import list',15769,15773).
  655predicate(delete_import_module,2,'Remove module from import list',15775,15782).
  656predicate(export,1,'Export a predicate from a module',15811,15817).
  657predicate(import,1,'Import a predicate from a module',15819,15826).
  658predicate(module_transparent,1,'Indicate module based meta-predicate',15937,15941).
  659predicate(context_module,1,'Get context module of current goal',15943,15946).
  660predicate(strip_module,3,'Extract context module and term',15948,15954).
  661predicate(current_module,1,'Examine existing modules',15962,15967).
  662predicate(module_property,2,'Find properties of a module',15969,16025).
  663predicate(set_module,1,'Set properties of a module',16027,16046).
  664predicate(attvar,1,'Type test for attributed variable',16307,16311).
  665predicate(put_attr,3,'Put attribute on a variable',16313,16321).
  666predicate(get_attr,3,'Fetch named attribute from a variable',16323,16328).
  667predicate(del_attr,2,'Delete attribute from variable',16330,16336).
  668predicate(attr_unify_hook,2,'Attributed variable unification hook',16345,16365).
  669predicate(attribute_goals,3,'Project attributes to goals',16367,16401).
  670predicate(project_attributes,2,'Project constraints to query variables',16403,16412).
  671predicate(attr_portray_hook,2,'Attributed variable print hook',16414,16422).
  672predicate(copy_term,3,'Copy a term and obtain attribute-goals',16427,16442).
  673predicate(copy_term_nat,2,'Make a copy of a term without attributes',16444,16447).
  674predicate(term_attvars,2,'Find attributed variables in a term',16449,16456).
  675predicate(get_attrs,2,'Fetch all attributes of a variable',16466,16470).
  676predicate(put_attrs,2,'Set/replace all attributes on a variable',16472,16475).
  677predicate(del_attrs,1,'Delete all attributes from variable',16477,16480).
  678predicate(dif,2,'Constrain two terms to be different',16540,16556).
  679predicate(freeze,2,'Delay execution until variable is bound',16558,16565).
  680predicate(frozen,2,'Query delayed goals on var',16567,16570).
  681predicate(when,2,'Execute goal when condition becomes true',16572,16581).
  682predicate(call_residue_vars,2,'Find residual attributed variables',16583,16598).
  683predicate(chr_option,2,'Specify CHR compilation options',16790,16828).
  684predicate(chr_constraint,1,'CHR Constraint declaration',16843,16918).
  685predicate(chr_type,1,'CHR Type declaration',16920,17049).
  686predicate(chr_trace,0,'Start CHR tracer',17186,17190).
  687predicate(chr_notrace,0,'Stop CHR tracer',17192,17196).
  688predicate(chr_leash,1,'Define CHR leashed ports',17198,17205).
  689predicate(chr_show_store,1,'List suspended CHR constraints',17207,17214).
  690predicate(find_chr_constraint,1,'Returns a constraint from the store',17216,17219).
  691predicate(thread_create,2,'Create a new Prolog task',17520,17522).
  692predicate(thread_create,3,'Create a new Prolog task',17524,17629).
  693predicate(thread_self,1,'Get identifier of current thread',17631,17634).
  694predicate(thread_join,1,'Wait for Prolog task-completion',17636,17640).
  695predicate(thread_join,2,'Wait for Prolog task-completion',17642,17668).
  696predicate(thread_detach,1,'Make thread cleanup after completion',17670,17682).
  697predicate(thread_exit,1,'Terminate Prolog task with value',17684,17695).
  698predicate(thread_initialization,1,'Run action at start of thread',17697,17706).
  699predicate(thread_at_exit,1,'Register goal to be called at exit',17708,17723).
  700predicate(thread_setconcurrency,2,'Number of active threads',17725,17732).
  701predicate(is_thread,1,'Type check for an thread handle',17747,17749).
  702predicate(thread_property,2,'Examine Prolog threads',17751,17818).
  703predicate(thread_statistics,3,'Get statistics of another thread',17820,17825).
  704predicate(mutex_statistics,0,'Print statistics on mutex usage',17827,17834).
  705predicate(thread_send_message,2,'Send message to another thread',17855,17871).
  706predicate(thread_send_message,3,'Send message to another thread',17873,17900).
  707predicate(thread_get_message,1,'Wait for message',17902,17922).
  708predicate(thread_peek_message,1,'Test for message',17924,17931).
  709predicate(message_queue_create,1,'Create queue for thread communication',17933,17938).
  710predicate(message_queue_create,2,'Create queue for thread communication',17940,17956).
  711predicate(message_queue_destroy,1,'Destroy queue for thread communication',17958,17963).
  712predicate(thread_get_message,2,'Wait for message in a queue',17965,17971).
  713predicate(thread_get_message,3,'Wait for message in a queue',17973,17996).
  714predicate(thread_peek_message,2,'Test for message in a queue',17998,18003).
  715predicate(message_queue_property,2,'Query message queue properties',18005,18064).
  716predicate(thread_signal,2,'Execute goal in another thread',18079,18097).
  717predicate(thread_local,1,'Declare thread-specific clauses for a predicate',18117,18146).
  718predicate(mutex_create,1,'Create a thread-synchronisation device',18192,18196).
  719predicate(mutex_create,2,'Create a thread-synchronisation device',18198,18204).
  720predicate(mutex_destroy,1,'Destroy a mutex',18206,18212).
  721predicate(with_mutex,2,'Run goal while holding mutex',18214,18225).
  722predicate(mutex_lock,1,'Become owner of a mutex',18227,18245).
  723predicate(mutex_trylock,1,'Become owner of a mutex (non-blocking)',18247,18250).
  724predicate(mutex_unlock,1,'Release ownership of mutex',18252,18256).
  725predicate(mutex_unlock_all,0,'Release ownership of all mutexes',18258,18262).
  726predicate(mutex_property,2,'Query mutex properties',18264,18278).
  727predicate(threads,0,'List running threads',18287,18289).
  728predicate(join_threads,0,'Join all terminated threads interactively',18291,18298).
  729predicate(interactor,0,'Start new thread with console and top level',18300,18304).
  730predicate(attach_console,0,'Attach I/O console to thread',18318,18333).
  731predicate(tdebug,1,'Switch a thread into debug mode',18335,18343).
  732predicate(tdebug,0,'Switch all threads into debug mode',18345,18347).
  733predicate(tnodebug,1,'Switch off debug mode in a thread',18349,18351).
  734predicate(tnodebug,0,'Switch off debug mode in all threads',18353,18355).
  735predicate(tspy,2,'Set spy point and enable debugging in a thread',18357,18363).
  736predicate(tspy,1,'Set spy point and enable debugging in all threads',18365,18370).
  737predicate(tprofile,1,'Profile a thread for some period',18381,18385).
  738predicate(in_pce_thread,1,'Run goal in XPCE thread',18581,18588).
  739predicate(in_pce_thread_sync,1,'Run goal in XPCE thread',18590,18603).
  740predicate(pce_dispatch,1,'Run XPCE GUI in separate thread',18605,18612).
  741predicate(engine_create,3,'Create an interactor',18902,18903).
  742predicate(engine_create,4,'Create an interactor',18905,18928).
  743predicate(engine_next,2,'Ask interactor for next term',18930,18937).
  744predicate(engine_next_reified,2,'Ask interactor for next term',18939,18954).
  745predicate(engine_post,2,'Send term to an interactor',18956,18960).
  746predicate(engine_post,3,'Send term to an interactor and wait for reply',18962,18964).
  747predicate(engine_yield,1,'Make term available to caller',18966,18974).
  748predicate(engine_fetch,1,'Get term from caller',18976,18980).
  749predicate(engine_self,1,'Get handle to running interactor',18982,18985).
  750predicate(is_engine,1,'Type check for an engine handle',18987,18990).
  751predicate(current_engine,1,'Enumerate known engines',18992,18994).
  752predicate(load_foreign_library,1,'library(shlib) Load shared library (.so file)',19137,19138).
  753predicate(load_foreign_library,2,'library(shlib) Load shared library (.so file)',19140,19166).
  754predicate(use_foreign_library,1,'Load DLL/shared object (directive)',19168,19169).
  755predicate(use_foreign_library,2,'Load DLL/shared object (directive)',19171,19184).
  756predicate(unload_foreign_library,1,'library(shlib) Detach shared library (.so file)',19186,19187).
  757predicate(unload_foreign_library,2,'library(shlib) Detach shared library (.so file)',19189,19194).
  758predicate(current_foreign_library,2,'library(shlib) Examine loaded shared libraries (.so files)',19196,19198).
  759predicate(reload_foreign_libraries,0,'Reload DLLs/shared objects',19200,19203).
  760predicate(open_shared_object,2,'UNIX: Open shared library (.so file)',19215,19224).
  761predicate(open_shared_object,3,'UNIX: Open shared library (.so file)',19226,19235).
  762predicate(close_shared_object,1,'UNIX:  Close shared library (.so file)',19237,19239).
  763predicate(call_shared_object_function,2,'UNIX:  Call C-function in shared (.so) file',19241,19246).
  764predicate(prolog_debug,1,'',23211,23212).
  765predicate(prolog_nodebug,1,'',23214,23226).
  766predicate(qsave_program,2,'Create runtime application',23403,23468).
  767predicate(qsave_program,1,'Create runtime application',23470,23472).
  768predicate(autoload,0,'Autoload all predicates now',23474,23523).
  769predicate(volatile,1,'Predicates that are not saved',23525,23530).
  770predicate(resource,3,'Declare a program resource',23654,23688).
  771predicate(open_resource,3,'Open a program resource as a stream',23690,23709).
  772predicate(aggregate,3,'Aggregate bindings in Goal according to Template.',23901,23904).
  773predicate(aggregate,4,'Aggregate bindings in Goal according to Template.',23906,23909).
  774predicate(aggregate_all,3,'Aggregate bindings in Goal according to Template.',23911,23917).
  775predicate(aggregate_all,4,'Aggregate bindings in Goal according to Template.',23919,23924).
  776predicate(foreach,2,'True if conjunction of results is true.',23926,23948).
  777predicate(free_variables,4,'Find free variables in bagof/setof template.',23950,23974).
  778predicate(safe_meta,2,'',23976,23979).
  779predicate(include,3,'Filter elements for which Goal succeeds.',23994,24000).
  780predicate(exclude,3,'Filter elements for which Goal fails.',24002,24005).
  781predicate(partition,4,'Filter elements of List according to Pred.',24007,24011).
  782predicate(partition,5,'Filter List according to Pred in three sets.',24013,24018).
  783predicate(maplist,2,'True if Goal can successfully be applied on all elements of List.',24020,24024).
  784predicate(maplist,3,'As maplist/2, operating on pairs of elements from two lists.',24026,24028).
  785predicate(maplist,4,'As maplist/2, operating on triples of elements from three lists.',24030,24032).
  786predicate(maplist,5,'As maplist/2, operating on quadruples of elements from four lists.',24034,24036).
  787predicate(convlist,3,'Similar to maplist/3, but elements for which call(Goal, ElemIn, _) fails are omitted from ListOut.',24038,24050).
  788predicate(foldl,4,'Fold a list, using arguments of the list as left argument.',24052,24053).
  789predicate(foldl,5,'Fold a list, using arguments of the list as left argument.',24055,24056).
  790predicate(foldl,6,'Fold a list, using arguments of the list as left argument.',24058,24059).
  791predicate(foldl,7,'Fold a list, using arguments of the list as left argument.',24061,24071).
  792predicate(scanl,4,'Left scan of list.',24073,24074).
  793predicate(scanl,5,'Left scan of list.',24076,24077).
  794predicate(scanl,6,'Left scan of list.',24079,24080).
  795predicate(scanl,7,'Left scan of list.',24082,24093).
  796predicate(empty_assoc,1,'Create/test empty association tree',24139,24141).
  797predicate(list_to_assoc,2,'Create association tree from list',24143,24149).
  798predicate(ord_list_to_assoc,2,'Convert ordered list to assoc',24151,24157).
  799predicate(get_assoc,3,'Fetch key from association tree',24164,24169).
  800predicate(get_assoc,5,'Fetch key from association tree',24171,24173).
  801predicate(max_assoc,3,'Highest key in association tree',24175,24177).
  802predicate(min_assoc,3,'Lowest key in association tree',24179,24181).
  803predicate(gen_assoc,3,'Enumerate members of association tree',24183,24188).
  804predicate(put_assoc,4,'Add Key-Value to association tree',24195,24198).
  805predicate(del_assoc,4,'',24200,24203).
  806predicate(del_min_assoc,4,'',24205,24209).
  807predicate(del_max_assoc,4,'',24211,24215).
  808predicate(assoc_to_list,2,'Convert association tree to list',24222,24225).
  809predicate(assoc_to_keys,2,'Translate assoc into a key list',24227,24230).
  810predicate(assoc_to_values,2,'Translate assoc into a value list',24232,24236).
  811predicate(is_assoc,1,'Verify association list',24244,24249).
  812predicate(map_assoc,2,'Map association tree',24251,24253).
  813predicate(map_assoc,3,'Map association tree',24255,24258).
  814predicate(broadcast,1,'Send event notification',24282,24288).
  815predicate(broadcast_request,1,'Request all agents',24290,24304).
  816predicate(listen,2,'Listen to event notifications',24306,24318).
  817predicate(listen,3,'Listen to event notifications',24320,24355).
  818predicate(unlisten,1,'Stop listening to event notifications',24357,24359).
  819predicate(unlisten,2,'Stop listening to event notifications',24361,24364).
  820predicate(unlisten,3,'Stop listening to event notifications',24366,24369).
  821predicate(listening,3,'Who is listening to event notifications?',24371,24374).
  822predicate(format_to_chars,3,'Use format/2 to write to a list of character codes.',24389,24391).
  823predicate(format_to_chars,4,'Use format/2 to write to a difference list of character codes.',24393,24395).
  824predicate(write_to_chars,2,'Write a term to a code list.',24397,24400).
  825predicate(write_to_chars,3,'Write a term to a code list.',24402,24405).
  826predicate(atom_to_chars,2,'Convert Atom into a list of character codes.',24407,24411).
  827predicate(atom_to_chars,3,'Convert Atom into a difference list of character codes.',24413,24415).
  828predicate(number_to_chars,2,'Convert Atom into a list of character codes.',24417,24421).
  829predicate(number_to_chars,3,'Convert Number into a difference list of character codes.',24423,24425).
  830predicate(read_from_chars,2,'Read Codes into Term.',24427,24432).
  831predicate(read_term_from_chars,3,'Read Codes into Term.',24434,24438).
  832predicate(open_chars_stream,2,'Open Codes as an input stream.',24440,24444).
  833predicate(with_output_to_chars,2,'Run Goal as with once/1.',24446,24449).
  834predicate(with_output_to_chars,3,'Run Goal as with once/1.',24451,24454).
  835predicate(with_output_to_chars,4,'Same as with_output_to_chars/3 using an explicit stream.',24456,24460).
  836predicate(check,0,'Run all consistency checks defined by checker/2.',24477,24492).
  837predicate(list_undefined,0,'Report undefined predicates.',24494,24495).
  838predicate(list_undefined,1,'Report undefined predicates.',24497,24510).
  839predicate(list_autoload,0,'Report predicates that may be auto-loaded.',24512,24521).
  840predicate(list_redefined,0,'Lists predicates that are defined in the global module =user= as well as in a normal module; that is, predicates for which the local definition overrules the global default definition.',24523,24527).
  841predicate(list_void_declarations,0,'List predicates that have declared attributes, but no clauses.',24529,24531).
  842predicate(list_trivial_fails,0,'List goals that trivially fail because there is no matching clause.',24533,24534).
  843predicate(list_trivial_fails,1,'List goals that trivially fail because there is no matching clause.',24536,24544).
  844predicate(trivial_fail_goal,1,'Multifile hook that tells list_trivial_fails/0 to accept Goal as valid.',24546,24549).
  845predicate(list_strings,0,'Help porting to version 7',24551,24552).
  846predicate(list_strings,1,'List strings that appear in clauses.',24554,24565).
  847predicate(string_predicate,1,'Hook (check) Predicate contains strings',24567,24570).
  848predicate(valid_string_goal,1,'Hook (check) Goal handles strings',24572,24576).
  849predicate(checker,2,'Register code validation routines.',24578,24595).
  850predicate(sat,1,'True iff Expr is a satisfiable Boolean expression.',24900,24902).
  851predicate(taut,2,'Tautology check.',24904,24908).
  852predicate(labeling,1,'Enumerate concrete solutions.',24910,24913).
  853predicate(sat_count,2,'Count the number of admissible assignments.',24915,24941).
  854predicate(weighted_maximum,3,'Enumerate weighted optima over admissible assignments.',24943,24961).
  855predicate(random_labeling,2,'Select a single random solution.',24963,24968).
  856predicate(#=,2,'The arithmetic expression X equals Y.',25779,25784).
  857predicate(#\=,2,'The arithmetic expressions X and Y evaluate to distinct integers.',25786,25791).
  858predicate(#>=,2,'Same as Y Scle{} X.',25793,25797).
  859predicate(#=<,2,'The arithmetic expression X is less than or equal to Y.',25799,25804).
  860predicate(#>,2,'Same as Y Sclt{} X.',25806,25810).
  861predicate(#<,2,'The arithmetic expression X is less than Y.',25812,25831).
  862predicate(in,2,'Var is an element of Domain.',25840,25854).
  863predicate(ins,2,'The variables in the list Vars are elements of Domain.',25856,25859).
  864predicate(indomain,1,'Bind Var to all feasible values of its domain on backtracking.',25868,25871).
  865predicate(label,1,'Equivalent to labeling([], Vars).',25873,25875).
  866predicate(labeling,2,'Assign a value to each variable in Vars.',25877,25963).
  867predicate(all_distinct,1,'True iff Vars are pairwise distinct.',25973,25984).
  868predicate(all_different,1,'Like all_distinct/1, but with weaker propagation.',25986,25990).
  869predicate(sum,3,'The sum of elements of the list Vars is in relation Rel to Expr.',25992,26003).
  870predicate(scalar_product,4,'True iff the scalar product of Cs and Vs is in relation Rel to Expr.',26005,26009).
  871predicate(lex_chain,1,'Lists are lexicographically non-decreasing.',26011,26013).
  872predicate(tuples_in,2,'True iff all Tuples are elements of Relation.',26015,26058).
  873predicate(serialized,2,'Describes a set of non-overlapping tasks.',26060,26079).
  874predicate(element,3,'The N-th element of the list of finite domain variables Vs is V.',26081,26084).
  875predicate(global_cardinality,2,'Global Cardinality constraint.',26086,26098).
  876predicate(global_cardinality,3,'Global Cardinality constraint.',26100,26117).
  877predicate(circuit,1,'True iff the list Vs of finite domain variables induces a Hamiltonian circuit.',26119,26133).
  878predicate(cumulative,1,'Equivalent to cumulative(Tasks, [limit(1)]).',26135,26137).
  879predicate(cumulative,2,'Schedule with a limited resource.',26139,26172).
  880predicate(disjoint2,1,'True iff Rectangles are not overlapping.',26174,26180).
  881predicate(automaton,3,'Describes a list of finite domain variables with a finite automaton.',26182,26204).
  882predicate(automaton,8,'Describes a list of finite domain variables with a finite automaton.',26206,26272).
  883predicate(chain,2,'Zs form a chain with respect to Relation.',26274,26285).
  884predicate(#\,1,'Q does _not_ hold.',26295,26304).
  885predicate(#<==>,2,'P and Q are equivalent.',26306,26345).
  886predicate(#==>,2,'P implies Q.',26347,26349).
  887predicate(#<==,2,'Q implies P.',26351,26353).
  888predicate(#/\,2,'P and Q hold.',26355,26357).
  889predicate(#\/,2,'P or Q holds.',26359,26373).
  890predicate(#\,2,'Either P holds or Q holds, but not both.',26375,26378).
  891predicate(zcompare,3,'Analogous to compare/3, with finite domain variables A and B.',26380,26434).
  892predicate(fd_var,1,'True iff Var is a CLP(FD) variable.',26445,26447).
  893predicate(fd_inf,2,'Inf is the infimum of the current domain of Var.',26449,26451).
  894predicate(fd_sup,2,'Sup is the supremum of the current domain of Var.',26453,26455).
  895predicate(fd_size,2,'Reflect the current size of a domain.',26457,26461).
  896predicate(fd_dom,2,'Dom is the current domain (see in/2) of Var.',26463,26491).
  897predicate({},1,'DCG escape; constraints',26553,26555).
  898predicate(entailed,1,'Check if constraint is entailed',26557,26561).
  899predicate(inf,2,'Find the infimum of an expression',26563,26567).
  900predicate(sup,2,'Find the supremum of an expression',26569,26573).
  901predicate(minimize,1,'Minimizes an expression',26575,26579).
  902predicate(maximize,1,'Maximizes an expression',26581,26585).
  903predicate(bb_inf,5,'Infimum of expression for mixed-integer problems',26587,26596).
  904predicate(bb_inf,4,'Infimum of expression for mixed-integer problems',26598,26601).
  905predicate(bb_inf,3,'Infimum of expression for mixed-integer problems',26603,26606).
  906predicate(dump,3,'Dump constraints on variables',26608,26618).
  907predicate(csv_read_file,2,'Read a CSV file into a list of rows.',26753,26754).
  908predicate(csv_read_file,3,'Read a CSV file into a list of rows.',26756,26772).
  909predicate(csv,3,'Prolog DCG to `read/write\' CSV data.',26774,26775).
  910predicate(csv,4,'Prolog DCG to `read/write\' CSV data.',26777,26814).
  911predicate(csv_read_file_row,3,'True when Row is a row in File.',26816,26836).
  912predicate(csv_read_row,3,'Read the next CSV record from Stream and unify the result with Row.',26838,26843).
  913predicate(csv_options,2,'Compiled is the compiled representation of the CSV processing options as they may be passed into csvSidiv{}2, etc.',26845,26850).
  914predicate(csv_write_file,2,'Write a list of Prolog terms to a CSV file.',26852,26853).
  915predicate(csv_write_file,3,'Write a list of Prolog terms to a CSV file.',26855,26860).
  916predicate(csv_write_stream,3,'Write the rows in Data to Stream.',26862,26876).
  917predicate(debugging,1,'Test where we are debugging topic',26898,26899).
  918predicate(debugging,1,'Test where we are debugging topic',26901,26902).
  919predicate(debugging,2,'Examine debug topics.',26904,26918).
  920predicate(debug,1,'Select topic for debugging',26920,26921).
  921predicate(nodebug,1,'Disable debug-topic',26923,26932).
  922predicate(list_debug_topics,0,'List registered topics for debugging',26934,26936).
  923predicate(debug_message_context,1,'Specify additional context for debug messages.',26938,26944).
  924predicate(debug,3,'Print debugging message on topic',26946,26959).
  925predicate(debug_print_hook,3,'Hook called by debug/3.',26961,26967).
  926predicate(assertion,1,'Make assertions about your program',26969,26982).
  927predicate(assertion_failed,2,'This hook is called if the Goal of assertion/1 fails.',26984,26990).
  928predicate(type_error,2,'Tell the user that Term is not of the expected Type.',27011,27026).
  929predicate(domain_error,2,'The argument is of the proper type, but has a value that is outside the supported values.',27028,27032).
  930predicate(existence_error,2,'Term is of the correct type and correct domain, but there is no existing (external) resource that is represented by it.',27034,27037).
  931predicate(permission_error,3,'It is not allowed to perform Action on the object Term that is of the given Type.',27039,27042).
  932predicate(instantiation_error,1,'An argument is under-instantiated.',27044,27055).
  933predicate(uninstantiation_error,1,'An argument is over-instantiated.',27057,27063).
  934predicate(representation_error,1,'A representation error indicates a limitation of the implementation.',27065,27071).
  935predicate(syntax_error,1,'A text has invalid syntax.',27073,27081).
  936predicate(resource_error,1,'A goal cannot be completed due to lack of resources.',27083,27085).
  937predicate(must_be,2,'True if Term satisfies the type constraints for Type.',27087,27126).
  938predicate(is_of_type,2,'True if Term satisfies Type.',27128,27130).
  939predicate(has_type,2,'True if Term satisfies Type.',27132,27134).
  940predicate(current_type,3,'True when Type is a currently defined type and Var satisfies Type of the body term Body succeeds.',27136,27139).
  941predicate(gensym,2,'Generate unique atoms from a base',27154,27159).
  942predicate(reset_gensym,1,'Reset a gensym key',27161,27165).
  943predicate(reset_gensym,0,'Reset all gensym keys',27167,27172).
  944predicate(open_any,5,'',27202,27249).
  945predicate(close_any,1,'',27251,27255).
  946predicate(open_hook,6,'',27257,27267).
  947predicate(member,2,'True if Elem is a member of List.',27287,27297).
  948predicate(append,3,'List1AndList2 is the concatenation of List1 and List2.',27299,27301).
  949predicate(append,2,'Concatenate a list of lists.',27303,27309).
  950predicate(prefix,2,'True iff Part is a leading substring of Whole.',27311,27314).
  951predicate(select,3,'Is true when List1, with Elem removed, results in List2.',27316,27318).
  952predicate(selectchk,3,'Semi-deterministic removal of first element in List that unifies with Elem.',27320,27323).
  953predicate(select,4,'Select from two lists at the same positon.',27325,27341).
  954predicate(selectchk,4,'Semi-deterministic version of select/4.',27343,27345).
  955predicate(nextto,3,'True if Y directly follows X in List.',27347,27349).
  956predicate(delete,3,'Delete matching elements from a list.',27351,27363).
  957predicate(nth0,3,'True when Elem is the Index\'th element of List.',27365,27373).
  958predicate(nth1,3,'Is true when Elem is the Index\'th element of List.',27375,27380).
  959predicate(nth0,4,'Select/insert element at index.',27382,27399).
  960predicate(nth1,4,'As nth0/4, but counting starts at 1.',27401,27403).
  961predicate(last,2,'Last element of a list',27405,27413).
  962predicate(proper_length,2,'True when Length is the number of elements in the proper list List.',27415,27424).
  963predicate(same_length,2,'Is true when List1 and List2 are lists with the same number of elements.',27426,27433).
  964predicate(reverse,2,'Is true when the elements of List2 are in reverse order compared to List1.',27435,27438).
  965predicate(permutation,2,'True when Xs is a permutation of Ys.',27440,27471).
  966predicate(flatten,2,'Is true if FlatList is a non-nested version of NestedList.',27473,27485).
  967predicate(max_member,2,'True when Max is the largest member in the standard order of terms.',27487,27494).
  968predicate(min_member,2,'True when Min is the smallest member in the standard order of terms.',27496,27503).
  969predicate(sum_list,2,'Sum is the result of adding all numbers in List.',27505,27507).
  970predicate(max_list,2,'True if Max is the largest number in List.',27509,27513).
  971predicate(min_list,2,'True if Min is the smallest number in List.',27515,27520).
  972predicate(numlist,3,'List is a list [Low, Low+1, ... High].',27522,27528).
  973predicate(is_set,1,'True if Set is a proper list without duplicates.',27530,27535).
  974predicate(list_to_set,2,'Remove duplicates from a list',27537,27553).
  975predicate(intersection,3,'True if Set3 unifies with the intersection of Set1 and Set2.',27555,27560).
  976predicate(union,3,'True if Set3 unifies with the union of Set1 and Set2.',27562,27567).
  977predicate(subset,2,'True if all elements of SubSet belong to Set as well.',27569,27574).
  978predicate(subtract,3,'Delete all elements in Delete from Set.',27576,27581).
  979predicate(main,0,'Call main/1 using the passed command-line arguments.',27613,27617).
  980predicate(argv_options,3,'Generic transformation of long commandline arguments to options.',27619,27630).
  981predicate(empty_nb_set,1,'Test/create an empty non-backtrackable set',27659,27661).
  982predicate(add_nb_set,2,'Add term to a non-backtrackable set',27663,27666).
  983predicate(add_nb_set,3,'Add term to a non-backtrackable set',27668,27676).
  984predicate(gen_nb_set,2,'Generate members of non-backtrackable set',27678,27681).
  985predicate(size_nb_set,2,'Determine size of non-backtrackable set',27683,27685).
  986predicate(nb_set_to_list,2,'Convert non-backtrackable set to list',27687,27690).
  987predicate(www_open_url,1,'Open a web-page in a browser',27698,27718).
  988predicate(option,3,'Get an Option from OptionList.',27773,27779).
  989predicate(option,2,'Get an Option from OptionList.',27781,27788).
  990predicate(select_option,3,'Get and remove Option from an option list.',27790,27794).
  991predicate(select_option,4,'Get and remove Option with default value.',27796,27800).
  992predicate(merge_options,3,'Merge two option lists.',27802,27809).
  993predicate(meta_options,3,'Perform meta-expansion on options that are module-sensitive.',27811,27828).
  994predicate(dict_options,2,'Convert between an option list and a dictionary.',27830,27850).
  995predicate(opt_arguments,3,'Extract commandline options according to a specification.',28157,28173).
  996predicate(opt_parse,4,'Equivalent to opt_parse(OptsSpec, ApplArgs, Opts, PositionalArgs, Snil{}).',28175,28177).
  997predicate(opt_parse,5,'Parse the arguments Args (as list of atoms) according to OptsSpec.',28179,28214).
  998predicate(opt_help,2,'True when Help is a help string synthesized from OptsSpec.',28216,28218).
  999predicate(parse_type,3,'Hook to parse option text Codes to an object of type Type.',28220,28222).
 1000predicate(is_ordset,1,'True if Term is an ordered set.',28253,28258).
 1001predicate(ord_empty,1,'True when List is the empty ordered set.',28260,28263).
 1002predicate(ord_seteq,2,'True if Set1 and Set2 have the same elements.',28265,28270).
 1003predicate(list_to_ord_set,2,'Transform a list into an ordered set.',28272,28275).
 1004predicate(ord_intersect,2,'True if both ordered sets have a non-empty intersection.',28277,28279).
 1005predicate(ord_disjoint,2,'True if Set1 and Set2 have no common elements.',28281,28284).
 1006predicate(ord_intersect,3,'Intersection holds the common elements of Set1 and Set2.',28286,28290).
 1007predicate(ord_intersection,2,'Intersection of a powerset.',28292,28297).
 1008predicate(ord_intersection,3,'Intersection holds the common elements of Set1 and Set2.',28299,28302).
 1009predicate(ord_intersection,4,'Intersection and difference between two ordered sets.',28304,28310).
 1010predicate(ord_add_element,3,'Insert an element into the set.',28312,28315).
 1011predicate(ord_del_element,3,'Delete an element from an ordered set.',28317,28320).
 1012predicate(ord_selectchk,3,'Selectchk/3, specialised for ordered sets.',28322,28332).
 1013predicate(ord_memberchk,2,'True if Element is a member of OrdSet, compared using ==.',28334,28345).
 1014predicate(ord_subset,2,'Is true if all elements of Sub are in Super.',28347,28349).
 1015predicate(ord_subtract,3,'Diff is the set holding all elements of InOSet that are not in NotInOSet.',28351,28354).
 1016predicate(ord_union,2,'True if Union is the union of all elements in the superset SetOfSets.',28356,28363).
 1017predicate(ord_union,3,'Union is the union of Set1 and Set2.',28365,28367).
 1018predicate(ord_union,4,'True iff ord_union(Set1, Set2, Union) and ord_subtract(Set2, Set1, New).',28369,28372).
 1019predicate(ord_symdiff,3,'Is true when Difference is the symmetric difference of Set1 and Set2.',28374,28392).
 1020predicate(pairs_keys_values,3,'True if Keys holds the keys of Pairs and Values the values.',28409,28417).
 1021predicate(pairs_values,2,'Remove the keys from a list of Key-Value pairs.',28419,28422).
 1022predicate(pairs_keys,2,'Remove the values from a list of Key-Value pairs.',28424,28427).
 1023predicate(group_pairs_by_key,2,'Group values with equivalent (==/2) consecutive keys.',28429,28457).
 1024predicate(transpose_pairs,2,'Swap Key-Value to Value-Key.',28459,28462).
 1025predicate(map_list_to_pairs,3,'Create a Key-Value list by mapping each element of List.',28464,28471).
 1026predicate(persistent,1,'Declare dynamic database terms.',28541,28559).
 1027predicate(current_persistent_predicate,1,'True if PI is a predicate that provides access to the persistent database DB.',28561,28564).
 1028predicate(db_attach,2,'Use File as persistent database for the calling module.',28566,28578).
 1029predicate(db_attached,1,'True if the context module attached to the persistent database File.',28580,28583).
 1030predicate(db_detach,0,'Detach persistency from the calling module and delete all persistent clauses from the Prolog database.',28585,28590).
 1031predicate(db_sync,1,'Synchronise database with the associated file.',28592,28625).
 1032predicate(db_sync_all,1,'Sync all registered databases.',28627,28629).
 1033predicate(phrase_from_file,2,'Process the content of File using the DCG rule Grammar.',28660,28692).
 1034predicate(phrase_from_file,3,'As phrase_from_file/2, providing additional Options.',28694,28697).
 1035predicate(phrase_from_stream,2,'Run Grammer against the character codes on Stream.',28699,28702).
 1036predicate(syntax_error,3,'Throw the syntax error Error at the current location of the input.',28704,28710).
 1037predicate(lazy_list_location,3,'Determine current (error) location in a lazy list.',28712,28727).
 1038predicate(lazy_list_character_count,3,'True when CharCount is the current character count in the Lazy list.',28729,28740).
 1039predicate(stream_to_lazy_list,2,'Create a lazy list representing the character codes in Stream.',28742,28753).
 1040predicate(predicate_options,3,'Declare that the predicate PI processes options on Arg.',28895,28929).
 1041predicate(assert_predicate_options,4,'As predicate_options(:PI, +Arg, +Options).',28931,28939).
 1042predicate(current_predicate_option,3,'True when Arg of PI processes Option.',28941,28952).
 1043predicate(check_predicate_option,3,'Verify predicate options at runtime.',28954,28969).
 1044predicate(current_option_arg,2,'True when Arg of PI processes predicate options.',28971,28974).
 1045predicate(current_predicate_options,3,'True when Options is the current active option declaration for PI on Arg.',28976,28984).
 1046predicate(check_predicate_options,0,'Analyse loaded program for erroneous options.',28986,29002).
 1047predicate(derive_predicate_options,0,'Derive new predicate option declarations.',29004,29013).
 1048predicate(retractall_predicate_options,0,'Remove all dynamically (derived) predicate options.',29015,29017).
 1049predicate(derived_predicate_options,3,'Derive option arguments using static analysis.',29019,29022).
 1050predicate(derived_predicate_options,1,'Derive predicate option declarations for a module.',29024,29027).
 1051predicate(pack_list_installed,0,'List currently installed packages.',29047,29053).
 1052predicate(pack_info,1,'Print more detailed information about Pack.',29055,29057).
 1053predicate(pack_search,1,'Query package server and installed packages and display results.',29059,29060).
 1054predicate(pack_list,1,'Query package server and installed packages and display results.',29062,29094).
 1055predicate(pack_install,1,'Install a package.',29096,29114).
 1056predicate(pack_install,2,'Install package Name.',29116,29147).
 1057predicate(pack_url_file,2,'True if File is a unique id for the referenced pack and version.',29149,29153).
 1058predicate(pack_rebuild,1,'Rebuilt possible foreign components of Pack.',29155,29157).
 1059predicate(pack_rebuild,0,'Rebuild foreign components of all packages.',29159,29161).
 1060predicate(environment,2,'Hook to define the environment for building packs.',29163,29179).
 1061predicate(pack_upgrade,1,'Try to upgrade the package Pack.',29181,29186).
 1062predicate(pack_remove,1,'Remove the indicated package.',29188,29190).
 1063predicate(pack_property,2,'True when Property is a property of Pack.',29192,29217).
 1064predicate(xref_source,1,'Cross-reference analysis of source',29252,29257).
 1065predicate(xref_current_source,1,'Examine cross-referenced sources',29259,29261).
 1066predicate(xref_clean,1,'Remove analysis of source',29263,29265).
 1067predicate(xref_defined,3,'Examine defined predicates',29267,29278).
 1068predicate(xref_called,3,'Examine called predicates',29280,29282).
 1069predicate(xref_exported,2,'Examine exported predicates',29284,29286).
 1070predicate(xref_module,2,'Module defined by source',29288,29290).
 1071predicate(xref_built_in,1,'Examine defined built-ins',29292,29297).
 1072predicate(called_by,2,'Hook (prolog) Extend cross-referencer',29305,29318).
 1073predicate(with_quasi_quotation_input,3,'Parse quasi quotation from stream',29400,29420).
 1074predicate(phrase_from_quasi_quotation,2,'Parse quasi quotation with DCG',29422,29428).
 1075predicate(quasi_quotation_syntax,1,'Declare quasi quotation syntax',29430,29433).
 1076predicate(quasi_quotation_syntax_error,1,'Raise syntax error',29435,29440).
 1077predicate(random,1,'Binds R to a new random float in the _open_ interval (0.0,1.0).',29454,29462).
 1078predicate(random_between,3,'Binds R to a random integer in [L,U] (i.e., including both L and U).',29464,29467).
 1079predicate(random,3,'Generate a random integer or float in a range.',29469,29470).
 1080predicate(random,3,'Generate a random integer or float in a range.',29472,29481).
 1081predicate(setrand,1,'Query/set the state of the random generator.',29483,29484).
 1082predicate(getrand,1,'Query/set the state of the random generator.',29486,29505).
 1083predicate(maybe,0,'Succeed/fail with equal probability (variant of maybe/1).',29507,29509).
 1084predicate(maybe,1,'Succeed with probability P, fail with probability 1-P.',29511,29513).
 1085predicate(maybe,2,'Succeed with probability K/N (variant of maybe/1).',29515,29517).
 1086predicate(random_perm2,4,'Does X=A,Y=B or X=B,Y=A with equal probability.',29519,29521).
 1087predicate(random_member,2,'X is a random member of List.',29523,29528).
 1088predicate(random_select,3,'Randomly select or insert an element.',29530,29531).
 1089predicate(random_select,3,'Randomly select or insert an element.',29533,29538).
 1090predicate(randset,3,'S is a sorted list of K unique random integers in the range 1..N.',29540,29555).
 1091predicate(randseq,3,'S is a list of K unique random integers in the range 1..N.',29557,29568).
 1092predicate(random_permutation,2,'Permutation is a random permutation of List.',29570,29571).
 1093predicate(random_permutation,2,'Permutation is a random permutation of List.',29573,29579).
 1094predicate(read_line_to_codes,2,'Read line from a stream',29592,29600).
 1095predicate(read_line_to_codes,3,'Read line from a stream',29602,29623).
 1096predicate(read_stream_to_codes,2,'Read contents of stream',29625,29627).
 1097predicate(read_stream_to_codes,3,'Read contents of stream',29629,29631).
 1098predicate(read_file_to_codes,3,'Read contents of file',29633,29639).
 1099predicate(read_file_to_terms,3,'Read contents of file to Prolog terms',29641,29647).
 1100predicate(record,1,'Define named fields in a term',29741,29746).
 1101predicate(registry_get_key,2,'Get principal value of key',29765,29768).
 1102predicate(registry_get_key,3,'Get associated value of key',29770,29772).
 1103predicate(registry_set_key,2,'Set principal value of key',29774,29777).
 1104predicate(registry_set_key,3,'Set associated value of key',29779,29782).
 1105predicate(registry_delete_key,1,'Remove a key',29784,29786).
 1106predicate(shell_register_file_type,4,'Register a file-type',29788,29794).
 1107predicate(shell_register_dde,6,'Register DDE action',29796,29803).
 1108predicate(shell_register_prolog,1,'Register Prolog',29805,29824).
 1109predicate(gen_state,1,'Create empty linear program',29872,29875).
 1110predicate(constraint,3,'Add linear constraint to state',29877,29887).
 1111predicate(maximize,3,'Maximize objective function in to linear constraints',29889,29895).
 1112predicate(minimize,3,'Minimize objective function in to linear constraints',29897,29899).
 1113predicate(variable_value,3,'Fetch value of variable in solved state',29901,29904).
 1114predicate(objective,2,'Fetch value of objective function',29906,29915).
 1115predicate(constraint,4,'Add named linear constraint to state',29924,29927).
 1116predicate(shadow_price,3,'Fetch shadow price in solved state',29929,29933).
 1117predicate(constraint_add,4,'Extend a named constraint',29935,29943).
 1118predicate(transportation,4,'Solve transportation problem',29951,29960).
 1119predicate(assignment,2,'Solve assignment problem',29962,29968).
 1120predicate(distinct,1,'True if Goal is true and no previous solution of Goal bound Witness to the same value.',30170,30171).
 1121predicate(distinct,2,'True if Goal is true and no previous solution of Goal bound Witness to the same value.',30173,30189).
 1122predicate(reduced,1,'Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.',30191,30192).
 1123predicate(reduced,3,'Similar to distinct/1, but does not guarantee unique results in return for using a limited amount of memory.',30194,30206).
 1124predicate(limit,2,'Limit the number of solutions.',30208,30212).
 1125predicate(offset,2,'Ignore the first Count solutions.',30214,30218).
 1126predicate(group_by,4,'Group bindings of Template that have the same value for By.',30233,30239).
 1127predicate(table,1,'Declare predicate to be tabled',30515,30533).
 1128predicate(abolish_all_tables,0,'Abolish computed tables',30535,30542).
 1129predicate(abolish_table_subgoals,1,'Abolish tables for a goal',30544,30546).
 1130predicate(thread_pool_create,3,'Create a pool of threads.',30640,30657).
 1131predicate(thread_pool_destroy,1,'Destroy the thread pool named Name.',30659,30663).
 1132predicate(current_thread_pool,1,'True if Name refers to a defined thread pool.',30665,30667).
 1133predicate(thread_pool_property,2,'True if Property is a property of thread pool Name.',30669,30690).
 1134predicate(thread_create_in_pool,4,'Create a thread in Pool.',30692,30706).
 1135predicate(create_pool,1,'Hook to create a thread pool lazily.',30708,30722).
 1136predicate(vertices_edges_to_ugraph,3,'Create unweighted graph',30753,30771).
 1137predicate(vertices,2,'Find vertices in graph',30773,30779).
 1138predicate(edges,2,'Find edges in graph',30781,30788).
 1139predicate(add_vertices,3,'Add vertices to graph',30790,30798).
 1140predicate(del_vertices,3,'Delete vertices from graph',30800,30812).
 1141predicate(add_edges,3,'Add edges to graph',30814,30826).
 1142predicate(del_edges,3,'Delete edges from graph',30828,30838).
 1143predicate(transpose_ugraph,2,'Invert the direction of all edges',30840,30851).
 1144predicate(neighbours,3,'Find neighbors of vertice',30853,30862).
 1145predicate(neighbors,3,'Find neighbors of vertice',30864,30866).
 1146predicate(complement,2,'Inverse presense of edges',30868,30878).
 1147predicate(compose,3,'',30880,30888).
 1148predicate(ugraph_union,3,'Union of two graphs',30890,30897).
 1149predicate(top_sort,2,'Sort graph topologically',30899,30909).
 1150predicate(top_sort,3,'Sort graph topologically',30911,30914).
 1151predicate(transitive_closure,2,'Create transitive closure of graph',30916,30924).
 1152predicate(reachable,3,'Find all reachable vertices',30926,30934).
 1153predicate(global_url,3,'Translate a possibly relative URL into an absolute one.',30957,30961).
 1154predicate(is_absolute_url,1,'True if URL is an absolute URL.',30963,30966).
 1155predicate(http_location,2,'Construct or analyze an HTTP location.',30968,30979).
 1156predicate(parse_url,2,'Construct or analyse a URL.',30981,31038).
 1157predicate(parse_url,3,'Similar to parse_url/2 for relative URLs.',31040,31043).
 1158predicate(www_form_encode,2,'En/decode to/from application/x-www-form-encoded.',31045,31046).
 1159predicate(www_form_encode,2,'En/decode to/from application/x-www-form-encoded.',31048,31059).
 1160predicate(set_url_encoding,2,'Query and set the encoding for URLs.',31061,31068).
 1161predicate(url_iri,2,'Convert between a URL, encoding in US-ASCII and an IRI.',31070,31071).
 1162predicate(url_iri,2,'Convert between a URL, encoding in US-ASCII and an IRI.',31073,31077).
 1163predicate(parse_url_search,2,'Construct or analyze an HTTP search specification.',31079,31083).
 1164predicate(file_name_to_url,2,'Translate between a filename and a file:Sidiv{} URL.',31085,31086).
 1165predicate(file_name_to_url,2,'Translate between a filename and a file:Sidiv{} URL.',31088,31093).
 1166predicate(numbervars,1,'Number variables in Term using $VAR(N).',31119,31124).
 1167predicate(varnumbers,2,'Inverse of numbervars/1.',31126,31128).
 1168predicate(varnumbers,3,'Inverse of numbervars/3.',31130,31141).
 1169predicate(max_var_number,3,'True when Max is the max of Start and the highest numbered $VAR(N) term.',31143,31150).
 1170predicate(varnumbers_names,3,'If Term is a term with numbered and named variables using the reserved term \'$VAR\'(X), Copy is a copy of Term where each \'$VAR\'(X) is consistently replaced by a fresh variable and Bindings is a list `X = Var`, relating the `X` terms with the variable it is mapped to.',31152,31161).
 1171predicate(>>,2,'Calls a copy of Lambda.',31236,31237).
 1172predicate(>>,3,'Calls a copy of Lambda.',31239,31240).
 1173predicate(>>,4,'Calls a copy of Lambda.',31242,31243).
 1174predicate(>>,5,'Calls a copy of Lambda.',31245,31246).
 1175predicate(>>,6,'Calls a copy of Lambda.',31248,31249).
 1176predicate(>>,7,'Calls a copy of Lambda.',31251,31252).
 1177predicate(>>,8,'Calls a copy of Lambda.',31254,31255).
 1178predicate(>>,9,'Calls a copy of Lambda.',31257,31274).
 1179predicate(/,2,'Shorthand for `Free/[]Srshift{}Lambda`.',31276,31277).
 1180predicate(/,3,'Shorthand for `Free/[]Srshift{}Lambda`.',31279,31280).
 1181predicate(/,4,'Shorthand for `Free/[]Srshift{}Lambda`.',31282,31283).
 1182predicate(/,5,'Shorthand for `Free/[]Srshift{}Lambda`.',31285,31286).
 1183predicate(/,6,'Shorthand for `Free/[]Srshift{}Lambda`.',31288,31289).
 1184predicate(/,7,'Shorthand for `Free/[]Srshift{}Lambda`.',31291,31292).
 1185predicate(/,8,'Shorthand for `Free/[]Srshift{}Lambda`.',31294,31295).
 1186predicate(/,9,'Shorthand for `Free/[]Srshift{}Lambda`.',31297,31320).
 1187predicate(is_lambda,1,'True if Term is a valid Lambda expression.',31322,31324).
 1188predicate(lambda_calls,2,'Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.',31326,31327).
 1189predicate(lambda_calls,3,'Goal is the goal called if call/N is applied to LambdaExpression, where ExtraArgs are the additional arguments to call/N.',31329,31334).
 1190predicate(prolog_current_frame,1,'Reference to goal\'s environment stack',31349,31355).
 1191predicate(prolog_current_choice,1,'Reference to most recent choice point',31357,31361).
 1192predicate(prolog_frame_attribute,3,'Obtain information on a goal environment',31363,31446).
 1193predicate(prolog_choice_attribute,3,'Examine the choice point stack',31448,31470).
 1194predicate(deterministic,1,'Test deterministicy of current clause',31472,31479).
 1195predicate(prolog_cut_to,1,'Realise global cuts',31484,31497).
 1196predicate(prolog_trace_interception,4,'library(user) Intercept the Prolog tracer',31502,31615).
 1197predicate(prolog_skip_frame,1,'Perform `skip\' on a frame',31617,31624).
 1198predicate(prolog_skip_level,2,'Indicate deepest recursion to trace',31626,31633).
 1199predicate(break_hook,6,'Hook (prolog) Debugger hook',31645,31722).
 1200predicate(prolog_exception_hook,4,'Rewrite exceptions',31732,31776).
 1201predicate(exception,3,'Hook (user) Handle runtime exceptions',31791,31817).
 1202predicate(prolog_list_goal,1,'Hook (user) Intercept tracer \'L\' command',31829,31835).
 1203predicate(debug_control_hook,1,'Hook (prolog) Extend spy/1, etc.',31837,31863).
 1204predicate(help_hook,1,'Hook (prolog) User-hook in the help-system',31865,31880).
 1205predicate(prolog_load_file,2,'Hook (user) Program load_files/2',31889,31900).
 1206predicate(comment_hook,3,'Hook (prolog) handle comments in sources',31902,31921).
 1207predicate(expects_dialect,1,'For which Prolog dialect is this code written?',31964,31990).
 1208predicate(exists_source,1,'Check existence of a Prolog source',31992,31996).
 1209predicate(source_exports,2,'Check whether source exports a predicate',31998,32001).
 1210predicate(license,0,'Evaluate licenses of loaded modules',32549,32556).
 1211predicate(license,2,'Define license for named module',32558,32576).
 1212predicate(license,1,'Define license for current file',32578,32581).
 1213predicate(known_licenses,0,'Print known licenses',32588,32592).
 1214
 1215
 1216% Predicate section/4
 1217
 1218section([1],'INTRODUCTION',50,333).
 1219section([1,1],'Positioning SWI-Prolog',61,104).
 1220section([1,2],'Status and releases',106,132).
 1221section([1,3],'Should I be using SWI-Prolog?',134,216).
 1222section([1,4],'Support the SWI-Prolog project',218,228).
 1223section([1,5],'Implementation history',230,264).
 1224section([1,6],'Acknowledgements',266,333).
 1225section([2],'OVERVIEW',335,3321).
 1226section([2,1],'Getting started quickly',338,423).
 1227section([2,1,1],'Starting SWI-Prolog',341,396).
 1228section([2,1,1,1],'Starting SWI-Prolog on Unix',344,374).
 1229section([2,1,1,2],'Starting SWI-Prolog on Windows',376,396).
 1230section([2,1,2],'Executing a query',398,423).
 1231section([2,2],'The user\'s initialisation file',425,457).
 1232section([2,3],'Initialisation files and goals',459,501).
 1233section([2,4],'Command line options',503,770).
 1234section([2,4,1],'Informational command line options',538,566).
 1235section([2,4,2],'Command line options for running Prolog',568,679).
 1236section([2,4,3],'Controlling the stack sizes',681,716).
 1237section([2,4,4],'Running goals from the command line',718,744).
 1238section([2,4,5],'Compilation options',746,754).
 1239section([2,4,6],'Maintenance options',756,770).
 1240section([2,5],'GNU Emacs Interface',772,789).
 1241section([2,6],'Online Help',791,858).
 1242section([2,7],'Command line history',860,885).
 1243section([2,8],'Reuse of top-level bindings',887,926).
 1244section([2,9],'Overview of the Debugger',928,1097).
 1245section([2,10],'Compilation',1099,1298).
 1246section([2,10,1],'During program development',1102,1129).
 1247section([2,10,2],'For running the result',1131,1298).
 1248section([2,10,2,1],'Using PrologScript',1139,1214).
 1249section([2,10,2,2],'Creating a shell script',1216,1249).
 1250section([2,10,2,3],'Creating a saved state',1251,1262).
 1251section([2,10,2,4],'Compilation using the -c command line option',1264,1298).
 1252section([2,11],'Environment Control (Prolog flags)',1300,2234).
 1253section([2,12],'An overview of hook predicates',2236,2307).
 1254section([2,13],'Automatic loading of libraries',2309,2421).
 1255section([2,14],'Packs:  community add-ons',2423,2469).
 1256section([2,15],'Garbage Collection',2471,2476).
 1257section([2,16],'The SWI-Prolog syntax',2478,2838).
 1258section([2,16,1],'ISO Syntax Support',2490,2838).
 1259section([2,16,1,1],'Processor Character Set',2495,2500).
 1260section([2,16,1,2],'Nested comments',2502,2521).
 1261section([2,16,1,3],'Character Escape Syntax',2523,2638).
 1262section([2,16,1,4],'Syntax for non-decimal numbers',2640,2648).
 1263section([2,16,1,5],'Using digit groups in large integers',2650,2673).
 1264section([2,16,1,6],'NaN and Infinity floats and their syntax',2675,2709).
 1265section([2,16,1,7],'Force only underscore to introduce a variable',2711,2728).
 1266section([2,16,1,8],'Unicode Prolog source',2730,2775).
 1267section([2,16,1,9],'Singleton variable checking',2777,2838).
 1268section([2,17],'Rational trees (cyclic terms)',2840,2870).
 1269section([2,18],'Just-in-time clause indexing',2872,2960).
 1270section([2,18,1],'Future directions',2934,2945).
 1271section([2,18,2],'Indexing and portability',2947,2960).
 1272section([2,19],'Wide character support',2962,3084).
 1273section([2,19,1],'Wide character encodings on streams',2989,3084).
 1274section([2,19,1,1],'BOM: Byte Order Mark',3060,3084).
 1275section([2,20],'System limits',3086,3232).
 1276section([2,20,1],'Limits on memory areas',3089,3176).
 1277section([2,20,1,1],'The heap',3170,3176).
 1278section([2,20,2],'Other Limits',3178,3223).
 1279section([2,20,3],'Reserved Names',3225,3232).
 1280section([2,21],'SWI-Prolog and 64-bit machines',3234,3321).
 1281section([2,21,1],'Supported platforms',3241,3246).
 1282section([2,21,2],'Comparing 32- and 64-bits Prolog',3248,3280).
 1283section([2,21,3],'Choosing between 32- and 64-bit Prolog',3282,3321).
 1284section([3],'INITIALISING AND MANAGING A PROLOG PROJECT',3323,4097).
 1285section([3,1],'The project source files',3338,3504).
 1286section([3,1,1],'File Names and Locations',3348,3427).
 1287section([3,1,1,1],'File Name Extensions',3351,3372).
 1288section([3,1,1,2],'Project Directories',3374,3393).
 1289section([3,1,1,3],'Sub-projects using search paths',3395,3427).
 1290section([3,1,2],'Project Special Files',3429,3460).
 1291section([3,1,3],'International source files',3462,3504).
 1292section([3,2],'Using modules',3506,3549).
 1293section([3,3],'The test-edit-reload cycle',3551,3617).
 1294section([3,3,1],'Locating things to edit',3567,3585).
 1295section([3,3,2],'Editing and incremental compilation',3587,3617).
 1296section([3,4],'Using the PceEmacs built-in editor',3619,3874).
 1297section([3,4,1],'Activating PceEmacs',3622,3628).
 1298section([3,4,2],'Bluffing through PceEmacs',3630,3749).
 1299section([3,4,2,1],'Edit modes',3643,3666).
 1300section([3,4,2,2],'Frequently used editor commands',3668,3749).
 1301section([3,4,3],'Prolog Mode',3751,3874).
 1302section([3,4,3,1],'Finding your way around',3863,3874).
 1303section([3,5],'The Graphical Debugger',3876,3929).
 1304section([3,5,1],'Invoking the window-based debugger',3892,3929).
 1305section([3,6],'The Prolog Navigator',3931,3937).
 1306section([3,7],'Cross-referencer',3939,4020).
 1307section([3,8],'Accessing the IDE from your program',4022,4059).
 1308section([3,9],'Summary of the IDE',4061,4097).
 1309section([4],'BUILT-IN PREDICATES',4099,13911).
 1310section([4,1],'Notation of Predicate Descriptions',4102,4159).
 1311section([4,2],'Character representation',4161,4216).
 1312section([4,3],'Loading Prolog source files',4218,5401).
 1313section([4,3,1],'Conditional compilation and program transformation',4942,5165).
 1314section([4,3,1,1],'Program transformation with source layout info',5070,5101).
 1315section([4,3,1,2],'Conditional compilation',5103,5165).
 1316section([4,3,2],'Reloading files, active code and threads',5167,5354).
 1317section([4,3,2,1],'Compilation of mutually dependent code',5301,5321).
 1318section([4,3,2,2],'Compilation with multiple threads',5323,5354).
 1319section([4,3,3],'Quick load files',5356,5401).
 1320section([4,4],'Editor Interface',5403,5530).
 1321section([4,4,1],'Customizing the editor interface',5443,5530).
 1322section([4,5],'List the program, predicates or clauses',5532,5563).
 1323section([4,6],'Verify Type of a Term',5565,5676).
 1324section([4,7],'Comparison and Unification of Terms',5678,5915).
 1325section([4,7,1],'Standard Order of Terms',5705,5791).
 1326section([4,7,2],'Special unification and comparison predicates',5793,5915).
 1327section([4,8],'Control Predicates',5917,6054).
 1328section([4,9],'Meta-Call Predicates',6056,6297).
 1329section([4,10],'Delimited continuations',6299,6327).
 1330section([4,11],'Exception handling',6329,6774).
 1331section([4,11,1],'Urgency of exceptions',6385,6439).
 1332section([4,11,2],'Debugging and exceptions',6441,6480).
 1333section([4,11,3],'The exception term',6482,6494).
 1334section([4,11,4],'Printing messages',6496,6774).
 1335section([4,11,4,1],'Printing from libraries',6709,6774).
 1336section([4,12],'Handling signals',6776,6868).
 1337section([4,12,1],'Notes on signal handling',6835,6868).
 1338section([4,13],'DCG Grammar rules',6870,7004).
 1339section([4,14],'Database',7006,7493).
 1340section([4,14,1],'Managing (dynamic) predicates',7071,7208).
 1341section([4,14,2],'The recorded database',7210,7263).
 1342section([4,14,3],'Flags',7265,7295).
 1343section([4,14,4],'Tries',7297,7402).
 1344section([4,14,5],'Update view',7404,7423).
 1345section([4,14,6],'Indexing databases',7425,7493).
 1346section([4,15],'Declaring predicate properties',7495,7554).
 1347section([4,16],'Examining the program',7556,7901).
 1348section([4,17],'Input and output',7903,8721).
 1349section([4,17,1],'Predefined stream aliases',7917,7953).
 1350section([4,17,2],'ISO Input and Output Streams',7955,8477).
 1351section([4,17,3],'Edinburgh-style I/O',8479,8597).
 1352section([],'Compatibility notes',8527,34302).
 1353section([4,17,4],'Switching between Edinburgh and ISO I/O',8599,8623).
 1354section([4,17,5],'Write onto atoms, code-lists, etc.',8625,8678).
 1355section([4,17,6],'Fast binary term I/O',8680,8721).
 1356section([4,18],'Status of streams',8723,8805).
 1357section([4,19],'Primitive character I/O',8807,9076).
 1358section([4,20],'Term reading and writing',9078,9609).
 1359section([4,21],'Analysing and Constructing Terms',9611,9865).
 1360section([4,21,1],'Non-logical operations on terms',9786,9865).
 1361section([4,22],'Analysing and Constructing Atoms',9867,10056).
 1362section([4,23],'Localization (locale) support',10058,10143).
 1363section([4,24],'Character properties',10145,10336).
 1364section([4,24,1],'Case conversion',10281,10298).
 1365section([4,24,2],'White space normalization',10300,10308).
 1366section([4,24,3],'Language-specific comparison',10310,10336).
 1367section([4,25],'Operators',10338,10448).
 1368section([4,26],'Character Conversion',10450,10467).
 1369section([4,27],'Arithmetic',10469,11190).
 1370section([4,27,1],'Special purpose integer arithmetic',10479,10545).
 1371section([4,27,2],'General purpose arithmetic',10547,11190).
 1372section([4,27,2,1],'Arithmetic types',10593,10645).
 1373section([4,27,2,2],'Rational number examples',10647,10678).
 1374section([4,27,2,3],'Arithmetic Functions',10680,11190).
 1375section([4,28],'Misc arithmetic support predicates',11192,11240).
 1376section([4,29],'Built-in list operations',11242,11397).
 1377section([4,30],'Finding all Solutions to a Goal',11399,11496).
 1378section([4,31],'Forall',11498,11542).
 1379section([4,32],'Formatted Write',11544,11866).
 1380section([4,32,1],'Writef',11554,11634).
 1381section([4,32,2],'Format',11636,11827).
 1382section([4,32,3],'Programming Format',11829,11866).
 1383section([4,33],'Global variables',11868,11990).
 1384section([4,33,1],'Compatibility of SWI-Prolog Global Variables',11977,11990).
 1385section([4,34],'Terminal Control',11992,12040).
 1386section([4,35],'Operating System Interaction',12042,12693).
 1387section([4,35,1],'Windows-specific Operating System Interaction',12156,12266).
 1388section([4,35,2],'Dealing with time and date',12268,12631).
 1389section([4,35,2,1],'Time and date data structures',12307,12335).
 1390section([4,35,2,2],'Time and date predicates',12337,12631).
 1391section([4,35,3],'Controlling the swipl-win.exe console window',12633,12693).
 1392section([4,36],'File System Interaction',12695,12990).
 1393section([4,37],'User Top-level Manipulation',12992,13095).
 1394section([4,38],'Creating a Protocol of the User Interaction',13097,13122).
 1395section([4,39],'Debugging and Tracing Programs',13124,13335).
 1396section([4,40],'Obtaining Runtime Statistics',13337,13450).
 1397section([4,41],'Execution profiling',13452,13627).
 1398section([4,41,1],'Profiling predicates',13463,13529).
 1399section([4,41,2],'Visualizing profiling data',13531,13578).
 1400section([4,41,3],'Information gathering',13580,13627).
 1401section([4,41,3,1],'Profiling in the Windows Implementation',13612,13627).
 1402section([4,42],'Memory Management',13629,13715).
 1403section([4,43],'Windows DDE interface',13717,13851).
 1404section([4,43,1],'DDE client interface',13733,13790).
 1405section([4,43,2],'DDE server mode',13792,13851).
 1406section([4,44],'Miscellaneous',13853,13911).
 1407section([5],'SWI-PROLOG EXTENSIONS',13913,15248).
 1408section([5,1],'Lists are special',13933,13997).
 1409section([5,1,1],'Motivating \'[|]\' and [] for lists',13967,13997).
 1410section([5,2],'The string type and its double quoted syntax',13999,14482).
 1411section([5,2,1],'Predicates that operate on strings',14037,14270).
 1412section([5,2,2],'Representing text:  strings, atoms and code lists',14272,14305).
 1413section([5,2,3],'Adapting code for double quoted strings',14307,14375).
 1414section([5,2,4],'Why has the representation of double quoted text changed?',14377,14482).
 1415section([5,3],'Syntax changes',14484,14591).
 1416section([5,3,1],'Operators and quoted atoms',14487,14501).
 1417section([5,3,2],'Compound terms with zero arguments',14503,14559).
 1418section([5,3,3],'Block operators',14561,14591).
 1419section([5,4],'Dicts:  structures with named arguments',14593,15122).
 1420section([5,4,1],'Functions on dicts',14644,14790).
 1421section([5,4,1,1],'User defined functions on dicts',14701,14739).
 1422section([5,4,1,2],'Predefined functions on dicts',14741,14790).
 1423section([5,4,2],'Predicates for managing dicts',14792,14972).
 1424section([5,4,2,1],'Destructive assignment in dicts',14927,14972).
 1425section([5,4,3],'When to use dicts?',14974,15069).
 1426section([5,4,4],'A motivation for dicts as primary citizens',15071,15101).
 1427section([5,4,5],'Implementation notes about dicts',15103,15122).
 1428section([5,5],'Integration of strings and dicts in the libraries',15124,15204).
 1429section([5,5,1],'Dicts and option processing',15139,15143).
 1430section([5,5,2],'Dicts in core data structures',15145,15155).
 1431section([5,5,3],'Dicts, strings and XML',15157,15171).
 1432section([5,5,4],'Dicts, strings and JSON',15173,15188).
 1433section([5,5,5],'Dicts, strings and HTTP',15190,15204).
 1434section([5,6],'Remaining issues',15206,15248).
 1435section([6],'MODULES',15250,16103).
 1436section([6,1],'Why Use Modules?',15277,15297).
 1437section([6,2],'Defining a Module',15299,15353).
 1438section([6,3],'Importing Predicates into a Module',15355,15448).
 1439section([6,4],'Defining a meta-predicate',15450,15578).
 1440section([6,5],'Overruling Module Boundaries',15580,15637).
 1441section([6,5,1],'Explicit manipulation of the calling context',15612,15637).
 1442section([6,6],'Interacting with modules from the top level',15639,15667).
 1443section([6,7],'Composing modules from other modules',15669,15700).
 1444section([6,8],'Operators and modules',15702,15732).
 1445section([6,9],'Dynamic importing using import modules',15734,15782).
 1446section([6,10],'Reserved Modules and using the `user\' module',15784,15799).
 1447section([6,11],'An alternative import/export interface',15801,15826).
 1448section([6,12],'Dynamic Modules',15828,15861).
 1449section([6,13],'Transparent predicates:  definition and context module',15863,15954).
 1450section([6,14],'Module properties',15956,16046).
 1451section([6,15],'Compatibility of the Module System',16048,16103).
 1452section([7],'CONSTRAINT LOGIC PROGRAMMING',16105,16598).
 1453section([7,1],'Attributed variables',16208,16480).
 1454section([7,1,1],'Attribute manipulation predicates',16304,16336).
 1455section([7,1,2],'Attributed variable hooks',16338,16422).
 1456section([7,1,3],'Operations on terms with attributed variables',16424,16456).
 1457section([7,1,4],'Special purpose predicates for attributes',16458,16480).
 1458section([7,2],'Coroutining',16482,16598).
 1459section([8],'CHR: CONSTRAINT HANDLING RULES',16600,17476).
 1460section([8,1],'Introduction',16622,16649).
 1461section([8,2],'Syntax and Semantics',16651,16828).
 1462section([8,2,1],'Syntax of CHR rules',16654,16706).
 1463section([8,2,2],'Semantics',16708,16828).
 1464section([8,3],'CHR in SWI-Prolog Programs',16830,17076).
 1465section([8,3,1],'Embedding in Prolog Programs',16833,16838).
 1466section([8,3,2],'Constraint declaration',16840,17049).
 1467section([8,3,3],'Compilation',17051,17076).
 1468section([8,4],'Debugging',17078,17219).
 1469section([8,4,1],'Ports',17088,17129).
 1470section([8,4,2],'Tracing',17131,17178).
 1471section([8,4,3],'CHR Debugging Predicates',17180,17219).
 1472section([8,5],'Examples',17221,17280).
 1473section([8,6],'Backwards Compatibility',17282,17360).
 1474section([8,6,1],'The Old SICStus CHR implemenation',17285,17328).
 1475section([8,6,2],'The Old ECLiPSe CHR implemenation',17330,17360).
 1476section([8,7],'Programming Tips and Tricks',17362,17405).
 1477section([8,8],'Compiler Errors and Warnings',17407,17476).
 1478section([8,8,1],'CHR Compiler Errors',17413,17476).
 1479section([9],'MULTITHREADED APPLICATIONS',17478,18612).
 1480section([9,1],'Creating and destroying Prolog threads',17517,17732).
 1481section([9,2],'Monitoring threads',17734,17834).
 1482section([9,3],'Thread communication',17836,18146).
 1483section([9,3,1],'Message queues',17839,18064).
 1484section([9,3,2],'Signalling threads',18066,18097).
 1485section([9,3,3],'Threads and dynamic predicates',18099,18146).
 1486section([9,4],'Thread synchronisation',18148,18278).
 1487section([9,5],'Thread support library(threadutil)',18280,18385).
 1488section([9,5,1],'Debugging threads',18306,18370).
 1489section([9,5,2],'Profiling threads',18372,18385).
 1490section([9,6],'Multithreaded mixed C and Prolog applications',18387,18556).
 1491section([9,6,1],'A Prolog thread for each native thread (one-to-one)',18409,18489).
 1492section([9,6,2],'Pooling Prolog engines (many-to-many)',18491,18556).
 1493section([9,7],'Multithreading and the XPCE graphics system',18558,18612).
 1494section([10],'COROUTINING USING PROLOG ENGINES',18614,18994).
 1495section([10,1],'Examples using engines',18642,18874).
 1496section([10,1,1],'Aggregation using engines',18659,18771).
 1497section([10,1,2],'State accumulation using engines',18773,18848).
 1498section([10,1,3],'Scalable many-agent applications',18850,18874).
 1499section([10,2],'Engine resource usage',18876,18893).
 1500section([10,3],'Engine predicate reference',18895,18994).
 1501section([11],'FOREIGN LANGUAGE INTERFACE',18996,23379).
 1502section([11,1],'Overview of the Interface',19014,19039).
 1503section([11,2],'Linking Foreign Modules',19041,19305).
 1504section([11,2,1],'What linking is provided?',19052,19060).
 1505section([11,2,2],'What kind of loading should I be using?',19062,19078).
 1506section([11,2,3],'library(shlib):   Utility  library  for loading  foreign  objects',19080,19203).
 1507section([11,2,4],'Low-level operations on shared libraries',19205,19246).
 1508section([11,2,5],'Static Linking',19248,19305).
 1509section([11,3],'Interface Data Types',19307,19523).
 1510section([11,3,1],'Type term_t:  a reference to a Prolog term',19310,19449).
 1511section([11,3,1,1],'Interaction with the garbage collector and stack-shifter',19438,19449).
 1512section([11,3,2],'Other foreign interface types',19451,19523).
 1513section([11,3,2,1],'PL_ARITY_AS_SIZE',19500,19523).
 1514section([11,4],'The Foreign Include File',19525,22808).
 1515section([11,4,1],'Argument Passing and Control',19528,19676).
 1516section([11,4,1,1],'Non-deterministic Foreign Predicates',19547,19676).
 1517section([11,4,2],'Atoms and functors',19678,19771).
 1518section([11,4,2,1],'Atoms and atom garbage collection',19737,19771).
 1519section([11,4,3],'Analysing Terms via the Foreign Interface',19773,20344).
 1520section([11,4,3,1],'Testing the type of a term',19786,19900).
 1521section([11,4,3,2],'Reading data from a term',19902,20097).
 1522section([11,4,3,3],'Exchanging text using length and string',20099,20163).
 1523section([11,4,3,4],'Wide-character versions',20165,20212).
 1524section([11,4,3,5],'Reading a list',20214,20290).
 1525section([11,4,3,6],'An example:  defining write/1 in C',20292,20344).
 1526section([11,4,4],'Constructing Terms',20346,20503).
 1527section([11,4,5],'Unifying data',20505,20905).
 1528section([11,4,6],'Convenient functions to generate Prolog exceptions',20907,21066).
 1529section([11,4,7],'BLOBS: Using atoms to store arbitrary binary data',21068,21216).
 1530section([11,4,7,1],'Defining a BLOB type',21090,21177).
 1531section([11,4,7,2],'Accessing blobs',21179,21216).
 1532section([11,4,8],'Exchanging GMP numbers',21218,21302).
 1533section([11,4,9],'Calling Prolog from C',21304,21473).
 1534section([11,4,9,1],'Predicate references',21317,21344).
 1535section([11,4,9,2],'Initiating a query from C',21346,21473).
 1536section([11,4,10],'Discarding Data',21475,21535).
 1537section([11,4,11],'Foreign Code and Modules',21537,21576).
 1538section([11,4,12],'Prolog exceptions in foreign code',21578,21705).
 1539section([11,4,13],'Catching Signals (Software Interrupts)',21707,21803).
 1540section([11,4,14],'Miscellaneous',21805,21997).
 1541section([11,4,14,1],'Term Comparison',21808,21819).
 1542section([11,4,14,2],'Recorded database',21821,21919).
 1543section([11,4,14,3],'Getting file names',21921,21970).
 1544section([11,4,14,4],'Dealing with Prolog flags from C',21972,21997).
 1545section([11,4,15],'Errors and warnings',21999,22012).
 1546section([11,4,16],'Environment Control from Foreign Code',22014,22075).
 1547section([11,4,17],'Querying Prolog',22077,22114).
 1548section([11,4,18],'Registering Foreign Predicates',22116,22240).
 1549section([11,4,19],'Foreign Code Hooks',22242,22327).
 1550section([11,4,20],'Storing foreign data',22329,22520).
 1551section([11,4,20,1],'Examples for storing foreign data',22398,22520).
 1552section([11,4,21],'Embedding SWI-Prolog in other applications',22522,22808).
 1553section([11,4,21,1],'Threading, Signals and embedded Prolog',22754,22808).
 1554section([11,5],'Linking embedded applications using swipl-ld',22810,23029).
 1555section([11,5,1],'A simple example',22943,23029).
 1556section([11,6],'The Prolog `home\' directory',23031,23065).
 1557section([11,7],'Example of Using the Foreign Interface',23067,23126).
 1558section([11,8],'Notes on Using Foreign Code',23128,23379).
 1559section([11,8,1],'Foreign debugging functions',23131,23226).
 1560section([11,8,2],'Memory Allocation',23228,23295).
 1561section([11,8,2,1],'Boehm-GC support',23260,23295).
 1562section([11,8,3],'Compatibility between Prolog versions',23297,23309).
 1563section([11,8,4],'Debugging and profiling foreign code (valgrind)',23311,23331).
 1564section([11,8,5],'Name Conflicts in C modules',23333,23350).
 1565section([11,8,6],'Compatibility of the Foreign Interface',23352,23379).
 1566section([12],'GENERATING RUNTIME APPLICATIONS',23381,23787).
 1567section([12,1],'Limitations of qsave_program',23532,23548).
 1568section([12,2],'Runtimes and Foreign Code',23550,23616).
 1569section([12,3],'Using program resources',23618,23740).
 1570section([12,3,1],'Resource manipulation predicates',23651,23709).
 1571section([12,3,2],'The swipl-rc program',23711,23740).
 1572section([12,4],'Finding Application files',23742,23787).
 1573section([12,4,1],'Specifying a file search path from the command line',23774,23787).
 1574section([13],'THE SWI-PROLOG LIBRARY',23789,31334).
 1575section([13,1],'library(aggregate):     Aggregation   operators  on   backtrackable',23813,23979).
 1576section([13,2],'library(apply):  Apply predicates on a list',23981,24093).
 1577section([13,3],'library(assoc):  Association lists',24095,24258).
 1578section([13,3,1],'Introduction',24100,24132).
 1579section([13,3,2],'Creating association lists',24134,24157).
 1580section([13,3,3],'Querying association lists',24159,24188).
 1581section([13,3,4],'Modifying association lists',24190,24215).
 1582section([13,3,5],'Conversion predicates',24217,24236).
 1583section([13,3,6],'Reasoning about association lists and their elements',24238,24258).
 1584section([13,4],'library(broadcast):  Broadcast and receive event notifications',24260,24374).
 1585section([13,5],'library(charsio):  I/O on Lists of Character Codes',24376,24460).
 1586section([13,6],'library(check):  Consistency checking',24462,24595).
 1587section([13,7],'library(clpb):  CLP(B):  Constraint Logic Programming over  Boolean',24597,24968).
 1588section([13,7,1],'Introduction',24603,24637).
 1589section([13,7,2],'Boolean expressions',24639,24679).
 1590section([13,7,3],'Interface predicates',24681,24699).
 1591section([13,7,4],'Examples',24701,24744).
 1592section([13,7,5],'Obtaining BDDs',24746,24779).
 1593section([13,7,6],'Enabling monotonic CLP(B)',24781,24810).
 1594section([13,7,7],'Example:  Pigeons',24812,24854).
 1595section([13,7,8],'Example:  Boolean circuit',24856,24881).
 1596section([13,7,9],'Acknowledgments',24883,24889).
 1597section([13,7,10],'CLP(B) predicate index',24891,24968).
 1598section([13,8],'library(clpfd):  CLP(FD): Constraint Logic Programming  over Finite',24970,26512).
 1599section([13,8,1],'Introduction',24979,25079).
 1600section([13,8,2],'Arithmetic constraints',25081,25129).
 1601section([13,8,3],'Declarative integer arithmetic',25131,25213).
 1602section([13,8,4],'Example:  Factorial relation',25215,25296).
 1603section([13,8,5],'Combinatorial constraints',25298,25307).
 1604section([13,8,6],'Domains',25309,25324).
 1605section([13,8,7],'Example:  Sudoku',25326,25380).
 1606section([13,8,8],'Residual goals',25382,25435).
 1607section([13,8,9],'Core relations and search',25437,25511).
 1608section([13,8,10],'Example:  Eight queens puzzle',25513,25587).
 1609section([13,8,11],'Optimisation',25589,25613).
 1610section([13,8,12],'Reification',25615,25637).
 1611section([13,8,13],'Enabling monotonic CLP(FD)',25639,25674).
 1612section([13,8,14],'Custom constraints',25676,25724).
 1613section([13,8,15],'Applications',25726,25737).
 1614section([13,8,16],'Acknowledgments',25739,25759).
 1615section([13,8,17],'CLP(FD) predicate index',25761,26491).
 1616section([13,8,17,1],'Arithmetic constraints',25770,25831).
 1617section([13,8,17,2],'Membership constraints',25833,25859).
 1618section([13,8,17,3],'Enumeration predicates',25861,25963).
 1619section([13,8,17,4],'Global constraints',25965,26285).
 1620section([13,8,17,5],'Reification predicates',26287,26434).
 1621section([13,8,17,6],'Reflection predicates',26436,26491).
 1622section([13,8,18],'Closing and opening words about CLP(FD)',26493,26512).
 1623section([13,9],'library(clpqr):   Constraint Logic  Programming over Rationals  and',26514,26736).
 1624section([13,9,1],'Solver predicates',26548,26618).
 1625section([13,9,2],'Syntax of the predicate arguments',26620,26659).
 1626section([13,9,3],'Use of unification',26661,26678).
 1627section([13,9,4],'Non-linear constraints',26680,26705).
 1628section([13,9,5],'Status and known problems',26707,26736).
 1629section([13,10],'library(csv):  Process CSV (Comma-Separated Values) data',26738,26876).
 1630section([13,11],'library(debug):  Print debug messages and test assertions',26878,26990).
 1631section([13,12],'library(error):  Error generating support',26992,27139).
 1632section([13,13],'library(gensym):  Generate unique identifiers',27141,27172).
 1633section([13,14],'library(iostream):  Utilities to deal with streams',27174,27267).
 1634section([13,15],'library(lists):  List Manipulation',27269,27581).
 1635section([13,16],'library(main):  Provide entry point for scripts',27583,27630).
 1636section([13,17],'library(nb_set):  Non-backtrackable set',27632,27690).
 1637section([13,18],'library(www_browser):  Activating your Web-browser',27692,27718).
 1638section([13,19],'library(option):  Option list processing',27720,27850).
 1639section([13,20],'library(optparse):  command line parsing',27852,28222).
 1640section([13,20,1],'Notes and tips',28116,28222).
 1641section([13,21],'library(ordsets):  Ordered set manipulation',28224,28392).
 1642section([13,22],'library(pairs):  Operations on key-value lists',28394,28471).
 1643section([13,23],'library(persistency):  Provide persistent dynamic predicates',28473,28629).
 1644section([13,24],'library(pio):  Pure I/O',28631,28753).
 1645section([13,24,1],'library(pure_input):  Pure Input from files and streams',28639,28753).
 1646section([13,25],'library(predicate_options):   Declare  option-processing of  predi-',28755,29027).
 1647section([13,25,1],'The strength and weakness of predicate options',28761,28811).
 1648section([13,25,2],'Options as arguments or environment?',28813,28845).
 1649section([13,25,3],'Improving on the current situation',28847,29027).
 1650section([13,25,3,1],'Options as types',28857,28884).
 1651section([13,25,3,2],'Reflective access to options',28886,29027).
 1652section([13,26],'library(prolog_pack):  A package manager for Prolog',29029,29217).
 1653section([13,27],'library(prolog_xref):  Cross-reference data collection library',29219,29318).
 1654section([13,27,1],'Extending the library',29299,29318).
 1655section([13,28],'library(quasi_quotations):  Define Quasi Quotation syntax',29320,29440).
 1656section([13,29],'library(random):  Random numbers',29442,29579).
 1657section([13,30],'library(readutil):  Reading lines, streams and files',29581,29647).
 1658section([13,31],'library(record):  Access named fields in a term',29649,29746).
 1659section([13,32],'library(registry):  Manipulating the Windows registry',29748,29824).
 1660section([13,33],'library(simplex):  Solve linear programming problems',29826,30120).
 1661section([13,33,1],'Introduction',29831,29915).
 1662section([13,33,2],'Delayed column generation',29917,29943).
 1663section([13,33,3],'Solving LPs with special structure',29945,29968).
 1664section([13,33,4],'Examples',29970,30120).
 1665section([13,33,4,1],'Example 1',29975,30008).
 1666section([13,33,4,2],'Example 2',30010,30070).
 1667section([13,33,4,3],'Example 3',30072,30120).
 1668section([13,34],'library(solution_sequences):  Modify solution sequences',30122,30239).
 1669section([13,35],'library(tabling):  Tabled execution (SLG)',30241,30602).
 1670section([13,35,0,1],'Example 1:  using tabling for memoizing',30271,30356).
 1671section([13,35,0,2],'Example 2:  avoiding non-termination',30358,30419).
 1672section([13,35,0,3],'Mode directed tabling',30421,30510).
 1673section([13,35,1],'Tabling predicate reference',30512,30602).
 1674section([13,35,1,1],'About the tabling implementation',30548,30582).
 1675section([13,35,1,2],'Status of tabling',30584,30602).
 1676section([13,36],'library(thread_pool):  Resource bounded thread management',30604,30722).
 1677section([13,37],'library(ugraphs):  Unweighted Graphs',30724,30934).
 1678section([13,38],'library(url):  Analysing and constructing URL',30936,31093).
 1679section([13,39],'library(varnumbers):  Utilities for numbered terms',31095,31161).
 1680section([13,40],'library(yall):  Lambda expressions',31163,31334).
 1681section([14],'HACKERS CORNER',31336,31921).
 1682section([14,1],'Examining the Environment Stack',31346,31479).
 1683section([14,2],'Ancestral cuts',31481,31497).
 1684section([14,3],'Intercepting the Tracer',31499,31633).
 1685section([14,4],'Breakpoint and watchpoint handling',31635,31722).
 1686section([14,5],'Adding context to errors:  prolog_exception_hook',31724,31776).
 1687section([14,6],'Hooks using the exception predicate',31778,31817).
 1688section([14,7],'Hooks for integrating libraries',31819,31880).
 1689section([14,8],'Hooks for loading files',31882,31921).
 1690section([15],'COMPATIBILITY WITH OTHER PROLOG DIALECTS',31923,32119).
 1691section([15,1],'Some considerations for writing portable code',32003,32119).
 1692section([16],'GLOSSARY OF TERMS',32121,32465).
 1693section([17],'SWI-PROLOG LICENSE CONDITIONS AND TOOLS',32467,32628).
 1694section([17,1],'Contributing to the SWI-Prolog project',32527,32536).
 1695section([17,2],'Software support to keep track of license conditions',32538,32592).
 1696section([17,3],'License conditions inherited from used code',32594,32628).
 1697section([17,3,1],'Cryptographic routines',32597,32628).
 1698section([18],'SUMMARY',32630,34211).
 1699section([18,1],'Predicates',32633,33486).
 1700section([18,2],'Library predicates',33488,34058).
 1701section([18,2,1],'library(aggregate)',33491,33499).
 1702section([18,2,2],'library(apply)',33501,33522).
 1703section([18,2,3],'library(assoc)',33524,33541).
 1704section([18,2,4],'library(broadcast)',33543,33553).
 1705section([18,2,5],'library(charsio)',33555,33572).
 1706section([18,2,6],'library(check)',33574,33591).
 1707section([18,2,7],'library(clpb)',33593,33601).
 1708section([18,2,8],'library(clpfd)',33603,33652).
 1709section([18,2,9],'library(clpqr)',33654,33666).
 1710section([18,2,10],'library(csv)',33668,33681).
 1711section([18,2,11],'library(debug)',33683,33696).
 1712section([18,2,12],'library(error)',33698,33714).
 1713section([18,2,13],'library(iostream)',33716,33717).
 1714section([18,2,14],'library(summaries.d/iostream/tex)',33719,33720).
 1715section([18,2,15],'library(lists)',33722,33760).
 1716section([18,2,16],'library(main)',33762,33766).
 1717section([18,2,17],'library(option)',33768,33777).
 1718section([18,2,18],'library(optparse)',33779,33786).
 1719section([18,2,19],'library(ordsets)',33788,33812).
 1720section([18,2,20],'library(persistency)',33814,33823).
 1721section([18,2,21],'library(predicate_options)',33825,33839).
 1722section([18,2,22],'library(prologpack)',33841,33857).
 1723section([18,2,23],'library(prologxref)',33859,33871).
 1724section([18,2,24],'library(pairs)',33873,33881).
 1725section([18,2,25],'library(pio)',33883,33895).
 1726section([18,2,25,1],'library(pure_input)',33886,33895).
 1727section([18,2,26],'library(random)',33897,33914).
 1728section([18,2,27],'library(readutil)',33916,33924).
 1729section([18,2,28],'library(record)',33926,33929).
 1730section([18,2,29],'library(registry)',33931,33943).
 1731section([18,2,30],'library(simplex)',33945,33959).
 1732section([18,2,31],'library(ugraphs)',33961,33982).
 1733section([18,2,32],'library(url)',33984,33997).
 1734section([18,2,33],'library(www_browser)',33999,34002).
 1735section([18,2,34],'library(solution_sequences)',34004,34014).
 1736section([18,2,35],'library(thread_pool)',34016,34024).
 1737section([18,2,36],'library(varnumbers)',34026,34033).
 1738section([18,2,37],'library(yall)',34035,34058).
 1739section([18,3],'Arithmetic Functions',34060,34144).
 1740section([18,4],'Operators',34146,34211).
 1741section([19],'Bibliography',34213,34302).
 1742
 1743
 1744% Predicate function/3
 1745
 1746function('PL_thread_self',18420,18425).
 1747function('PL_unify_thread_id',18427,18431).
 1748function('PL_thread_attach_engine',18433,18467).
 1749function('PL_thread_destroy_engine',18469,18479).
 1750function('PL_thread_at_exit',18481,18489).
 1751function('PL_create_engine',18518,18527).
 1752function('PL_destroy_engine',18529,18534).
 1753function('PL_set_engine',18536,18556).
 1754function('PL_new_term_ref',19395,19401).
 1755function('PL_new_term_refs',19403,19418).
 1756function('PL_copy_term_ref',19420,19424).
 1757function('PL_reset_term_refs',19426,19436).
 1758function('PL_succeed',19538,19540).
 1759function('PL_fail',19542,19545).
 1760function('PL_retry',19596,19605).
 1761function('PL_retry_address',19607,19611).
 1762function('PL_foreign_control',19613,19618).
 1763function('PL_foreign_context',19620,19625).
 1764function('PL_foreign_context_address',19627,19629).
 1765function('PL_foreign_context_predicate',19631,19676).
 1766function('PL_new_atom',19684,19692).
 1767function('PL_new_atom_mbchars',19707,19712).
 1768function('PL_atom_chars',19714,19722).
 1769function('PL_new_functor',19724,19727).
 1770function('PL_functor_name',19729,19731).
 1771function('PL_functor_arity',19733,19735).
 1772function('PL_register_atom',19750,19754).
 1773function('PL_unregister_atom',19756,19771).
 1774function('PL_term_type',19789,19837).
 1775function('PL_is_variable',19839,19841).
 1776function('PL_is_ground',19843,19846).
 1777function('PL_is_atom',19848,19850).
 1778function('PL_is_string',19852,19854).
 1779function('PL_is_integer',19856,19858).
 1780function('PL_is_float',19860,19862).
 1781function('PL_is_callable',19864,19867).
 1782function('PL_is_compound',19869,19871).
 1783function('PL_is_functor',19873,19877).
 1784function('PL_is_list',19879,19883).
 1785function('PL_is_pair',19885,19888).
 1786function('PL_is_atomic',19890,19892).
 1787function('PL_is_number',19894,19896).
 1788function('PL_is_acyclic',19898,19900).
 1789function('PL_get_atom',19909,19916).
 1790function('PL_get_atom_chars',19918,19923).
 1791function('PL_get_string_chars',19925,19931).
 1792function('PL_get_chars',19933,20015).
 1793function('PL_get_list_chars',20017,20020).
 1794function('PL_get_integer',20022,20026).
 1795function('PL_get_long',20028,20034).
 1796function('PL_get_int64',20036,20039).
 1797function('PL_get_intptr',20041,20046).
 1798function('PL_get_bool',20048,20051).
 1799function('PL_get_pointer',20053,20059).
 1800function('PL_get_float',20061,20063).
 1801function('PL_get_functor',20065,20069).
 1802function('PL_get_name_arity',20071,20075).
 1803function('PL_get_compound_name_arity',20077,20081).
 1804function('PL_get_module',20083,20087).
 1805function('PL_get_arg',20089,20092).
 1806function('_PL_get_arg',20094,20097).
 1807function('PL_get_atom_nchars',20108,20110).
 1808function('PL_get_list_nchars',20112,20114).
 1809function('PL_get_nchars',20116,20118).
 1810function('PL_put_atom_nchars',20120,20122).
 1811function('PL_put_string_nchars',20124,20126).
 1812function('PL_put_list_ncodes',20128,20130).
 1813function('PL_put_list_nchars',20132,20134).
 1814function('PL_unify_atom_nchars',20136,20138).
 1815function('PL_unify_string_nchars',20140,20142).
 1816function('PL_unify_list_ncodes',20144,20146).
 1817function('PL_unify_list_nchars',20148,20153).
 1818function('PL_new_atom_nchars',20155,20159).
 1819function('PL_atom_nchars',20161,20163).
 1820function('PL_new_atom_wchars',20178,20183).
 1821function('PL_atom_wchars',20185,20191).
 1822function('PL_get_wchars',20193,20196).
 1823function('PL_unify_wchars',20198,20202).
 1824function('PL_unify_wchars_diff',20204,20212).
 1825function('PL_get_list',20244,20247).
 1826function('PL_get_head',20249,20252).
 1827function('PL_get_tail',20254,20257).
 1828function('PL_get_nil',20259,20261).
 1829function('PL_skip_list',20263,20290).
 1830function('PL_put_variable',20358,20361).
 1831function('PL_put_atom',20363,20366).
 1832function('PL_put_bool',20368,20371).
 1833function('PL_put_chars',20373,20382).
 1834function('PL_put_atom_chars',20384,20388).
 1835function('PL_put_string_chars',20390,20393).
 1836function('PL_put_string_nchars',20395,20399).
 1837function('PL_put_list_chars',20401,20403).
 1838function('PL_put_integer',20405,20407).
 1839function('PL_put_int64',20409,20411).
 1840function('PL_put_pointer',20413,20416).
 1841function('PL_put_float',20418,20420).
 1842function('PL_put_functor',20422,20427).
 1843function('PL_put_list',20429,20434).
 1844function('PL_put_nil',20436,20441).
 1845function('PL_put_term',20443,20445).
 1846function('PL_cons_functor',20447,20472).
 1847function('PL_cons_functor_v',20474,20479).
 1848function('PL_cons_list',20481,20503).
 1849function('PL_unify',20553,20585).
 1850function('PL_unify_atom',20587,20589).
 1851function('PL_unify_bool',20591,20593).
 1852function('PL_unify_chars',20595,20608).
 1853function('PL_unify_atom_chars',20610,20613).
 1854function('PL_unify_list_chars',20615,20617).
 1855function('PL_unify_string_chars',20619,20623).
 1856function('PL_unify_integer',20625,20627).
 1857function('PL_unify_int64',20629,20631).
 1858function('PL_unify_uint64',20633,20638).
 1859function('PL_unify_float',20640,20642).
 1860function('PL_unify_pointer',20644,20647).
 1861function('PL_unify_functor',20649,20655).
 1862function('PL_unify_compound',20657,20663).
 1863function('PL_unify_list',20665,20696).
 1864function('PL_unify_nil',20698,20700).
 1865function('PL_unify_arg',20702,20704).
 1866function('PL_unify_term',20706,20857).
 1867function('PL_chars_to_term',20859,20890).
 1868function('PL_wchars_to_term',20892,20894).
 1869function('PL_quote',20896,20905).
 1870function('PL_get_atom_ex',20937,20940).
 1871function('PL_get_integer_ex',20942,20946).
 1872function('PL_get_long_ex',20948,20952).
 1873function('PL_get_int64_ex',20954,20958).
 1874function('PL_get_intptr_ex',20960,20964).
 1875function('PL_get_size_ex',20966,20970).
 1876function('PL_get_bool_ex',20972,20975).
 1877function('PL_get_float_ex',20977,20980).
 1878function('PL_get_char_ex',20982,20986).
 1879function('PL_get_pointer_ex',20988,20991).
 1880function('PL_get_list_ex',20993,20996).
 1881function('PL_get_nil_ex',20998,21001).
 1882function('PL_unify_list_ex',21003,21006).
 1883function('PL_unify_nil_ex',21008,21011).
 1884function('PL_unify_bool_ex',21013,21023).
 1885function('PL_instantiation_error',21025,21029).
 1886function('PL_uninstantiation_error',21031,21036).
 1887function('PL_representation_error',21038,21040).
 1888function('PL_type_error',21042,21044).
 1889function('PL_domain_error',21046,21048).
 1890function('PL_existence_error',21050,21052).
 1891function('PL_permission_error',21054,21057).
 1892function('PL_resource_error',21059,21061).
 1893function('PL_syntax_error',21063,21066).
 1894function('PL_unregister_blob_type',21169,21177).
 1895function('PL_is_blob',21187,21190).
 1896function('PL_unify_blob',21192,21195).
 1897function('PL_put_blob',21197,21205).
 1898function('PL_get_blob',21207,21211).
 1899function('PL_blob_data',21213,21216).
 1900function('PL_get_mpz',21276,21282).
 1901function('PL_get_mpq',21284,21291).
 1902function('PL_unify_mpz',21293,21296).
 1903function('PL_unify_mpq',21298,21302).
 1904function('PL_pred',21325,21330).
 1905function('PL_predicate',21332,21335).
 1906function('PL_predicate_info',21337,21344).
 1907function('PL_open_query',21358,21436).
 1908function('PL_next_solution',21438,21443).
 1909function('PL_cut_query',21445,21449).
 1910function('PL_close_query',21451,21454).
 1911function('PL_current_query',21456,21459).
 1912function('PL_call_predicate',21461,21465).
 1913function('PL_call',21467,21473).
 1914function('PL_open_foreign_frame',21484,21490).
 1915function('PL_close_foreign_frame',21492,21496).
 1916function('PL_discard_foreign_frame',21498,21501).
 1917function('PL_rewind_foreign_frame',21503,21535).
 1918function('PL_context',21543,21546).
 1919function('PL_strip_module',21548,21568).
 1920function('PL_module_name',21570,21572).
 1921function('PL_new_module',21574,21576).
 1922function('PL_raise_exception',21653,21680).
 1923function('PL_throw',21682,21685).
 1924function('PL_exception',21687,21699).
 1925function('PL_clear_exception',21701,21705).
 1926function('PL_sigaction',21723,21748).
 1927function('PL_signal',21750,21776).
 1928function('PL_raise',21778,21782).
 1929function('PL_handle_signals',21784,21795).
 1930function('PL_get_signum_ex',21797,21803).
 1931function('PL_compare',21811,21814).
 1932function('PL_same_compound',21816,21819).
 1933function('PL_record',21839,21844).
 1934function('PL_duplicate_record',21846,21849).
 1935function('PL_recorded',21851,21857).
 1936function('PL_erase',21859,21894).
 1937function('PL_record_external',21896,21908).
 1938function('PL_recorded_external',21910,21914).
 1939function('PL_erase_external',21916,21919).
 1940function('PL_get_file_name',21929,21962).
 1941function('PL_get_file_nameW',21964,21970).
 1942function('PL_set_prolog_flag',21978,21997).
 1943function('PL_warning',22007,22012).
 1944function('PL_action',22017,22075).
 1945function('PL_query',22080,22114).
 1946function('PL_register_foreign_in_module',22119,22192).
 1947function('PL_register_foreign',22194,22197).
 1948function('PL_register_extensions_in_module',22199,22235).
 1949function('PL_register_extensions',22237,22240).
 1950function('PL_dispatch_hook',22247,22257).
 1951function('PL_abort_hook',22259,22268).
 1952function('PL_abort_unhook',22270,22273).
 1953function('PL_on_halt',22275,22283).
 1954function('PL_exit_hook',22285,22288).
 1955function('PL_agc_hook',22290,22327).
 1956function('PL_initialise',22551,22607).
 1957function('PL_is_initialised',22609,22615).
 1958function('PL_set_resource_db_mem',22617,22700).
 1959function('PL_toplevel',22702,22705).
 1960function('PL_cleanup',22707,22731).
 1961function('PL_cleanup_fork',22733,22746).
 1962function('PL_halt',22748,22752).
 1963function('PL_backtrace',23150,23163).
 1964function('PL_backtrace_string',23165,23179).
 1965function('PL_check_data',23181,23187).
 1966function('PL_check_stacks',23189,23209).
 1967function('PL_malloc',23242,23247).
 1968function('PL_realloc',23249,23253).
 1969function('PL_free',23255,23258).
 1970function('PL_malloc_atomic',23275,23276).
 1971function('PL_malloc_uncollectable',23278,23279).
 1972function('PL_malloc_atomic_uncollectable',23281,23287).
 1973function('PL_malloc_stubborn',23289,23290).
 1974function('PL_end_stubborn_change',23292,23295).
 1975function('PL_license',32583,32586)