Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manpage #98

Merged
merged 7 commits into from
Sep 19, 2022
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ you can use "make uninstall" to remove it.
List of databases
-----------------

The data base files included are:
The database files included are:

set.mm - logic and set theory database (see Ch. 3 of the Metamath book).
The Metamath Proof Explorer pages were generated from this database.
Expand Down
28 changes: 14 additions & 14 deletions src/metamath.1
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ metamath \- Formal proof verifier and proof assistant
is a formal proof verifier and proof assistant for the Metamath language.
It can be initialized via a series of
.I commands
or with a data base
or with a database
.IR file ,
which can then be explored interactively.
.PP
Expand All @@ -38,10 +38,10 @@ installed along with the package.
.SH LANGUAGE
A Metamath database consists of a sequence of three kinds of tokens
separated by white space (which is any sequence of one or more white
space characters). The set of keyword tokens is
space characters). The set of keyword tokens is
.BR ${ ", " $} ", " $c ", " $v ", " $f ", " $e ", " $d ", " $a ", " $p ", "
.BR $. ", " $= ", " $( ", " $) ", " $[ ", and " $] .
The latter four are called auxiliary or preprocessing keywords. A
The latter four are called auxiliary or preprocessing keywords. A
.I label
token consists of any combination of letters, digits, and the characters hyphen,
underscore, and period.
Expand All @@ -62,29 +62,29 @@ Include the contents of a
.IR file .
.TP
.BI ${ " statements " $}
Scoped block of statements. A math symbol becomes active when declared and
Scoped block of statements. A math symbol becomes active when declared and
stays active until the end of the block in which it is declared.
.TP
.BI $v " symbols " $.
Declare
.I symbols
as variables. A variable may not be declared a second time while it is active,
as variables. A variable may not be declared a second time while it is active,
but it may be declared again (as a variable, but not as a constant) after it
becomes inactive.
.TP
.BI $c " symbols " $.
Declare
.I symbols
as constants. A constant must be declared in the outermost block and may not be
declared a second time.
as constants. A constant must be declared in the outermost block and may not
be declared a second time.
.TP
.IB "label " $f " constant variable " $.
Variable-type hypothesis to specify the nature or type of a variable (such as
`let x be an integer.'). A variable must have its type specified in a
`let x be an integer.'). A variable must have its type specified in a
.B $f
statement before it may be used in a
.BR $e ", " $a ", or " $p
statement. There may not be two active
statement. There may not be two active
.B $f
statements containing the same variable.
.TP
Expand All @@ -93,31 +93,31 @@ Logical hypothesis, expressing a logical truth (such as `assume x is prime')
that must be established in order for an assertion requiring it to also be true.
.TP
.BI $d " variables " $.
Disjoint variable restriction. For distinct active
Disjoint variable restriction. For distinct active
.IR variables ,
it forbids the substitution of one variable with another.
.TP
.IB "label " $a " constant symbols " $.
Axiomatic assertion.
.TP
.IB "label " $p " constant symbols " $= " proof " $.
Provable assertion. The
Provable assertion. The
.I proof
is a sequence of statement
.IR label s.
This label sequence serves as a set of instructions that the Metamath program
uses to construct a series of math symbol sequences. The construction must
uses to construct a series of math symbol sequences. The construction must
ultimately result in the math symbol sequence contained between the
.BR $p " and " $=
keywords of the
.B $p
statement. For details, see section 4.3 in [1].
statement. For details, see section 4.3 in [1].
Proofs are most easily written using the interactive prompt in
.BR metamath .
.SH FILES
.I /usr/share/metamath
.RS
Data base files for several formal theories.
Database files for several formal theories.
.SH SEE ALSO
.B "[1]"
Norman Megill:
Expand Down
4 changes: 3 additions & 1 deletion src/metamath.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,9 @@
Remove mmmaci and everything related to THINK_C compiler
4-Jan-2022 mc - change VERIFY MARKUP /TOP_DATE_SKIP and /FILE_SKIP to
/TOP_DATE_CHECK and /FILE_CHECK (with opposite meaning), and make the
skip behavior the default. */
skip behavior the default.
7-Sep-2022 bj mmwtex.c, mmhlpa.c Added CRITERIA CRITERION to [bib]
keywords */
/* 0.198 nm 7-Aug-2021 mmpars.c - Fix cosmetic bug in WRITE SOURCE ... /REWRAP
that prevented end of sentence (e.g. period) from appearing in column 79,
thus causing some lines to be shorter than necessary. */
Expand Down
10 changes: 5 additions & 5 deletions src/mmhlpa.c
Original file line number Diff line number Diff line change
Expand Up @@ -1130,11 +1130,11 @@ H("");
H("The <keyword>, which is not case-sensitive, must be one of the following:");
H("");
H(" Axiom, Chapter, Claim, Compare, Conclusion, Condition, Conjecture,");
H(" Corollary, Definition, Equation, Example, Exercise, Fact, Figure,");
H(" Introduction, Item, Lemma, Lemmas, Line, Lines, Notation, Note,");
H(" Observation, Paragraph, Part, Postulate, Problem, Proof, Property,");
H(" Proposition, Remark, Result, Rule, Scheme, Scolia, Scolion, Section,");
H(" Statement, Subsection, Table, Theorem");
H(" Corollary, Criteria, Criterion, Definition, Equation, Example,");
H(" Exercise, Fact, Figure, Introduction, Item, Lemma, Lemmas, Line,");
H(" Lines, Notation, Note, Observation, Paragraph, Part, Postulate,");
H(" Problem, Proof, Property, Proposition, Remark, Result, Rule, Scheme,");
H(" Scolia, Scolion, Section, Statement, Subsection, Table, Theorem");
H("");
H("The <identifier> is optional, as in for example \"Remark in [Monk] p. 22\".");
H("");
Expand Down
2 changes: 2 additions & 0 deletions src/mmwtex.c
Original file line number Diff line number Diff line change
Expand Up @@ -5317,6 +5317,8 @@ flag writeBibliography(vstring bibFile,
|| !strcmp(mid(str2, k, (long)strlen("SCOLION")), "SCOLION")
|| !strcmp(mid(str2, k, (long)strlen("SUBSECTION")), "SUBSECTION")
|| !strcmp(mid(str2, k, (long)strlen("TABLE")), "TABLE")
|| !strcmp(mid(str2, k, (long)strlen("CRITERION")), "CRITERION")
|| !strcmp(mid(str2, k, (long)strlen("CRITERIA")), "CRITERIA")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am at a loss to decide whether the addition of CRITERI* is a necessity, or a nice to have, or just noise. This should be done by those writing a bibliography on a more regular base. From a technical point of view, I think, one should have a closer look at

  1. the comment in line 5217 should be updated to include mmhlpa.c;
  2. the keywords here seem to be mostly in alphabetic order, except for the first 5 entries, that are used frequently enough to play an outstanding role in a not further specified search operation. CLAIM, for example, appears only three times in mmbiblio.html. I don't see a compelling reason to have it far up in the list, in comparison to the freshly added items.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have to cite Criterion of [BourbakiTop1] p. I.2 in https://us.metamath.org/mpeuni/ishmeo.html (as a temporary solution, I used "Proposition"). Since the irregular plurals are aslo added in this list (e.g., scolion/scolia), I also added "criteria".
Do you prefer to put the list in alphabetical order ?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. the comment in line 5217 should be updated to include mmhlpa.c;

I don't understand this. Line 5217 of which file ? mmhlpa.c has been updated (see its Line 1133).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is line 5274 ff (I got it wrong, don't know why), and it reads
/* **IMPORTANT** Make sure to update mmhlpb.c HELP WRITE BIBLIOGRAPHY if new items are added to this list. */
Here the wrong file is mentioned.

Copy link
Contributor

@wlammen wlammen Sep 12, 2022

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you prefer to put the list in alphabetical order ?

I don't see a good reason to deviate from it without necessity. Since the list is duplicated (in a different form, but essentially the items correspond to each other), you can better check the correctness with the aid of some ordering, keeping the exemptions at a minimum.

) {
m = k;
break;
Expand Down