Skip to content

Commit 63c7f17

Browse files
committed
DlProofEnumerator: space optimality
- formulas are stored as strings rather than tree structures
1 parent 747c5f4 commit 63c7f17

File tree

10 files changed

+455
-636
lines changed

10 files changed

+455
-636
lines changed

README.html

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,12 @@ <h1 id="xamidi-pmgenerator">@xamidi/pmGenerator</h1>
216216
<p>Code extracted from <a href="https://github.com/deontic-logic/proof-tool">deontic-logic/proof-tool</a> (still private; <a href="https://deontic-logic.github.io/readme.html">readme</a>). Can be used to generate improved versions of <a href="https://us.metamath.org/mmsolitaire/pmproofs.txt" title="us.metamath.org/mmsolitaire/pmproofs.txt">pmproofs.txt</a> of the <a href="https://us.metamath.org/mmsolitaire/mms.html" title="us.metamath.org/mmsolitaire/mms.html">mmsolitaire</a> project.<br>Exemplary generated results are available at <a href="https://github.com/xamidi/mmsolitaire" title="GitHub repository">xamidi/mmsolitaire</a>. Eligible for high-performance computing. If you have access to a supercomputer, please consider to use this tool to further contribute to our knowledge regarding minimal proofs.</p>
217217
<p>Some aspects of this tool were explicated in a <a href="https://groups.google.com/g/metamath/c/v0p86y5b-m0">proposal</a> at the Metamath mailing list.</p>
218218
<h4 id="usage">Usage</h4>
219-
<pre><code><span>pmGenerator</span> <span>(</span> <span>-g</span> <span>&lt;limit&gt;</span> <span>[-u]</span> <span>[-m]</span> <span>[-c]</span> <span>| -r &lt;pmproofs file&gt; &lt;output file&gt; [-i &lt;prefix&gt;] [-m] [-c] [-d] | -a &lt;initials&gt; &lt;replacements file&gt; &lt;pmproofs file&gt; &lt;output file&gt; [-s] [-l] [-w] [-d] | -f ( 0 | 1 ) [-i &lt;prefix&gt;] [-o &lt;prefix&gt;] [-d] | -p [-i &lt;prefix&gt;] [-s] [-t] [-x &lt;limit&gt;] [-y &lt;limit&gt;] [-o &lt;output file&gt;] [-d] )+
219+
<pre><code><span>pmGenerator</span> <span>(</span> <span>-g</span> <span>&lt;limit&gt;</span> <span>[-u]</span> <span>[-c]</span> <span>| -r &lt;pmproofs file&gt; &lt;output file&gt; [-i &lt;prefix&gt;] [-c] [-d] | -a &lt;initials&gt; &lt;replacements file&gt; &lt;pmproofs file&gt; &lt;output file&gt; [-s] [-l] [-w] [-d] | -f ( 0 | 1 ) [-i &lt;prefix&gt;] [-o &lt;prefix&gt;] [-d] | -p [-i &lt;prefix&gt;] [-s] [-t] [-x &lt;limit&gt;] [-y &lt;limit&gt;] [-o &lt;output file&gt;] [-d] )+
220220
</span><span>-g:</span> <span>Generate</span> <span>proof</span> <span>files</span>
221-
<span> -u:</span> <span>unfiltered</span> <span>(significantly</span> <span>faster,</span> <span>but</span> <span>generates</span> <span>redundant</span> <span>proofs),</span> <span>leads</span> <span>to</span> <span>formulas</span> <span>being</span> <span>stored</span> <span>as</span> <span>strings</span> <span>rather</span> <span>than</span> <span>tree</span> <span>structures</span> <span>(vastly</span> <span>reduced</span> <span>RAM</span> <span>usage)</span> <span>;</span> <span>deprecates</span> <span>-m</span>
222-
<span> -m:</span> <span>disable</span> <span>memory</span> <span>reduction</span> <span>(distributed</span> <span>formula</span> <span>lookup</span> <span>data,</span> <span>requires</span> <span>more</span> <span>RAM,</span> <span>faster</span> <span>collection,</span> <span>significantly</span> <span>slower</span> <span>filtering)</span>
221+
<span> -u:</span> <span>unfiltered</span> <span>(significantly</span> <span>faster,</span> <span>but</span> <span>generates</span> <span>redundant</span> <span>proofs)</span>
223222
<span> -c:</span> <span>proof</span> <span>files</span> <span>without</span> <span>conclusions,</span> <span>requires</span> <span>additional</span> <span>parsing</span>
224223
<span>-r:</span> <span>Replacements</span> <span>file</span> <span>creation</span> <span>based</span> <span>on</span> <span>proof</span> <span>files</span>
225224
<span> -i:</span> <span>customize</span> <span>input</span> <span>file</span> <span>path</span> <span>prefix</span> <span>;</span> <span>default:</span> <span>"data/dProofs-withConclusions/dProofs"</span>
226-
<span> -m:</span> <span>disable</span> <span>memory</span> <span>reduction</span> <span>(distributed</span> <span>formula</span> <span>lookup</span> <span>data,</span> <span>requires</span> <span>more</span> <span>RAM)</span>
227225
<span> -c:</span> <span>proof</span> <span>files</span> <span>without</span> <span>conclusions,</span> <span>requires</span> <span>additional</span> <span>parsing</span> <span>;</span> <span>sets</span> <span>default</span> <span>input</span> <span>file</span> <span>path</span> <span>prefix</span> <span>to</span> <span>"data/dProofs-withoutConclusions/dProofs"</span>
228226
<span> -d:</span> <span>print</span> <span>debug</span> <span>information</span>
229227
<span>-a:</span> <span>Apply</span> <span>replacements</span> <span>file</span>
@@ -244,7 +242,7 @@ <h4 id="usage">Usage</h4>
244242
<span> -o:</span> <span>print</span> <span>to</span> <span>given</span> <span>output</span> <span>file</span>
245243
<span> -d:</span> <span>print</span> <span>debug</span> <span>information</span>
246244
</code></pre><h4 id="examples">Examples</h4>
247-
<pre><code><span>pmGenerator</span> -g <span>19</span>
245+
<pre><code><span>pmGenerator</span> -g <span>-1</span>
248246
pmGenerator -r <span>"data/pmproofs.txt"</span> <span>"data/pmproofs-reducer.txt"</span> -i <span>"data/dProofs"</span> -c -d
249247
pmGenerator -a SD data/pmproofs-reducer.txt data/pmproofs.txt data/pmproofs-result-styleAll-modifiedOnly.txt -s -w -d
250248
pmGenerator -g <span>19</span> -g <span>21</span> -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

README.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,12 @@ Exemplary generated results are available at [xamidi/mmsolitaire](https://github
88
Some aspects of this tool were explicated in a [proposal](https://groups.google.com/g/metamath/c/v0p86y5b-m0) at the Metamath mailing list.
99

1010
#### Usage
11-
pmGenerator ( -g <limit> [-u] [-m] [-c] | -r <pmproofs file> <output file> [-i <prefix>] [-m] [-c] [-d] | -a <initials> <replacements file> <pmproofs file> <output file> [-s] [-l] [-w] [-d] | -f ( 0 | 1 ) [-i <prefix>] [-o <prefix>] [-d] | -p [-i <prefix>] [-s] [-t] [-x <limit>] [-y <limit>] [-o <output file>] [-d] )+
11+
pmGenerator ( -g <limit> [-u] [-c] | -r <pmproofs file> <output file> [-i <prefix>] [-c] [-d] | -a <initials> <replacements file> <pmproofs file> <output file> [-s] [-l] [-w] [-d] | -f ( 0 | 1 ) [-i <prefix>] [-o <prefix>] [-d] | -p [-i <prefix>] [-s] [-t] [-x <limit>] [-y <limit>] [-o <output file>] [-d] )+
1212
-g: Generate proof files
13-
-u: unfiltered (significantly faster, but generates redundant proofs), leads to formulas being stored as strings rather than tree structures (vastly reduced RAM usage) ; deprecates -m
14-
-m: disable memory reduction (distributed formula lookup data, requires more RAM, faster collection, significantly slower filtering)
13+
-u: unfiltered (significantly faster, but generates redundant proofs)
1514
-c: proof files without conclusions, requires additional parsing
1615
-r: Replacements file creation based on proof files
1716
-i: customize input file path prefix ; default: "data/dProofs-withConclusions/dProofs"
18-
-m: disable memory reduction (distributed formula lookup data, requires more RAM)
1917
-c: proof files without conclusions, requires additional parsing ; sets default input file path prefix to "data/dProofs-withoutConclusions/dProofs"
2018
-d: print debug information
2119
-a: Apply replacements file
@@ -37,7 +35,7 @@ Some aspects of this tool were explicated in a [proposal](https://groups.google.
3735
-d: print debug information
3836

3937
#### Examples
40-
pmGenerator -g 19
38+
pmGenerator -g -1
4139
pmGenerator -r "data/pmproofs.txt" "data/pmproofs-reducer.txt" -i "data/dProofs" -c -d
4240
pmGenerator -a SD data/pmproofs-reducer.txt data/pmproofs.txt data/pmproofs-result-styleAll-modifiedOnly.txt -s -w -d
4341
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

__dependency_graph.dot

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,6 @@ digraph {
7878
DRuleReducer -> FctHelper [color=blue]
7979
DRuleReducer -> TreeNode [color=blue]
8080
DRuleReducer -> DlCore [color=blue]
81-
DRuleReducer -> DlFormula [color=blue]
8281
DRuleReducer -> DlProofEnumerator [color=blue]
8382
DRuleReducer -> DRuleParser [color=blue]
8483
DRuleReducer -> concurrent_map [color=blue]
@@ -110,6 +109,7 @@ digraph {
110109
DlCore -> functional [color=red]
111110
DlCore -> map [color=red]
112111
DlCore -> memory [color=red]
112+
DlCore -> string [color=red]
113113
DlCore -> unordered_map [color=red]
114114
DlCore -> unordered_set [color=red]
115115
DlFormula -> TreeNode [color=blue]
@@ -122,21 +122,16 @@ digraph {
122122
DlProofEnumerator -> DlCore [color=blue]
123123
DlProofEnumerator -> DlFormula [color=blue]
124124
DlProofEnumerator -> concurrent_map [color=blue]
125-
DlProofEnumerator -> concurrent_set [color=blue]
126125
DlProofEnumerator -> concurrent_vector [color=blue]
127126
DlProofEnumerator -> parallel_for [color=blue]
128127
DlProofEnumerator -> execution [color=blue]
129128
DlProofEnumerator -> iostream [color=blue]
130-
DlProofEnumerator -> Hashing [color=red]
131129
DlProofEnumerator -> ProgressData [color=red]
132130
DlProofEnumerator -> concurrent_unordered_map [color=red]
133-
DlProofEnumerator -> concurrent_unordered_set [color=red]
134-
DlProofEnumerator -> version [color=red]
135131
DlProofEnumerator -> array [color=red]
136132
DlProofEnumerator -> condition_variable [color=red]
137133
DlProofEnumerator -> deque [color=red]
138134
DlProofEnumerator -> map [color=red]
139-
DlProofEnumerator -> memory [color=red]
140135
DlProofEnumerator -> thread [color=red]
141136
DlStructure -> CfgGrammar [color=blue]
142137
DlStructure -> cstdint [color=red]

0 commit comments

Comments
 (0)