#!/bin/sh
# SWI-Prolog version: 2.8.0
# SWI-Prolog save-version: 31
exec ${SWIPL-/usr/local/pdm/debian/swi-prolog-2.8.0/src/pl} -x $0 "$@"
# End Header
SWI-Prolog (c) 1990 Jan Wielemaker
 @ > >  '$welcome' prolog .plrc /usr/local/pdm/debian/swi-prolog-2.8.0/ QF/usr/local/pdm/debian/swi-prolog-2.8.0/boot/init.pl 2sDt: user t$set_source_module v system Pop C@$@$C@%
	@$@ 
$op @ 

 C@(@ @! 	X Pdynamic C@+, 
	@$@  @! C@.@"
/ 	$strip_module 
@!
functor  

	 $set_predicate_attribute X Pmultifile C@3 

	@$@  @! C@6@"
 	 
@!
  

	  X Pmodule_transparent C@; 

	@$@  @! C@>@"
 	 
@!
  

	transparent  X Pdiscontiguous C@C 

	@$@  @! C@F@"
 	 
@!
  

	  X Pvolatile C@K 

	@$@  @! C@N@"
 	 
@!
  

	  X D@S t  t t 
t  t 
t  t 
t  t 
t  t 
t  t 
t $hide t $show_childs P @ C@d@  @!trace   X P @!C@l@  @!hide_childs   X D@t t  t t 
t ; t 
t | t 
t  t 
t call t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t ^ t 
t not t 
t \+ t 
t -> t 
t once t 
t ignore t 
t block t apply P @,C@@"@$@ @"X P @&C@ @1	@$@<
	@!@"@;
@"@9@ @"C@*-> 	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P @'C@ @1	@$@<
	@!@"@;
@"@9@ @"C@ @3	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P 
C@@"@ @"X P @(C@@"X P @(C@@ @#X P @(C@@ @!@#X P @(C@	@ @!
@#X P @(C@@ @!


@#X P @(C@
@ @!


@#X P @*C@
@?
@"@;
@@X P @+C@
@?
@"@;
@@X P @-C@@"@$X P @.C@@"@$C@ @KX P @0C@@ @%X P @)C@@ @"X P @/C@@ @"X P! C@@BX Pexit C@@ @CX Pfail C@@B@GX D@ t  t 
t @" @&t 
t @" @'t 
t @" t 
t @" @,t 
t @$ @)t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @*t 
t @$ @+t 
t @$ @-t 
t @$ @.t 
t @$ t 
t @$ @&t 
t @$ @'t 
t @$ @/t @$ @,P$prefix_module C@		@$C@  		@KX D@ t  t t 
t exception t prolog_event_hook D@ t  t t 
t  @Kt  @LDA t  tflag $verbose_autoload v off DAt  t @M$enable_autoload v on DAt  t @M$autoloading v  P$undefined_procedure CA  
	
 @I   @Kundefined_predicate 
	@"@$CA
@
retry  @Q @R @R @M@ @!
$find_library @ @!  @S+ 	 @M@<@F==  	
@;ensure_loaded 	 @?@9@3@< 
	$c_current_predicate @; 	import 
	              Read Prolog term
read/2                           Read Prolog term from stream
read_clause/1                   Read clause
read_clause/2                   Read clause from stream
read_history/6                  Read using history substitution
read_link/3                     Read a symbolic link
read_term/2                     Read term with options
read_term/3                     Read term with options from stream
read_variables/2                Read clause including variable names
read_variables/3                Read clause including variable names from stream
recorda/2                       Record term in the database (first)
recorda/3                       Record term in the database (first)
recorded/2                      Obtain term from the database
recorded/3                      Obtain term from the database
recordz/2                       Record term in the database (last)
recordz/3                       Record term in the database (last)
redefine_system_predicate/1    Abolish system definition
rename_file/2                   Change name of file
repeat/0                        Succeed, leaving infinite backtrack points
require/1                       This file requires these predicates
reset_profiler/0                Clear statistics obtained by the profiler
restore/1                       Restore saved-state (save/1, save_program/1)
retract/1                       Remove clause from the database
retractall/1                    Remove unifying clauses from the database
reverse/2                       Inverse the order of the elements in a list

same_file/2                     Succeeds if arguments refer to same file
save/1                           Save program including current goal
save/2                           Save program including current goal
save_program/1                  Save the current program on a file
save_program/2                  Save the current program on a file
see/1                            Change the current input stream
seeing/1                        Query the current input stream
seen/0                           Close the current input stream
select/3                        Select element of a list
set_feature/2                   Define a system feature
set_input/1                     Set current input stream from a stream
set_output/1                    Set current output stream from a stream
set_tty/2                       Set `tty' stream
setarg/3                        Destructive assignment on term
setenv/2                        Set shell environment variable
setof/3                          Find all unique solutions to a goal
sformat/2                       Format on a string
sformat/3                       Format on a string
shell/0                          Execute interactive subshell
shell/1                          Execute OS command
shell/2                          Execute OS command
show_profile/1                  Show results of the profiler
size_file/2                     Get size of a file in characters
skip/1                           Skip to character in current input
skip/2                           Skip to character on stream
rl_add_history/1                Add line to readline(3) history
rl_read_init_file/1            Read readline(3) init file
sleep/1                          Suspend execution for specified time
sort/2                           Sort elements in a list
source_file/1                   Examine currently loaded source files
source_file/2                   Obtain source file of predicate
source_location/2               Location of last read term
spy/1                            Force tracer on specified predicate
stack_parameter/4               Some systems: Query/Set runtime stack parameter
statistics/0                    Show execution statistics
statistics/2                    Obtain collected statistics
stream_position/3               Get/seek to position in file
string/1                        Type check for string
string_concat/3                 concat/3 for strings (non-deterministic)
string_length/2                 Determine length of a string
string_to_atom/2                Conversion between string and atom
string_to_list/2                Conversion between string and list of ASCII
style_check/1                   Change level of warnings
sublist/3                       Determine elements that meet condition
subset/2                        Generate/check subset relation
substring/4                     Get part of a string
subtract/3                      Delete elements that do not meet condition
succ/2                           Logical integer successor relation
swritef/2                       Formatted write on a string
swritef/3                       Formatted write on a string

tab/1                            Output number of spaces
tab/2                            Output number of spaces on a stream
tell/1                           Change current output stream
telling/1                       Query current output stream
term_expansion/2                (hook) Convert term before compilation
term_to_atom/2                  Convert between term and atom
time/1                           Determine time needed to execute goal
time_file/2                     Get last modification time of file
tmp_file/2                      Create a temporary filename
told/0                           Close current output
trace/0                          Start the tracer
trace/1                          Set trace-point on predicate
trace/2                          Set/Clear trace-point on ports
tracing/0                       Query status of the tracer
trim_stacks/0                   Release unused memory resources
true/0                           Succeed
tty_get_capability/3           Get terminal parameter
tty_goto/2                      Goto position on screen
tty_put/2                       Write control string to terminal
ttyflush/0                      Flush output on terminal

union/3                          Union of two sets
unknown/2                       Trap undefined predicates
unload_foreign_library/1       library(shlib): Detach shared library (.so file)
unsetenv/1                      Delete shell environment variable
use_module/1                    Import a module
use_module/2                    Import predicates from a module

var/1                            Type check for unbound variable
visible/1                       Ports that are visible in the tracer
volatile/1{fx 1150}            Predicates that are not saved

wait_for_input/3                Wait for input with optional timeout
wildcard_match/2                Csh(1) style wildcard match
win_exec/2                      Win32: spawn Windows task
write/1                          Write term
write/2                          Write term to stream
write_ln/1                      Write term, followed by a newline
writef/1                        Formatted write
writef/2                        Formatted write on stream
writeq/1                        Write term, insert quotes
writeq/2                        Write term, insert quotes on stream


8.2  Arithmetic Functions

*  /2{yfx 400}                  Multiplication
** /2{xfx 200}                  Power function
+  /2{yfx 500}                  Addition
-  /1{ fx 500}                  Unary minus
-  /2{yfx 500}                  Subtraction
/  /2{yfx 400}                  Division
// /2{yfx 400}                  Integer division
/\ /2{yfx 500}                  Bitwise and
<< /2{yfx 400}                  Bitwise left shift
>> /2{yfx 400}                  Bitwise right shift
"C"/1 (list of one character)        Character code
\  /1{ fx 500}                  Bitwise negation
\/ /2{yfx 500}                  Bitwise or
^  /2{xfy 200}                  Power function
abs/1                            Absolute value
acos/1                           Inverse (arc) cosine
asin/1                           Inverse (arc) sine
atan/1                           Inverse (arc) tangent
atan/2                           Rectangular to polar conversion
ceil/1                           Smallest integer larger than arg
ceiling/1                       Smallest integer larger than arg
cos/1                            Cosine
cputime/0                       Get CPU time
e/0                              Mathematical constant
exp/1                            Exponent (base e)
float/1                          Explicitly convert to float
float_fractional_part/1        Fractional part of a float
float_integer_part/1           Integer part of a float
floor/1                          Largest integer below argument
integer/1                       Round to nearest integer
log/1                            Natural logarithm
log10/1                          10 base logarithm
max/2                            Maximum of two numbers
min/2                            Minimum of two numbers
mod/2{xfx 300}                  Remainder of division
random/1                        Generate random number
rem/2                            Remainder of division
round/1                          Round to nearest integer
truncate/1                      Truncate float to integer
pi/0                             Mathematical constant
sign/1                           Extract sign of value
sin/1                            Sine
sqrt/1                           Square root
tan/1                            Tangent
xor/2{yfx 400}                  Bitwise exclusive or


8.3  Operators

   1    fx  $                    Bind toplevel variable
 200  xfy  ^                    (1) Predicate
 200  xfy  ^                    (2) Arithmetic function
 300  xfx  mod                  Arithmetic function
 400  yfx  *                    Arithmetic function
 400  yfx  /                    Arithmetic function
 400  yfx  //                   Arithmetic function
 400  yfx  <<                   Arithmetic function
 400  yfx  >>                   Arithmetic function
 400  yfx  xor                  Arithmetic function
 500    fx  +                    Arithmetic function
 500    fx  -                    Arithmetic function
 500    fx  ?                    XPCE: obtainer
 500    fx  \                    Arithmetic function
 500  yfx  +                    Arithmetic function
 500  yfx  -                    Arithmetic function
 500  yfx  /\                   Arithmetic function
 500  yfx  \/                   Arithmetic function
 600  xfy  :                    module:term separator
 700  xfx  <                    Predicate
 700  xfx  =                    Predicate
 700  xfx  =..                  Predicate
 700  xfx  =:=                  Predicate
 700  xfx  =<                   Predicate
 700  xfx  ==                   Predicate
 700  xfx  =@=                  Predicate
 700  xfx  =\=                  Predicate
 700  xfx  >                    Predicate
 700  xfx  >=                   Predicate
 700  xfx  @<                   Predicate
 700  xfx  @=<                  Predicate
 700  xfx  @>                   Predicate
 700  xfx  @>=                  Predicate
 700  xfx  is                   Predicate
 700  xfx  \=                   Predicate
 700  xfx  \==                  Predicate
 700  xfx  \=@=                 Predicate
 900    fy  not                  Predicate
 900    fy  \+                   Predicate
1000  xfy  ,                    Predicate
1050  xfy  ->                   Predicate
1100  xfy  ;                    Predicate
1100  xfy  |                    Predicate
1150    fx  discontiguous       Predicate
1150    fx  dynamic              Predicate
1150    fx  module_transparent  Predicate
1150    fx  multifile           Predicate
1150    fx  volatile            Predicate
1150    fx  initialization      Predicate
1200    fx  :-                   Introduces a directive
1200    fx  ?-                   Introduces a directive
1200  xfx  -->                  DCGrammar: rewrite
1200  xfx  :-                   head :- body. separator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              usr/lib/swi-prolog/startup/                                                                          40755       0       0            0  6316547705  14240  5                                                                                                    ustar   root                            root                                                                                                                                                                                                                   usr/lib/swi-prolog/startup/startup                                                                  100644       0       0       161616  6316547705  16035  0                                                                                                    ustar   root                            root                                                                                                                                                                                                                   #!/bin/sh
# SWI-Prolog version: 2.8.0
# SWI-Prolog save-version: 31
exec ${SWIPL-/usr/local/pdm/debian/swi-prolog-2.8.0/src/pl} -x $0 "$@"
# End Header
SWI-Prolog (c) 1990 Jan Wielemaker
 @ > >  '$welcome' prolog .plrc /usr/local/pdm/debian/swi-prolog-2.8.0/ QF/usr/local/pdm/debian/swi-prolog-2.8.0/boot/init.pl 2sDt: user t$set_source_module v system Pop C@$@$C@%
	@$@ 
$op @ 

 C@(@ @! 	X Pdynamic C@+, 
	@$@  @! C@.@"
/ 	$strip_module 
@!
functor  

	 $set_predicate_attribute X Pmultifile C@3 

	@$@  @! C@6@"
 	 
@!
  

	  X Pmodule_transparent C@; 

	@$@  @! C@>@"
 	 
@!
  

	transparent  X Pdiscontiguous C@C 

	@$@  @! C@F@"
 	 
@!
  

	  X Pvolatile C@K 

	@$@  @! C@N@"
 	 
@!
  

	  X D@S t  t t 
t  t 
t  t 
t  t 
t  t 
t  t 
t $hide t $show_childs P @ C@d@  @!trace   X P @!C@l@  @!hide_childs   X D@t t  t t 
t ; t 
t | t 
t  t 
t call t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t ^ t 
t not t 
t \+ t 
t -> t 
t once t 
t ignore t 
t block t apply P @,C@@"@$@ @"X P @&C@ @1	@$@<
	@!@"@;
@"@9@ @"C@*-> 	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P @'C@ @1	@$@<
	@!@"@;
@"@9@ @"C@ @3	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P 
C@@"@ @"X P @(C@@"X P @(C@@ @#X P @(C@@ @!@#X P @(C@	@ @!
@#X P @(C@@ @!


@#X P @(C@
@ @!


@#X P @*C@
@?
@"@;
@@X P @+C@
@?
@"@;
@@X P @-C@@"@$X P @.C@@"@$C@ @KX P @0C@@ @%X P @)C@@ @"X P @/C@@ @"X P! C@@BX Pexit C@@ @CX Pfail C@@B@GX D@ t  t 
t @" @&t 
t @" @'t 
t @" t 
t @" @,t 
t @$ @)t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @*t 
t @$ @+t 
t @$ @-t 
t @$ @.t 
t @$ t 
t @$ @&t 
t @$ @'t 
t @$ @/t @$ @,P$prefix_module C@		@$C@  		@KX D@ t  t t 
t exception t prolog_event_hook D@ t  t t 
t  @Kt  @LDA t  tflag $verbose_autoload v off DAt  t @M$enable_autoload v on DAt  t @M$autoloading v  P$undefined_procedure CA  
	
 @I   @Kundefined_predicate 
	@"@$CA
@
retry  @Q @R @R @M@ @!
$find_library @ @!  @S+ 	 @M@<@F==  	
@;ensure_loaded 	 @?@9@3@< 
	$c_current_predicate @; 	import 
	              Read Prolog term
read/2                           Read Prolog term from stream
read_clause/1                   Read clause
read_clause/2                   Read clause from stream
read_history/6                  Read using history substitution
read_link/3                     Read a symbolic link
read_term/2                     Read term with options
read_term/3                     Read term with options from stream
read_variables/2                Read clause including variable names
read_variables/3                Read clause including variable names from stream
recorda/2                       Record term in the database (first)
recorda/3                       Record term in the database (first)
recorded/2                      Obtain term from the database
recorded/3                      Obtain term from the database
recordz/2                       Record term in the database (last)
recordz/3                       Record term in the database (last)
redefine_system_predicate/1    Abolish system definition
rename_file/2                   Change name of file
repeat/0                        Succeed, leaving infinite backtrack points
require/1                       This file requires these predicates
reset_profiler/0                Clear statistics obtained by the profiler
restore/1                       Restore saved-state (save/1, save_program/1)
retract/1                       Remove clause from the database
retractall/1                    Remove unifying clauses from the database
reverse/2                       Inverse the order of the elements in a list

same_file/2                     Succeeds if arguments refer to same file
save/1                           Save program including current goal
save/2                           Save program including current goal
save_program/1                  Save the current program on a file
save_program/2                  Save the current program on a file
see/1                            Change the current input stream
seeing/1                        Query the current input stream
seen/0                           Close the current input stream
select/3                        Select element of a list
set_feature/2                   Define a system feature
set_input/1                     Set current input stream from a stream
set_output/1                    Set current output stream from a stream
set_tty/2                       Set `tty' stream
setarg/3                        Destructive assignment on term
setenv/2                        Set shell environment variable
setof/3                          Find all unique solutions to a goal
sformat/2                       Format on a string
sformat/3                       Format on a string
shell/0                          Execute interactive subshell
shell/1                          Execute OS command
shell/2                          Execute OS command
show_profile/1                  Show results of the profiler
size_file/2                     Get size of a file in characters
skip/1                           Skip to character in current input
skip/2                           Skip to character on stream
rl_add_history/1                Add line to readline(3) history
rl_read_init_file/1            Read readline(3) init file
sleep/1                          Suspend execution for specified time
sort/2                           Sort elements in a list
source_file/1                   Examine currently loaded source files
source_file/2                   Obtain source file of predicate
source_location/2               Location of last read term
spy/1                            Force tracer on specified predicate
stack_parameter/4               Some systems: Query/Set runtime stack parameter
statistics/0                    Show execution statistics
statistics/2                    Obtain collected statistics
stream_position/3               Get/seek to position in file
string/1                        Type check for string
string_concat/3                 concat/3 for strings (non-deterministic)
string_length/2                 Determine length of a string
string_to_atom/2                Conversion between string and atom
string_to_list/2                Conversion between string and list of ASCII
style_check/1                   Change level of warnings
sublist/3                       Determine elements that meet condition
subset/2                        Generate/check subset relation
substring/4                     Get part of a string
subtract/3                      Delete elements that do not meet condition
succ/2                           Logical integer successor relation
swritef/2                       Formatted write on a string
swritef/3                       Formatted write on a string

tab/1                            Output number of spaces
tab/2                            Output number of spaces on a stream
tell/1                           Change current output stream
telling/1                       Query current output stream
term_expansion/2                (hook) Convert term before compilation
term_to_atom/2                  Convert between term and atom
time/1                           Determine time needed to execute goal
time_file/2                     Get last modification time of file
tmp_file/2                      Create a temporary filename
told/0                           Close current output
trace/0                          Start the tracer
trace/1                          Set trace-point on predicate
trace/2                          Set/Clear trace-point on ports
tracing/0                       Query status of the tracer
trim_stacks/0                   Release unused memory resources
true/0                           Succeed
tty_get_capability/3           Get terminal parameter
tty_goto/2                      Goto position on screen
tty_put/2                       Write control string to terminal
ttyflush/0                      Flush output on terminal

union/3                          Union of two sets
unknown/2                       Trap undefined predicates
unload_foreign_library/1       library(shlib): Detach shared library (.so file)
unsetenv/1                      Delete shell environment variable
use_module/1                    Import a module
use_module/2                    Import predicates from a module

var/1                            Type check for unbound variable
visible/1                       Ports that are visible in the tracer
volatile/1{fx 1150}            Predicates that are not saved

wait_for_input/3                Wait for input with optional timeout
wildcard_match/2                Csh(1) style wildcard match
win_exec/2                      Win32: spawn Windows task
write/1                          Write term
write/2                          Write term to stream
write_ln/1                      Write term, followed by a newline
writef/1                        Formatted write
writef/2                        Formatted write on stream
writeq/1                        Write term, insert quotes
writeq/2                        Write term, insert quotes on stream


8.2  Arithmetic Functions

*  /2{yfx 400}                  Multiplication
** /2{xfx 200}                  Power function
+  /2{yfx 500}                  Addition
-  /1{ fx 500}                  Unary minus
-  /2{yfx 500}                  Subtraction
/  /2{yfx 400}                  Division
// /2{yfx 400}                  Integer division
/\ /2{yfx 500}                  Bitwise and
<< /2{yfx 400}                  Bitwise left shift
>> /2{yfx 400}                  Bitwise right shift
"C"/1 (list of one character)        Character code
\  /1{ fx 500}                  Bitwise negation
\/ /2{yfx 500}                  Bitwise or
^  /2{xfy 200}                  Power function
abs/1                            Absolute value
acos/1                           Inverse (arc) cosine
asin/1                           Inverse (arc) sine
atan/1                           Inverse (arc) tangent
atan/2                           Rectangular to polar conversion
ceil/1                           Smallest integer larger than arg
ceiling/1                       Smallest integer larger than arg
cos/1                            Cosine
cputime/0                       Get CPU time
e/0                              Mathematical constant
exp/1                            Exponent (base e)
float/1                          Explicitly convert to float
float_fractional_part/1        Fractional part of a float
float_integer_part/1           Integer part of a float
floor/1                          Largest integer below argument
integer/1                       Round to nearest integer
log/1                            Natural logarithm
log10/1                          10 base logarithm
max/2                            Maximum of two numbers
min/2                            Minimum of two numbers
mod/2{xfx 300}                  Remainder of division
random/1                        Generate random number
rem/2                            Remainder of division
round/1                          Round to nearest integer
truncate/1                      Truncate float to integer
pi/0                             Mathematical constant
sign/1                           Extract sign of value
sin/1                            Sine
sqrt/1                           Square root
tan/1                            Tangent
xor/2{yfx 400}                  Bitwise exclusive or


8.3  Operators

   1    fx  $                    Bind toplevel variable
 200  xfy  ^                    (1) Predicate
 200  xfy  ^                    (2) Arithmetic function
 300  xfx  mod                  Arithmetic function
 400  yfx  *                    Arithmetic function
 400  yfx  /                    Arithmetic function
 400  yfx  //                   Arithmetic function
 400  yfx  <<                   Arithmetic function
 400  yfx  >>                   Arithmetic function
 400  yfx  xor                  Arithmetic function
 500    fx  +                    Arithmetic function
 500    fx  -                    Arithmetic function
 500    fx  ?                    XPCE: obtainer
 500    fx  \                    Arithmetic function
 500  yfx  +                    Arithmetic function
 500  yfx  -                    Arithmetic function
 500  yfx  /\                   Arithmetic function
 500  yfx  \/                   Arithmetic function
 600  xfy  :                    module:term separator
 700  xfx  <                    Predicate
 700  xfx  =                    Predicate
 700  xfx  =..                  Predicate
 700  xfx  =:=                  Predicate
 700  xfx  =<                   Predicate
 700  xfx  ==                   Predicate
 700  xfx  =@=                  Predicate
 700  xfx  =\=                  Predicate
 700  xfx  >                    Predicate
 700  xfx  >=                   Predicate
 700  xfx  @<                   Predicate
 700  xfx  @=<                  Predicate
 700  xfx  @>                   Predicate
 700  xfx  @>=                  Predicate
 700  xfx  is                   Predicate
 700  xfx  \=                   Predicate
 700  xfx  \==                  Predicate
 700  xfx  \=@=                 Predicate
 900    fy  not                  Predicate
 900    fy  \+                   Predicate
1000  xfy  ,                    Predicate
1050  xfy  ->                   Predicate
1100  xfy  ;                    Predicate
1100  xfy  |                    Predicate
1150    fx  discontiguous       Predicate
1150    fx  dynamic              Predicate
1150    fx  module_transparent  Predicate
1150    fx  multifile           Predicate
1150    fx  volatile            Predicate
1150    fx  initialization      Predicate
1200    fx  :-                   Introduces a directive
1200    fx  ?-                   Introduces a directive
1200  xfx  -->                  DCGrammar: rewrite
1200  xfx  :-                   head :- body. separator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              usr/lib/swi-prolog/startup/                                                                          40755       0       0            0  6316547705  14240  5                                                                                                    ustar   root                            root                                                                                                                                                                                                                   usr/lib/swi-prolog/startup/startup                                                                  100644       0       0       161616  6316547705  16035  0                                                                                                    ustar   root                            root                                                                                                                                                                                                                   #!/bin/sh
# SWI-Prolog version: 2.8.0
# SWI-Prolog save-version: 31
exec ${SWIPL-/usr/local/pdm/debian/swi-prolog-2.8.0/src/pl} -x $0 "$@"
# End Header
SWI-Prolog (c) 1990 Jan Wielemaker
 @ > >  '$welcome' prolog .plrc /usr/local/pdm/debian/swi-prolog-2.8.0/ QF/usr/local/pdm/debian/swi-prolog-2.8.0/boot/init.pl 2sDt: user t$set_source_module v system Pop C@$@$C@%
	@$@ 
$op @ 

 C@(@ @! 	X Pdynamic C@+, 
	@$@  @! C@.@"
/ 	$strip_module 
@!
functor  

	 $set_predicate_attribute X Pmultifile C@3 

	@$@  @! C@6@"
 	 
@!
  

	  X Pmodule_transparent C@; 

	@$@  @! C@>@"
 	 
@!
  

	transparent  X Pdiscontiguous C@C 

	@$@  @! C@F@"
 	 
@!
  

	  X Pvolatile C@K 

	@$@  @! C@N@"
 	 
@!
  

	  X D@S t  t t 
t  t 
t  t 
t  t 
t  t 
t  t 
t $hide t $show_childs P @ C@d@  @!trace   X P @!C@l@  @!hide_childs   X D@t t  t t 
t ; t 
t | t 
t  t 
t call t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t ^ t 
t not t 
t \+ t 
t -> t 
t once t 
t ignore t 
t block t apply P @,C@@"@$@ @"X P @&C@ @1	@$@<
	@!@"@;
@"@9@ @"C@*-> 	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P @'C@ @1	@$@<
	@!@"@;
@"@9@ @"C@ @3	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P 
C@@"@ @"X P @(C@@"X P @(C@@ @#X P @(C@@ @!@#X P @(C@	@ @!
@#X P @(C@@ @!


@#X P @(C@
@ @!


@#X P @*C@
@?
@"@;
@@X P @+C@
@?
@"@;
@@X P @-C@@"@$X P @.C@@"@$C@ @KX P @0C@@ @%X P @)C@@ @"X P @/C@@ @"X P! C@@BX Pexit C@@ @CX Pfail C@@B@GX D@ t  t 
t @" @&t 
t @" @'t 
t @" t 
t @" @,t 
t @$ @)t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @*t 
t @$ @+t 
t @$ @-t 
t @$ @.t 
t @$ t 
t @$ @&t 
t @$ @'t 
t @$ @/t @$ @,P$prefix_module C@		@$C@  		@KX D@ t  t t 
t exception t prolog_event_hook D@ t  t t 
t  @Kt  @LDA t  tflag $verbose_autoload v off DAt  t @M$enable_autoload v on DAt  t @M$autoloading v  P$undefined_procedure CA  
	
 @I   @Kundefined_predicate 
	@"@$CA
@
retry  @Q @R @R @M@ @!
$find_library @ @!  @S+ 	 @M@<@F==  	
@;ensure_loaded 	 @?@9@3@< 
	$c_current_predicate @; 	import 
	              Read Prolog term
read/2                           Read Prolog term from stream
read_clause/1                   Read clause
read_clause/2                   Read clause from stream
read_history/6                  Read using history substitution
read_link/3                     Read a symbolic link
read_term/2                     Read term with options
read_term/3                     Read term with options from stream
read_variables/2                Read clause including variable names
read_variables/3                Read clause including variable names from stream
recorda/2                       Record term in the database (first)
recorda/3                       Record term in the database (first)
recorded/2                      Obtain term from the database
recorded/3                      Obtain term from the database
recordz/2                       Record term in the database (last)
recordz/3                       Record term in the database (last)
redefine_system_predicate/1    Abolish system definition
rename_file/2                   Change name of file
repeat/0                        Succeed, leaving infinite backtrack points
require/1                       This file requires these predicates
reset_profiler/0                Clear statistics obtained by the profiler
restore/1                       Restore saved-state (save/1, save_program/1)
retract/1                       Remove clause from the database
retractall/1                    Remove unifying clauses from the database
reverse/2                       Inverse the order of the elements in a list

same_file/2                     Succeeds if arguments refer to same file
save/1                           Save program including current goal
save/2                           Save program including current goal
save_program/1                  Save the current program on a file
save_program/2                  Save the current program on a file
see/1                            Change the current input stream
seeing/1                        Query the current input stream
seen/0                           Close the current input stream
select/3                        Select element of a list
set_feature/2                   Define a system feature
set_input/1                     Set current input stream from a stream
set_output/1                    Set current output stream from a stream
set_tty/2                       Set `tty' stream
setarg/3                        Destructive assignment on term
setenv/2                        Set shell environment variable
setof/3                          Find all unique solutions to a goal
sformat/2                       Format on a string
sformat/3                       Format on a string
shell/0                          Execute interactive subshell
shell/1                          Execute OS command
shell/2                          Execute OS command
show_profile/1                  Show results of the profiler
size_file/2                     Get size of a file in characters
skip/1                           Skip to character in current input
skip/2                           Skip to character on stream
rl_add_history/1                Add line to readline(3) history
rl_read_init_file/1            Read readline(3) init file
sleep/1                          Suspend execution for specified time
sort/2                           Sort elements in a list
source_file/1                   Examine currently loaded source files
source_file/2                   Obtain source file of predicate
source_location/2               Location of last read term
spy/1                            Force tracer on specified predicate
stack_parameter/4               Some systems: Query/Set runtime stack parameter
statistics/0                    Show execution statistics
statistics/2                    Obtain collected statistics
stream_position/3               Get/seek to position in file
string/1                        Type check for string
string_concat/3                 concat/3 for strings (non-deterministic)
string_length/2                 Determine length of a string
string_to_atom/2                Conversion between string and atom
string_to_list/2                Conversion between string and list of ASCII
style_check/1                   Change level of warnings
sublist/3                       Determine elements that meet condition
subset/2                        Generate/check subset relation
substring/4                     Get part of a string
subtract/3                      Delete elements that do not meet condition
succ/2                           Logical integer successor relation
swritef/2                       Formatted write on a string
swritef/3                       Formatted write on a string

tab/1                            Output number of spaces
tab/2                            Output number of spaces on a stream
tell/1                           Change current output stream
telling/1                       Query current output stream
term_expansion/2                (hook) Convert term before compilation
term_to_atom/2                  Convert between term and atom
time/1                           Determine time needed to execute goal
time_file/2                     Get last modification time of file
tmp_file/2                      Create a temporary filename
told/0                           Close current output
trace/0                          Start the tracer
trace/1                          Set trace-point on predicate
trace/2                          Set/Clear trace-point on ports
tracing/0                       Query status of the tracer
trim_stacks/0                   Release unused memory resources
true/0                           Succeed
tty_get_capability/3           Get terminal parameter
tty_goto/2                      Goto position on screen
tty_put/2                       Write control string to terminal
ttyflush/0                      Flush output on terminal

union/3                          Union of two sets
unknown/2                       Trap undefined predicates
unload_foreign_library/1       library(shlib): Detach shared library (.so file)
unsetenv/1                      Delete shell environment variable
use_module/1                    Import a module
use_module/2                    Import predicates from a module

var/1                            Type check for unbound variable
visible/1                       Ports that are visible in the tracer
volatile/1{fx 1150}            Predicates that are not saved

wait_for_input/3                Wait for input with optional timeout
wildcard_match/2                Csh(1) style wildcard match
win_exec/2                      Win32: spawn Windows task
write/1                          Write term
write/2                          Write term to stream
write_ln/1                      Write term, followed by a newline
writef/1                        Formatted write
writef/2                        Formatted write on stream
writeq/1                        Write term, insert quotes
writeq/2                        Write term, insert quotes on stream


8.2  Arithmetic Functions

*  /2{yfx 400}                  Multiplication
** /2{xfx 200}                  Power function
+  /2{yfx 500}                  Addition
-  /1{ fx 500}                  Unary minus
-  /2{yfx 500}                  Subtraction
/  /2{yfx 400}                  Division
// /2{yfx 400}                  Integer division
/\ /2{yfx 500}                  Bitwise and
<< /2{yfx 400}                  Bitwise left shift
>> /2{yfx 400}                  Bitwise right shift
"C"/1 (list of one character)        Character code
\  /1{ fx 500}                  Bitwise negation
\/ /2{yfx 500}                  Bitwise or
^  /2{xfy 200}                  Power function
abs/1                            Absolute value
acos/1                           Inverse (arc) cosine
asin/1                           Inverse (arc) sine
atan/1                           Inverse (arc) tangent
atan/2                           Rectangular to polar conversion
ceil/1                           Smallest integer larger than arg
ceiling/1                       Smallest integer larger than arg
cos/1                            Cosine
cputime/0                       Get CPU time
e/0                              Mathematical constant
exp/1                            Exponent (base e)
float/1                          Explicitly convert to float
float_fractional_part/1        Fractional part of a float
float_integer_part/1           Integer part of a float
floor/1                          Largest integer below argument
integer/1                       Round to nearest integer
log/1                            Natural logarithm
log10/1                          10 base logarithm
max/2                            Maximum of two numbers
min/2                            Minimum of two numbers
mod/2{xfx 300}                  Remainder of division
random/1                        Generate random number
rem/2                            Remainder of division
round/1                          Round to nearest integer
truncate/1                      Truncate float to integer
pi/0                             Mathematical constant
sign/1                           Extract sign of value
sin/1                            Sine
sqrt/1                           Square root
tan/1                            Tangent
xor/2{yfx 400}                  Bitwise exclusive or


8.3  Operators

   1    fx  $                    Bind toplevel variable
 200  xfy  ^                    (1) Predicate
 200  xfy  ^                    (2) Arithmetic function
 300  xfx  mod                  Arithmetic function
 400  yfx  *                    Arithmetic function
 400  yfx  /                    Arithmetic function
 400  yfx  //                   Arithmetic function
 400  yfx  <<                   Arithmetic function
 400  yfx  >>                   Arithmetic function
 400  yfx  xor                  Arithmetic function
 500    fx  +                    Arithmetic function
 500    fx  -                    Arithmetic function
 500    fx  ?                    XPCE: obtainer
 500    fx  \                    Arithmetic function
 500  yfx  +                    Arithmetic function
 500  yfx  -                    Arithmetic function
 500  yfx  /\                   Arithmetic function
 500  yfx  \/                   Arithmetic function
 600  xfy  :                    module:term separator
 700  xfx  <                    Predicate
 700  xfx  =                    Predicate
 700  xfx  =..                  Predicate
 700  xfx  =:=                  Predicate
 700  xfx  =<                   Predicate
 700  xfx  ==                   Predicate
 700  xfx  =@=                  Predicate
 700  xfx  =\=                  Predicate
 700  xfx  >                    Predicate
 700  xfx  >=                   Predicate
 700  xfx  @<                   Predicate
 700  xfx  @=<                  Predicate
 700  xfx  @>                   Predicate
 700  xfx  @>=                  Predicate
 700  xfx  is                   Predicate
 700  xfx  \=                   Predicate
 700  xfx  \==                  Predicate
 700  xfx  \=@=                 Predicate
 900    fy  not                  Predicate
 900    fy  \+                   Predicate
1000  xfy  ,                    Predicate
1050  xfy  ->                   Predicate
1100  xfy  ;                    Predicate
1100  xfy  |                    Predicate
1150    fx  discontiguous       Predicate
1150    fx  dynamic              Predicate
1150    fx  module_transparent  Predicate
1150    fx  multifile           Predicate
1150    fx  volatile            Predicate
1150    fx  initialization      Predicate
1200    fx  :-                   Introduces a directive
1200    fx  ?-                   Introduces a directive
1200  xfx  -->                  DCGrammar: rewrite
1200  xfx  :-                   head :- body. separator
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              usr/lib/swi-prolog/startup/                                                                          40755       0       0            0  6316547705  14240  5                                                                                                    ustar   root                            root                                                                                                                                                                                                                   usr/lib/swi-prolog/startup/startup                                                                  100644       0       0       161616  6316547705  16035  0                                                                                                    ustar   root                            root                                                                                                                                                                                                                   #!/bin/sh
# SWI-Prolog version: 2.8.0
# SWI-Prolog save-version: 31
exec ${SWIPL-/usr/local/pdm/debian/swi-prolog-2.8.0/src/pl} -x $0 "$@"
# End Header
SWI-Prolog (c) 1990 Jan Wielemaker
 @ > >  '$welcome' prolog .plrc /usr/local/pdm/debian/swi-prolog-2.8.0/ QF/usr/local/pdm/debian/swi-prolog-2.8.0/boot/init.pl 2sDt: user t$set_source_module v system Pop C@$@$C@%
	@$@ 
$op @ 

 C@(@ @! 	X Pdynamic C@+, 
	@$@  @! C@.@"
/ 	$strip_module 
@!
functor  

	 $set_predicate_attribute X Pmultifile C@3 

	@$@  @! C@6@"
 	 
@!
  

	  X Pmodule_transparent C@; 

	@$@  @! C@>@"
 	 
@!
  

	transparent  X Pdiscontiguous C@C 

	@$@  @! C@F@"
 	 
@!
  

	  X Pvolatile C@K 

	@$@  @! C@N@"
 	 
@!
  

	  X D@S t  t t 
t  t 
t  t 
t  t 
t  t 
t  t 
t $hide t $show_childs P @ C@d@  @!trace   X P @!C@l@  @!hide_childs   X D@t t  t t 
t ; t 
t | t 
t  t 
t call t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t  @(t 
t ^ t 
t not t 
t \+ t 
t -> t 
t once t 
t ignore t 
t block t apply P @,C@@"@$@ @"X P @&C@ @1	@$@<
	@!@"@;
@"@9@ @"C@*-> 	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P @'C@ @1	@$@<
	@!@"@;
@"@9@ @"C@ @3	@$@I
	@!@"@J
@"@9@ @"C@
@8@"@9@ @"X P 
C@@"@ @"X P @(C@@"X P @(C@@ @#X P @(C@@ @!@#X P @(C@	@ @!
@#X P @(C@@ @!


@#X P @(C@
@ @!


@#X P @*C@
@?
@"@;
@@X P @+C@
@?
@"@;
@@X P @-C@@"@$X P @.C@@"@$C@ @KX P @0C@@ @%X P @)C@@ @"X P @/C@@ @"X P! C@@BX Pexit C@@ @CX Pfail C@@B@GX D@ t  t 
t @" @&t 
t @" @'t 
t @" t 
t @" @,t 
t @$ @)t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @(t 
t @$ @*t 
t @$ @+t 
t @$ @-t 
t @$ @.t 
t @$ t 
t @$ @&t 
t @$ @'t 
t @$ @/t @$ @,P$prefix_module C@		@$C@  		@KX D@ t  t t 
t exception t prolog_event_hook D@ t  t t 
t  @Kt  @LDA t  tflag $verbose_autoload v off DAt  t @M$enable_autoload v on DAt  t @M$autoloading v  P$undefined_procedure CA  
	
 @I   @Kundefined_predicate 
	@"@$CA
@
retry  @Q @R @R @M@ @!
$find_library @ @!  @S+ 	 @M@<@F==  	
@;ensure_loaded 	 @?@9@3@< 
	$c_current_predicate @; 	import 
	              Read Prolog term
read/2                           Read Prolog term from stream
read_clause/1                   Read clause
read_clause/2                   Read clause from stream
read_history/6                  Read using history substitution
read_link/3                     Read a symbolic link
read_term/2                     Read term with options
read_term/3                     Read term with options from stream
read_variables/2                Read clause including variable names
read_variables/3                Read clause including variable names from stream
recorda/2                       Record term in the database (first)
recorda/3                       Record term in the database (first)
recorded/2                      Obtain term from the database
recorded/3                      Obtain term from the database
recordz/2                       Record term in the database (last)
recordz/3                       Record term in the database (last)
redefine_system_predicate/1    Abolish system definition
rename_file/2                   Change name of file
repeat/0                        Succeed, leaving infinite backtrack points
require/1                       This file requires these predicates
reset_profiler/0                Clear statistics obtained by the profiler
restore/1                       Restore saved-state (save/1, save_program/1)
retract/1                       Remove clause from the database
retractall/1                    Remove unifying clauses from the database
reverse/2                       Inverse the order of the elements in a list

same_file/2                     Succeeds if arguments refer to same file
save/1                           Save program including current goal
save/2                           Save program including current goal
save_program/1                  Save the current program on a file
save_program/2                  Save the current program on a file
see/1                            Change the current input stream
seeing/1                        Query the current input stream
seen/0                           Close the current input stream
select/3                        Select element of a list
set_feature/2                   Define a system feature
set_input/1                     Set current input stream from a stream
set_output/1                    Set current output stream from a stream
set_tty/2                       Set `tty' stream
setarg/3                        Destructive assignment on term
setenv/2                        Set shell environment variable
setof/3                          Find all unique solutions to a goal
sformat/2                       Format on a string
sformat/3                       Format on a string
shell/0                          Execute interactive subshell
shell/1                          Execute OS command
shell/2                          Execute OS command
show_profile/1                  Show results of the profiler
size_file/2                     Get size of a file in characters
skip/1                           Skip to character in current input
skip/2                           Skip to character on stream
rl_add_history/1                Add line to readline(3) history
rl_read_init_file/1            Read readline(3) init file
sleep/1                          Suspend execution for specified time
sort/2                           Sort elements in a list
source_file/1                   Examine currently loaded source files
source_file/2                   Obtain source file of predicate
source_location/2               Location of last read term
spy/1                            Force tracer on specified predicate
stack_parameter/4               Some systems: Query/Set runtime stack parameter
statistics/0                    Show execution statistics
statistics/2                    Obtain collected statistics
stream_position/3               Get/seek to position in file
string/1                        Type check for string
string_concat/3                 concat/3 for strings (non-deterministic)
string_length/2                 Determine length of a string
string_to_atom/2                Conversion between string and atom
string_to_list/2                Conversion between string and list of ASCII
style_check/1                   Change level of warnings
sublist/3                       Determine elements that meet condition
subset/2                        Generate/check subset relation
substring/4                     Get part of a string
subtract/3                      Delete elements that do not meet condition
succ/2                           Logical integer successor relation
swritef/2                       Formatted write on a string
swritef/3                       Formatted write on a string

tab/1                            Output number of spaces
tab/2                            Output number of spaces on a stream
tell/1                           Change current output stream
telling/1                       Query current output stream
term_expansion/2                (hook) Convert term before compilation
term_to_atom/2                  Convert between term and atom
time/1                           Determine time needed to execute goal
time_file/2                     Get last modification time of file
tmp_file/2                      Create a temporary filename
told/0                           Close current output
trace/0                          Start the tracer
trace/1                          Set trace-point on predicate
trace/2                          Set/Clear trace-point on ports
tracing/0                       Query status of the tracer
trim_stacks/0                   Release unused memory resources
true/0                           Succeed
tty_get_capability/3           Get terminal parameter
tty_goto/2                      Goto position on screen
tty_put/2                       Write control string to terminal
ttyflush/0                      Flush output on terminal

union/3                          Union of two sets
unknown/2                       Trap undefined predicates
unload_foreign_library/1       library(shlib): Detach shared library (.so file)
unsetenv/1                      Delete shell enviro