@xamidi/pmGenerator
This tool can collect exhaustive sets of condensed detachment proofs in D-N-notation and has various functions to display, analyze and utilize them. It can, for example, be used to generate improved versions of Metamath's “Shortest known proofs of the propositional calculus theorems from Principia Mathematica” collection.
The D-rule combines unification with modus ponens (⊢p,⊢Cpq ⇒ ⊢q), and there is an option to enable the N-rule (rule of necessitation; ⊢p ⇒ ⊢Lp), thus pmGenerator covers all syntactic consequences within Hilbert systems based on modus ponens and necessitation, each with a minimal proof, limited only by computing power.
There is a discussion forum for questions, ideas, challenges, and related information.
Eligible for high-performance computing. If you have access to a powerful computer, you may use pmGenerator to further contribute to our knowledge regarding the complexity of proof systems. Progress that has already been made is exemplarily shown below.
Frege's calculus simplified by Łukasiewicz (CpCqp,CCpCqrCCpqCpr,CCNpNqCqp) [top1000] [cardinalities] [db] [customization info]
Data
Measured RAM requirements correspond to the maximum resident set size according to Slurm, i.e. MaxRSS
of sacct.
Required resources vary based on implementation and environment; numbers are to illustrate orders of magnitude.
Some more – and very special – proof systems are illustrated further down below.
Usage
pmGenerator ( <configuring command> | <composable command> )+ | <configuring command>* <standalone command>
Configuring:
-c [-i <file>] [-s <string>] [-n] [-N <limit or -1>] [-l] [-e <id>] [-d]
Proof system customization ; Generates a SHA-512/224 hash to identify the system, sets the effective data location to "<data location>/<hash>", and (if nonexisting) creates the !.def file.
-i: specify axioms by input file path (where a LF-separated string of axioms is stored), ignoring lines that are empty or starting with '%'
-s: specify axioms by comma-separated string ; used only when '-i' unspecified ; default: "C0C1.0,CC0C1.2CC0.1C0.2,CCN0N1C1.0"
-n: specify formulas in normal Polish notation (e.g. "CpCqp"), not with numeric variables (e.g. "C0C1.0")
-N: enable necessitation rule "N" for the given system with unlimited (-N 0) or limited (-N <positive amount>) consecutive necessitation steps allowed
-l: disable lazy N-rule parsing ; parse proofs Nα:Lβ despite knowing α:β (requires more time but less memory)
-e: specify extracted system with the given identifier
-d: default system ; ignore all other arguments except '-e'
Composable:
-g <limit or -1> [-u] [-q <limit or -1>] [-l <limit or -1>] [-k <limit or -1>] [-b] [-f] [-s]
Generate proof files ; at ./data/[<hash>/]/dProofs-withConclusions/ when '-s' unspecified ; otherwise at ./data/[<hash>/]/dProofs-withoutConclusions/
-u: unfiltered (significantly faster, but generates redundant proofs)
-q: limit number of proof candidate strings queued per worker thread (may lower memory requirements for systems with low acceptance rates) ; default: 50
-l: limit symbolic length of generated conclusions to at most the given number ; works only in extracted environments ; recommended to use in combination with '-q' to save memory
-k: similar to '-l' ; limit symbolic length of consequents in generated conclusions, i.e. antecedents in conditionals are not limited (but non-conditionals are limited in full length)
-b: brief parsing ; append conclusion structures to D-proof processing and use them for rule evaluation (collects faster, but requires significantly more memory)
-f: full parsing ; parse entire D-proofs rather than using conclusion strings for rule evaluation ; used only when '-b' unspecified
-s: proof files without conclusions, requires additional parsing ; entails '-f' ; used only when '-b' unspecified
-r <D-proof database> <output file> [-l <path>] [-i <prefix>] [-s] [-d]
Replacements file creation based on proof files
-l: customize data location path ; default: "data"
-i: customize input file path prefix in data location ; default: "dProofs-withConclusions/dProofs"
-s: proof files without conclusions, requires additional parsing ; sets default input file path prefix to "dProofs-withoutConclusions/dProofs"
-d: print debug information
-a <initials> <replacements file> <D-proof database> <output file> [-s] [-l] [-w] [-d]
Apply replacements file
-s: style all proofs (replace proofs with alphanumerically smaller variants)
-l: list all proofs (i.e. not only modified proofs)
-w: wrap results
-d: print debug information
--parse <string> [-n] [-u] [-j <limit or -1>] [-b] [-s] [-e] [-f] [-o <output file>] [-d]
Parse and print proofs given by a comma-separated string
-n: print formulas in normal Polish notation (e.g. "CpCqp"), not with numeric variables (e.g. "C0C1.0")
-u: print formulas in infix notation with operators as Unicode characters ; used only when '-n' unspecified
-j: join common subproofs together when they are used at least a given amount of times ; default: 2
-b: only print conclusions of the given proofs ; sets default of '-j' to 1
-s: only print summary with conclusions and abstract condensed detachment proofs ; used only when '-b' unspecified
-e: keep expanded proof strings ; show fully detailed condensed detachment proofs rather than allowing them to contain references ; used only when '-b' unspecified
-f: proofs are given by input file path (where a comma-separated string is stored), ignoring all CR, LF, whitespace, and lines starting with '%'
-o: redirect the result's output to the specified file
-d: print debug information
--transform <string> [-s <string>] [-j <limit or -1>] [-p <limit or -1>] [-n] [-u] [-t <string>] [-e] [-i <limit or -1>] [-l <limit or -1>] [-b] [-w] [-z] [-y] [-f] [-o <output file>] [-d]
Transform proof summary (as by '--parse [...] -s') into recombined variant ; ignores configured system (proof summaries provide their own axioms) ; "," represents LF
-s: list a subproof with its conclusion if it occurs in the given comma-separated list of conclusions
-j: join common subproofs together when they are used at least a given amount of times ; default: 2
-p: only keep subproofs with primitive lengths not exceeding the given limit ; default: -1
-n: specify and print formulas in normal Polish notation (e.g. "CpCqp"), not with numeric variables (e.g. "C0C1.0")
-u: print formulas in infix notation with operators as Unicode characters ; does not affect input format (for which '-n' can still be specified)
-t: only transform proofs of specified theorems (proven by subsequences of the input), given by a comma-separated string ; "." to keep all conclusions ; default: final theorem only
-e: keep expanded proof strings ; show fully detailed condensed detachment proofs rather than allowing them to contain references
-i: decrease memory requirements but increase time consumption by not storing intermediate unfoldings that exceed a certain length ; default: -1
-l: abort computation when combined requested proof sequences exceed the given limit in bytes ; default: 134217728 (i.e. 128 MiB)
-b: duplicate conclusion removal ; replace each given subproof that has a redundant conclusion with its first shortest alternative and remove duplicates ; beneficial in preparing '-z'
-w: read input without conclusions given
-z: proof compression ; find and remove internal redundancies (e.g. non-trivial parts not affecting intermediate theorems) by attempting to use shorter owned subproofs at all positions
-y: disable multi-threaded D-rule replacement search in case proof compression is performed (enables deterministic solution procedure)
-f: proof summary is given by input file path ; ignores lines that are empty or starting with '%'
-o: redirect the result's output to the specified file
-d: print debug information
--unfold <string> [-n] [-t <string>] [-i <limit or -1>] [-l <limit or -1>] [-w] [-v] [-f] [-o <output file>] [-d]
Break down proof summary (as by '--parse [...] -s') into primitive steps ; ignores configured system (proof summaries provide their own axioms) ; "," represents LF
-n: specify formulas in normal Polish notation (e.g. "CpCqp"), not with numeric variables (e.g. "C0C1.0")
-t: obtain proofs of specified theorems (proven by subsequences of the input), given by a comma-separated string ; "." to obtain a proof for each conclusion ; default: final theorem only
-i: decrease memory requirements but increase time consumption by not storing intermediate unfoldings that exceed a certain length ; default: -1
-l: abort computation when combined requested proof sequences exceed the given limit in bytes ; default: 134217728 (i.e. 128 MiB)
-w: wrap results
-v: read input without conclusions given
-f: proof summary is given by input file path ; ignores lines that are empty or starting with '%'
-o: redirect the result's output to the specified file
-d: print debug information
--search <string> [-n] [-s] [-w] [-t] [-p] [-f] [-d]
Search in proof files at ./data/[<hash>/]/dProofs-withConclusions/ via comma-separated string of full formulas or full proofs ; [Hint: Generate missing files with '--variate 1 -s'.]
-n: specify formulas in normal Polish notation (e.g. "CpCqp"), not with numeric variables (e.g. "C0C1.0")
-s: search for schemas of the given formulas
-w: search whole collections of schemas (i.e. enable multiple results per term) ; entails '-s'
-t: search for formulas of the given schemas (allows multiple results per term) ; used only when '-s' unspecified
-p: search proofs (rather than conclusions) ; used only when '-n', '-s' and '-t' unspecified
-f: search terms are given by input file path (where a comma-separated string is stored), ignoring all CR, LF, whitespace, and lines starting with '%'
-d: print debug information
--extract [-t <limit or -1>] [-o <output file>] [-s] [-z] [-# <amount up to 35>] [-h <string>] [-l <limit or -1>] [-k <limit or -1>] [-f] [-d]
Various options to extract information from proof files ; [Hint: Generate missing files with '--variate 1 -s'.]
-t: compose file with up to the given amount of smallest conclusions that occur in proof files ; includes origins, symbolic lengths, proofs, and formulas in normal Polish notation
-o: specify output file path for '-t' ; relative to effective data location ; default: "top<amount>SmallestConclusions_<min proof length>to<max proof length>Steps<unfiltered info>.txt"
-s: redundant schema removal for '-t' ; very time-intensive for requesting huge collections from unfiltered proof files - better pre-filter via '-g' or '-m' instead ; default: false
-z: force redundant schema removal for '-t' ; like '-s', but also filter proof files not declared as unfiltered (which might be useful for non-standard procedures)
-#: initialize proof system at ./data/[<hash>/]/extraction-<id>/ with the given amount of smallest filtered conclusions that occur in proof files ; specify with '-c <parent system> -e <id>'
-h: similar to '-#' ; hand-pick conclusions with a comma-separated string of proofs ; "." to not modify axioms
-l: similar to '-#' (but creates identical system with prebuilt proof files) ; copy proofs with conclusions that have symbolic lengths of at most the given number
-k: similar to '-l' ; copy proofs with conclusions that have consequents or are non-conditionals of symbolic lengths of at most the given number ; can be combined with '-l'
-f: proofs for '-h' are given by input file path (where a comma-separated string is stored), ignoring all CR, LF, whitespace, and lines starting with '%'
-d: print debug information
--assess [-u] [-s] [-d]
Print proof file cardinalities, numbers of proof candidates for all generation steps up to the next one, and all stored and estimated next removal amounts (to assess generation expenditures)
-u: use unfiltered proof files
-s: use proof files without conclusions
-d: print debug information
--iterate [-u] [-s]
Iterate proof candidates currently next up for generation and print their amount (for resource consumption measurements)
-u: use unfiltered proof files
-s: use proof files without conclusions
--variate ( 0 | 1 ) [-l <path>] [-i <prefix>] [-o <prefix>] [-s] [-d]
Create proof files with removed (--variate 0) or added (--variate 1) conclusions from in-memory data and proof files of the other variant
-l: customize data location path ; default: "data"
-i: customize input file path prefix in data location ; default: "dProofs-withConclusions/dProofs" or "dProofs-withoutConclusions/dProofs"
-o: customize output file path prefix in data location ; default: "dProofs-withoutConclusions/dProofs" or "dProofs-withConclusions/dProofs"
-s: only use data stored in-memory
-d: print debug information
--plot [-l <path>] [-i <prefix>] [-s] [-t] [-x <limit or -1>] [-y <limit or -1>] [-o <output file>] [-d]
Print conclusion length plot data
-l: customize data location path ; default: "data"
-i: customize input file path prefix in data location ; requires files with conclusions ; default: "dProofs-withConclusions/dProofs"
-s: measure symbolic length (in contrast to conclusion representation length)
-u: include unfiltered proof files
-t: table arrangement, one data point per row
-x: upper horizontal limit
-y: upper vertical limit
-o: print to given output file
-d: print debug information
Standalone:
-m <limit> [-s]
MPI-based multi-node filtering (-m <n>) of a first unfiltered proof file (with conclusions) at ./data/[<hash>/]dProofs-withConclusions/dProofs<n>-unfiltered<n>+.txt. Creates dProofs<n>.txt.
-s: disable smooth progress mode (lowers memory requirements, but makes terrible progress predictions)
Examples
pmGenerator -g -1 -q 50
pmGenerator -g 19 -g 21 -u -r data/pmproofs-old.txt data/pmproofs-reducer.txt -d -a SD data/pmproofs-reducer.txt data/pmproofs-old.txt data/pmproofs-result-styleAll-modifiedOnly.txt -s -w -d
pmGenerator --variate 0 -l data/ -o "dProofs-withoutConclusions (all)/dProofs" -d
pmGenerator --variate 1 -s --search CNpCCNpqNp -n -d --search CNpCCNpqNp -n -s
pmGenerator --variate 1 -s --search CCNpCpqCNpCpq,CCCCppCppCCCppCppCNCCqqCqqCCCqqCqqCCqqCqqCCCppCppCNCCqqCqqCCCqqCqqCCqqCqq -n -w -d
pmGenerator --plot -s -d --plot -s -t -x 50 -y 100 -o data/plot_data_x50_y100.txt
pmGenerator -c -N -1 -n -s CpCqp,CCpCqrCCpqCpr,CCNpNqCqp,CLpp,CLCpqCLpLq,CNLNpLNLNp --parse DD2D16DD2DD2D13DD2D1D2DD2D1D2D1DD2DD2D13D1DD2DD2D13DD2D13114DD2D13DD2D1311D3DD2DD2D13DD2D1311 -j 2 -n
pmGenerator --parse DD2D11DD2D13DD2D1DD22D11DD2D11DD2D131 -n -s -o data/CNCpNqCrCsq.txt --transform data/CNCpNqCrCsq.txt -f -n -j 1 -e --transform data/CNCpNqCrCsq.txt -f -n -t CNCpNqCrq -d
pmGenerator --unfold CpCqp=1,CCpCqrCCpqCpr=2,CCNpNqCqp=3,[0]CCpCNqNrCpCrq:D2D13,[1]Cpp:DD211,[2]NCCppNCqq:DD3DD2DD2D[0]D[0]11D1[1][1] -n -t CNNpp,NCCppNCqq
pmGenerator --transform data/m.txt -f -n -t CpCqp,CCpCqrCCpqCpr,CCNpNqCqp,Cpp,CCpqCCqrCpr,CCNppp,CpCNpq -j -1 -p -2 -d
pmGenerator -c -s CCCCC0.1CN2N3.2.4CC4.0C3.0 -g 35 --plot -s -t -x 50 -y 100 -o data/478804cd4793bc7f87041d99326aff4595662146d8a68175dda22bed/plot_data_x50_y100.txt
pmGenerator -c -n -s CCCCCpqCNrNsrtCCtpCsp --search CpCqp,CCpCqrCCpqCpr,CCNpNqCqp -n
pmGenerator --variate 1 -s --extract -t 1000 -s -d
pmGenerator --variate 1 -s --extract -# 35 -d -c -d -e 0
pmGenerator -m 17 -s
Multi-node Computing
For MPI-based filtering, each spawned process is multi-threaded and attempts to use as many threads as the hardware specifies as concurrent. Therefore, it is ideal to spawn the same amount of processes and nodes.
The following exemplary Slurm batch script has been used via sbatch in order to reduce dProofs31‑unfiltered31+.txt
to dProofs31.txt
.
#!/bin/zsh
#SBATCH --job-name=pmGen-20
#SBATCH --output=output_%J.txt
#SBATCH --partition=c18m
#SBATCH --account=rwth1392
#SBATCH --time=3-00:00:00
#SBATCH --mem-per-cpu=3900M
#SBATCH --cpus-per-task=48
#SBATCH --mail-user=<email>
#SBATCH --mail-type=END,FAIL,TIME_LIMIT
## Number of nodes to use ; Also update #processes (via srun)!
#SBATCH --nodes=6
srun -n 6 ./pmGenerator -m 31
A subsequent query with squeue would then reveal the following information:
$ squeue -o "%.9i %.8j %.9P %.11a %.8u %.5C %.5D %.10T %.10M %.10l %.19S %R" -u <userID>
JOBID NAME PARTITION ACCOUNT USER CPUS NODES STATE TIME TIME_LIMIT START_TIME NODELIST(REASON)
34762453 pmGen-20 c18m rwth1392 <userID> 288 6 RUNNING 3:34 3-00:00:00 2023-05-04T07:52:24 ncm[0297,0306-0307,0315,0320-0321]
You may have a look at the log file generated by that computation.
Navigation
- C++20 branch (master)
- C++11 branch (version 1.2.0, discontinued)
- Mirror repository (on Codeberg.org)
Custom Proof Systems
There are illustrated seven proof systems in the following which according to M. Walsh and B. Fitelson are minimal 1-bases (i.e. generators consisting of shortest single axioms) for propositional logic.
Their only remaining candidate CCCpqCCrNsCtNtCCtpCrp can be refuted since pmGenerator -c -n -s CCCpqCCrNsCtNtCCtpCrp -g -1
produces only 9 more representatives (1.D11:CCpCNpqCrCNpq
, 2.D1D11:CCNppCqp
, 3.D1D1D11:CCpNCpNpCqNCpNp
, 4.DD11D11:CpCNCqCNqrCNqr
, 5.DD11D1D11:CpCNCNqqq
, 6.DDD11D111:CNCpCNpqCNpq
, 7.DD11D1D1D11:CpCNCqNCqNqNCqNq
, 8.DDD11D1D111:CNCNppp
, 9.DDD11D1D1D111:CNCpNCpNpNCpNp
).
Therefore, these systems are implied to be the only minimal 1-bases for C-N propositional calculus.
Target files are distinguished using a hexadecimal SHA-512/224 digest as a folder name for each proof system.
For user identification of hash folders, I recommend to use custom icons, such as illustrated below.
For this purpose, a favicon database (ico.dll
) is included in the release files, as well as an archive (ico.7z
) with all the .ico
files for usability with non-Windows operating systems.
Meredith's Axiom; 1-basis (CCCCCpqCNrNsrtCCtpCsp) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs67.txt✻ | 2 422 110 008 | 5500.48 | 7.77 | 10.00 | 1.6992... |
dProofs69.txt✻ | 4 114 534 716 | 15432.96 | 12.79 | 17.07 | 1.6982... |
dProofs71‑unfiltered71+.txt | 8 383 545 010 | 148.71 | 25.06 | 47.19 | 2.5224... |
dProofs73‑unfiltered71+.txt | 17 073 991 605 | 254.48 | 50.85 | 93.84 | 2.0357... |
dProofs75‑unfiltered71+.txt | 32 986 029 883 | 372.08 | 97.22 | 172.29 | 1.8309... |
dProofs77‑unfiltered71+.txt✻ | 62 426 542 480 | 742.28 | 181.43 | 304.37 | 1.8502... |
dProofs79‑unfiltered71+.txt✻ | 118 604 053 297 | 1578.13 | 339.19 | 550.39 | 1.9081... |
dProofs81‑unfiltered71+.txt✻ | 226 927 343 615 | 2896.16 | 635.64 | 1003.84 | 1.9282... |
dProofs83‑unfiltered71+.txt✻ | 434 504 849 685 | 5380.80 | 1196.78 | 1846.46 | 1.9162... |
Walsh's 1st Axiom; 1-basis (CCpCCNpqrCsCCNtCrtCpt) [top1000] [cardinalities] [sample] [info]
Data
Walsh's 2nd Axiom; 1-basis (CpCCqCprCCNrCCNstqCsr) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs35.txt✻ | 4 428 081 090 | 1335.68 | 8.56 | 12.14 | 3.0420... |
dProofs37.txt✻ | 13 474 726 258 | 11637.12 | 26.82 | 36.16 | 3.0433... |
dProofs39‑unfiltered39+.txt | 41 176 907 064 | 139.36 | 81.00 | 99.42 | 3.0621... |
dProofs41‑unfiltered39+.txt✻ | 125 666 670 576 | 476.43 | 246.33 | 291.86 | 3.0499... |
dProofs43‑unfiltered39+.txt✻ | 383 440 778 208 | 1881.40 | 748.02 | 888.57 | 3.0509... |
Walsh's 3rd Axiom; 1-basis (CpCCNqCCNrsCptCCtqCrq) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs61.txt✻ | 4 295 581 846 | 3908.16 | 10.14 | 13.43 | 1.7101... |
dProofs63.txt✻ | 7 348 821 352 | 10532.16 | 16.96 | 26.15 | 1.7086... |
dProofs65‑unfiltered65+.txt | 16 763 993 300 | 352.47 | 37.46 | 59.38 | 3.0836... |
dProofs67‑unfiltered65+.txt | 39 535 521 298 | 711.19 | 86.14 | 124.11 | 2.4185... |
dProofs69‑unfiltered65+.txt✻ | 88 716 050 898 | 1222.77 | 189.80 | 251.38 | 2.1597... |
dProofs71‑unfiltered65+.txt✻ | 192 118 527 148 | 2507.20 | 405.23 | 524.03 | 2.1025... |
dProofs73‑unfiltered65+.txt✻ | 412 837 007 779 | 5133.48 | 867.31 | 1098.91 | 2.1345... |
Walsh's 4th Axiom; 1-basis (CpCCNqCCNrsCtqCCrtCrq) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs149.txt✻ | 9 131 925 110 | 6302.40 | 21.12 | 36.33 | 1.2621... |
dProofs151.txt✻ | 11 525 933 711 | 10297.92 | 26.43 | 45.07 | 1.2610... |
dProofs153‑unfiltered153+.txt | 24 783 434 283 | 158.55 | 55.60 | 86.32 | 5.5377... |
dProofs155‑unfiltered153+.txt | 42 872 023 548 | 230.07 | 95.18 | 137.85 | 1.3644... |
dProofs157‑unfiltered153+.txt✻ | 68 891 621 001 | 302.65 | 151.49 | 199.75 | 1.4384... |
dProofs159‑unfiltered153+.txt✻ | 103 533 160 689 | 453.35 | 226.16 | 293.63 | 1.3313... |
dProofs161‑unfiltered153+.txt✻ | 159 214 361 422 | 644.41 | 345.00 | 427.35 | 1.6073... |
dProofs163‑unfiltered153+.txt✻ | 234 912 798 874 | 923.80 | 506.04 | 613.85 | 1.3594... |
dProofs165‑unfiltered153+.txt✻ | 362 044 988 241 | 1372.75 | 770.18 | 899.59 | 1.6794... |
dProofs167‑unfiltered153+.txt✻ | 542 099 491 770 | 2013.71 | 1144.49 | 1316.14 | 1.4162... |
dProofs169‑unfiltered153+.txt✻ | 815 788 131 974 | 3061.78 | 1716.57 | 1933.14 | 1.5200... |
Walsh's 5th Axiom; 1-basis (CCpqCCCrCstCqCNsNpCps) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs49.txt✻ | 30 353 473 441 | 3559.68 | 57.45 | 74.22 | 2.3694... |
dProofs51.txt✻ | 71 920 889 085 | 18849.60 | 135.68 | 170.98 | 2.3693... |
dProofs53‑unfiltered53+.txt✻ | 170 477 511 288 | 754.63 | 320.89 | 412.98 | 2.3710... |
dProofs55‑unfiltered53+.txt✻ | 404 054 704 152 | 2173.65 | 759.14 | 916.66 | 2.3699... |
Walsh's 6th Axiom; 1-basis (CCCpqCCCNrNsrtCCtpCsp) [top1000] [cardinalities] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs79.txt✻ | 3 484 676 910 | 6643.52 | 9.36 | 16.18 | 1.5432... |
dProofs81.txt✻ | 5 367 857 872 | 15677.76 | 14.23 | 24.41 | 1.5385... |
dProofs83‑unfiltered83+.txt | 13 610 427 753 | 235.56 | 33.96 | 61.15 | 4.3769... |
dProofs85‑unfiltered83+.txt | 28 552 993 964 | 415.03 | 69.16 | 112.16 | 1.8128... |
dProofs87‑unfiltered83+.txt✻ | 54 160 329 107 | 679.52 | 128.54 | 196.18 | 1.7137... |
dProofs89‑unfiltered83+.txt✻ | 96 917 532 392 | 1166.01 | 229.28 | 356.90 | 1.6697... |
dProofs91‑unfiltered83+.txt✻ | 165 311 577 556 | 1997.90 | 389.83 | 598.55 | 1.5995... |
dProofs93‑unfiltered83+.txt✻ | 277 401 972 175 | 3700.55 | 650.43 | 993.50 | 1.6388... |
dProofs95‑unfiltered83+.txt✻ | 470 466 008 218 | 6619.36 | 1089.83 | 1638.71 | 1.7223... |
The above systems show remarkable differences in complexity, despite similarities. For example, the syntax trees of Walsh's 3rd and 4th axiom differ only in four leaf nodes.
Only systems with an odd-ary rule such as necessitation can have condensed detachment proofs of even lengths.
The system of modal logic illustrated below extends Frege's calculus simplified by Łukasiewicz. It can be covered by enabling the N-rule without limiting the number of its consecutive applications via -c -N -1
.
S5 (CpCqp,CCpCqrCCpqCpr,CCNpNqCqp,CLpp,CLCpqCLpLq,CNLNpLNLNp) [top1000] [cardinalities] [db] [sample] [info]
Data
Files up to.. | Size of Files [B] |
+Costs [≈core‑h] |
RAM (load) [≈GiB] |
RAM (gen.) [≈GiB] |
Recent Growth |
---|---|---|---|---|---|
dProofs23.txt✻ | 929 688 759 | 2787.20 | 4.39 | 5.02 | 2.1292... |
dProofs24.txt✻ | 1 926 502 082 | 11495.04 | 9.00 | 11.99 | 2.0500... |
dProofs25‑unfiltered25+.txt | 4 268 285 433 | 90.85 | 19.50 | 70.23 | 2.3492... |
dProofs26‑unfiltered25+.txt | 9 291 301 075 | 197.73 | 41.27 | 143.64 | 2.1449... |
dProofs27‑unfiltered25+.txt✻ | 20 706 078 097 | 450.03 | 89.08 | 305.84 | 2.2724... |
dProofs28‑unfiltered25+.txt✻ | 45 428 091 663 | 1052.76 | 190.06 | 632.76 | 2.1657... |
dProofs29‑unfiltered25+.txt✻ | 100 115 373 391 | 2364.16-q 50 2121.81 |
409.23 | 1327.37-q 50 746.09 |
2.2120... |
dProofs30‑unfiltered25+.txt✻ | 218 246 046 918 | -q 50 4774.60 |
870.21 | -q 50 1563.51 |
2.1601... |
✻Generation and utilization were performed with computing resources granted by RWTH Aachen University under project rwth1392.