forked from metamath/set.mm
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
1956 lines (1617 loc) · 75.3 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML LANG="EN-US">
<HEAD>
<!-- improve mobile display (suggested by David A. Wheeler) -->
<META NAME="viewport" CONTENT="width=device-width, initial-scale=1.0">
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<TITLE>Home Page - Metamath</TITLE>
<STYLE TYPE="text/css">
<!--
hr {color:#FFBF72;background-color:#FFBF72;height:1px;border-style:none;}
.m {font-family: "Trebuchet MS", Verdana,
"Lucida Sans", Arial, Geneva, Helvetica, Helv, "Myriad Web", Syntax,
sans-serif; color: #006633}
.mlink {font-family: "Trebuchet MS", Verdana,
"Lucida Sans", Arial, Geneva, Helvetica, Helv, "Myriad Web", Syntax,
sans-serif}
-->
</STYLE>
<LINK REL="shortcut icon" HREF="favicon.ico" TYPE="image/x-icon">
</HEAD>
<!-- C2EDDB -->
<BODY BGCOLOR="#F5FEF9" STYLE="padding: 0px 8px">
<!-- wrap whole page in table: this sets a maximum width for whole page,
but no predefined minimum width (it works in Mozilla and IE, but
Netscape 4.7 unfortunately will see a minimum width with horizontal
scrollbars) --> <!-- F5FEF9 -->
<CENTER><TABLE BORDER=0 CELLPADDING=8 CELLSPACING=0 BGCOLOR="white"><TR><TD
WIDTH=700 ALIGN=LEFT>
<!-- F7FFFC -->
<TABLE BORDER=0 WIDTH="100%"><TR>
<TD ALIGN=left VALIGN=top WIDTH="25%"><FONT SIZE=-2 FACE=sans-serif><A
HREF="mm.html"
><IMG SRC="mm.gif" BORDER=0
ALT="Mirror Site Selection" HEIGHT=32 WIDTH=32 ALIGN=MIDDLE>Mirror Site
Selection</A></FONT></TD>
<TD ALIGN=center>
<!-- Interesting green color: "#376F35" 6/15/03 older: 006647 -->
<!-- <SPAN CLASS=m> -->
<FONT SIZE="+3" COLOR="#006633"><B>Metamath Home
Page</B></FONT>
<!--
<FONT COLOR="#006633"><B><IMG SRC="_metamath-deco.gif" BORDER=0
ALT="Metamath" HEIGHT=32 WIDTH=104 ALIGN=TOP> Home
Page</B></FONT>
-->
<!-- http://www.castletype.com/screen_showings/carlos_light_cond.html -->
<!-- </SPAN> -->
</TD>
<TD ALIGN=right VALIGN=top WIDTH="25%"><FONT SIZE=-2 FACE=sans-serif>This page:
<A HREF="#faq">FAQ</A>
<A HREF="#downloads">Downloads</A>
<A HREF="#dlhelp">Download help</A>
<A HREF="#awards">Reviews</A></FONT></TD>
</TR></TABLE>
<!-- <HR NOSHADE SIZE=1> -->
<!-- old: 73D3A8 celadon=ACE1AF darkceladon=306136 -->
<!-- patina color: 93C592 -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<!-- <SPAN CLASS=mlink> -->
<A HREF="mpeuni/mmset.html"><B>Metamath Proof Explorer</B></A>
<!-- </SPAN> -->
- Constructs mathematics from scratch, starting from
ZFC set theory axioms. Over 23,000 proofs.
<FONT SIZE=-1>
<A
HREF="mpeuni/mmtheorems.html">Theorem list</A>
<A HREF="http://us2.metamath.org:88/mpeuni/mmrecent.html">Recent proofs</A>
<A HREF="mpeuni/mmrecent.html">(this mirror)</A>
<!--
<B>News and most recent
proofs:</B> <A
HREF="http://us2.metamath.org:88/mpeuni/mmrecent.html">latest</A>,
<A HREF="mpeuni/mmrecent.html">this mirror</A>
-->
</FONT>
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="mpeuni/mmset.html">
<IMG SRC="_index1mpe.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Metamath Proof Explorer" TITLE="Metamath Proof Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="ileuni/mmil.html"><B>Intuitionistic Logic Explorer</B></A> -
Derives mathematics from a constructive point of view, starting from
axioms of intuitionistic logic.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="ileuni/mmil.html">
<IMG SRC="_index1ile.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Intuitionistic Logic Explorer"
TITLE="Intuitionistic Logic Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="nfeuni/mmnf.html"><B>New Foundations Explorer</B></A> -
Constructs mathematics from scratch, starting from
Quine's NF set theory axioms.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="nfeuni/mmnf.html">
<IMG SRC="_index1nfe.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="New Foundations Explorer" TITLE="New Foundations Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="holuni/mmhol.html"><B>Higher-Order Logic Explorer</B></A> -
Starts with HOL (also called simple type theory) and derives equivalents to
ZFC axioms, connecting the two approaches.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="holuni/mmhol.html">
<IMG SRC="_index1hol.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Higher-Order Logic Explorer"
TITLE="Higher-Order Logic Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="other.html"><B>Other Metamath-Related Topics</B></A> -
user-contributed proof verifiers, <A HREF="mm_100.html">Metamath 100
list</A>, open problems, other downloads, and miscellany. Filip
Cernatescu's <A HREF="other.html#milp">Milpgame</A> and practice
problems.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="other.html">
<IMG SRC="_index7oth.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Other Topics" TITLE="Other Topics" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%" ALIGN=CENTER>
<B>Older pages:</B>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="mpeuni/mmhil.html"><B>Hilbert Space Explorer</B></A> -
<!-- The Hilbert Space Explorer --> Extends ZFC set theory into Hilbert space,
which is the foundation for quantum mechanics. Includes over
1,000 complete formal proofs.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="mpeuni/mmhil.html">
<IMG SRC="_index2hse.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Hilbert Space Explorer" TITLE="Hilbert Space Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="qleuni/mmql.html"><B>Quantum Logic Explorer</B></A> -
Starts from the orthomodular lattice properties proved in the
Hilbert Space Explorer and takes you into
quantum logic with around 1,000 proofs.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="qleuni/mmql.html">
<IMG SRC="_index3qle.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Quantum Logic Explorer" TITLE="Quantum Logic Explorer" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="mmsolitaire/mms.html"><B>Metamath Solitaire</B></A> - A Java
applet <!-- that lets you experiment with -->
that demonstrates simple proofs.
<!-- -->
Built-in axiom systems
include ZFC; modal, intuitionistic, and quantum logics; and Tarski's
plane geometry.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="mmsolitaire/mms.html">
<IMG SRC="_index4mms.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Metamath Solitaire" TITLE="Metamath Solitaire" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="symbols/symbols.html"><B>GIF and PNG Images for Math Symbols</B></A> -
A copyright-free collection of over 1,000 bit-mapped images for
math symbols.
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="symbols/symbols.html">
<IMG SRC="_index5sym.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="GIF and PNG Images for Math Symbols"
TITLE="GIF and PNG Images for Math Symbols" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=4></TD></TR></TABLE>
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD WIDTH="100%"> <!-- FAEEFF -->
<!-- <TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#EEFFFA"> -->
<TABLE WIDTH="100%" BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD WIDTH="100%">
<A HREF="mpeuni/mmmusic.html"><B>Metamath Music Page</B></A> - Strictly
for fun. You can listen
<!--
<A HREF="mpeuni/peano2.mid"><IMG
SRC="mpeuni/_note.gif" ALT="MIDI file" BORDER=0 WIDTH=10 HEIGHT=15><FONT
SIZE=-2>0:16</FONT></A>
-->
<!--
<A HREF="mpeuni/sqrth-fshbi.mid"><IMG
SRC="mpeuni/_note.gif" ALT="MIDI file" BORDER=0 WIDTH=10 HEIGHT=15><FONT
SIZE=-2>0:41</FONT></A>
-->
to what mathematical proofs "sound" like!
</TD>
<TD VALIGN=TOP>
<TABLE BORDER=0 CELLPADDING=1 CELLSPACING=0 BGCOLOR="#ACE1AF">
<TR>
<TD>
<TABLE BORDER=0 CELLPADDING=3 CELLSPACING=0 BGCOLOR="#FFFFFF">
<TR>
<TD>
<A HREF="mpeuni/mmmusic.html">
<IMG SRC="_index6mus.gif" HEIGHT=40 WIDTH=60 ALIGN=RIGHT
ALT="Metamath Music Page" TITLE="Metamath Music Page" BORDER=0>
</A>
</TD></TR></TABLE></TD></TR></TABLE>
</TD>
</TR></TABLE></TD></TR></TABLE>
<TABLE><TR><TD HEIGHT=10></TD></TR></TABLE>
<!-- <HR NOSHADE SIZE=1> -->
<!--
<FONT SIZE=-1><I>21-May-2007</I> Some
advanced and difficult <A HREF="award2003.html"> miscellaneous open
problems</A> related to Metamath and other topics on this site.</FONT>
-->
<!--
<P><FORM ACTION="http://us2.metamath.org:8888/thanks.html"
METHOD="GET"><FONT SIZE=-1>Where did you hear about this site (URL is
helpful)? Thanks!</FONT> <INPUT TYPE="TEXT" NAME="where" SIZE=35
VALUE=" "> <INPUT TYPE="SUBMIT" VALUE="Submit"> </FORM> -->
<HR NOSHADE SIZE=1>
<A NAME="faq"></A>
<CENTER><B><FONT COLOR="#006633" SIZE="+1">Mini FAQ</FONT></B>
</CENTER>
<FONT COLOR="#006633"><B>Q:</B> What is Metamath?</FONT><BR> <B>A:</B>
Metamath is a tiny language that can express theorems in abstract
mathematics, accompanied by proofs that can be verified by a computer
program. This site has a collection of web pages generated from those
proofs and lets you see mathematics developed in complete
detail from first principles, with absolute rigor. Hopefully it will
amuse you, amaze you, and possibly enlighten you in its own special way.
<!--
<BR>
Metamath also has a
<A HREF="http://en.wikipedia.org/wiki/Metamath">Wikipedia entry</A>.
-->
<P><A NAME="discussion"></A><FONT COLOR="#006633"><B>Q:</B> How can I ask
questions or discuss Metamath-related topics?</FONT><BR>
<B>A:</B> The <A HREF="http://groups.google.com/group/metamath">Metamath
Google Group</A> [retrieved 4-Aug-2016] mailing list is being used for
discussion about Metamath. If you have questions, that is a good place
to ask them. (The <A
HREF="https://web.archive.org/web/20131219031208/http://wiki.planetmath.org/cgi-bin/wiki.pl/metamath"
>AsteroidMeta</A> [retrieved 4-Aug-2016] wiki was used for many older
Metamath discussions, but is no longer available. Archived discussions
such as this one can be found on archive.org.)
<P><A NAME="start"></A><FONT COLOR="#006633"><B>Q:</B> Where do I
start?</FONT><BR>
<B>A:</B> Read Sections <A HREF="mpeuni/mmset.html#overview">1</A>, <A
HREF="mpeuni/mmset.html#proofs">2</A>, and <A
HREF="mpeuni/mmset.html#axioms">3</A> of the <A
HREF="mpeuni/mmset.html">Metamath Proof Explorer</A>. Then look at a
few proofs in Section <A HREF="mpeuni/mmset.html#theorems">4</A> to make
sure you understand how they work.<BR>
Knowledge of mathematics
can be helpful, although it isn't strictly necessary to be able to
mechanically follow the proofs on this site. If you want to start
acquiring a higher-level understanding, a
nice independent introduction to logic is Hirst and
Hirst's <A
HREF="http://www.appstate.edu/~hirstjl/primer/hirst.pdf"><I>A Primer
for Logic and Proof</I></A> [retrieved 27-Sep-2017] (PDF, 0.5MB); <A
HREF="mpeuni/mmset.html#traditional">compare</A> its axioms to ours.
Wikipedia has an overview of <A
HREF="http://en.wikipedia.org/wiki/Set_theory">set theory</A>
[retrieved 4-Aug-2016].
The video series
<A HREF="https://www.youtube.com/playlist?list=PLZzHxk_TPOStgPtqRZ6KzmkUQBQ8TSWVX">"Introduction to Higher Mathematics" by Bill Shillito</A>
[retrieved 27-Sep-2017] may also be helpful.
<BR>
You can experiment with simple
proofs in the <A HREF="mmsolitaire/mms.html">Metamath Solitaire</A>
applet.
To actually create real metamath proofs, you'll want to
<a href="#downloads">download</a> a tool.
A common tool is <A HREF="#mmj2">mmj2</A>.
David A. Wheeler produced an introductory video, <A
HREF="https://www.youtube.com/watch?v=Rst2hZpWUbU">"Introduction to
Metamath & mmj2"</A> [retrieved 4-Aug-2016].
<!--
The <I>Stanford Encyclopedia of Philosophy</I> has an informative
overview of <A HREF="http://plato.stanford.edu/entries/set-theory/">set
theory</A> [external]. You can also check out these <A
HREF="mpeuni/mmset.html#read">reading suggestions</A> that closely
follow our material.
-->
<P><A NAME="learn"></A><FONT COLOR="#006633"><B>Q:</B> Will Metamath
help me learn abstract mathematics?</FONT><BR>
<B>A:</B>
Yes, but probably not by itself.
In order to follow a proof in an advanced math textbook, you may need to
know prerequisites that could take years to learn. Some people find
this frustrating. In contrast, Metamath uses a single, simple <A
HREF="mpeuni/mmset.html#proofs">substitution rule</A> that allows you to
follow any proof <I>mechanically</I>. You can actually jump in anywhere
and be convinced that the symbol string you see in a proof step is a
consequence of the symbol strings in the earlier steps that it
references, even if you don't understand what the symbols mean. But
this is quite different from understanding the <I>meaning</I> of the
math that results. Metamath alone probably will not give you an
intuitive feel for abstract math, in the same way it can be hard to
grasp a large computer program just by reading its source code, even
though you may understand each individual instruction. However, the <A
HREF="mpeuni/mmbiblio.html">Bibliographic Cross-Reference</A> lets you
compare informal proofs in math textbooks and see all the implicit
missing details "left to the reader."
<P><A NAME="audience"></A><FONT COLOR="#006633"><B>Q:</B> Who is the
intended audience for Metamath?</FONT><BR>
<B>A:</B> Metamath is not for everyone, of course. A person with no
interest in math may find it boring or, optimistically, might find a
spark of inspiration. Professional mathematicians may view it as a
curiosity more than a tool - they need to do things at a high level to
work efficiently. On the other hand, Metamath can appeal to those who
enjoy picking things apart to see how they work. Others may like the
absolute rigor that Metamath offers. Someone new to logic and set
theory, who is still developing the mathematical maturity needed to
follow informal textbook proofs, may find some reassurance in Metamath's
step-by-step breakdown. And anyone who appreciates the austere elegance
of formal mathematics for its own sake might enjoy just casually
browsing through the proofs for their aesthetic appeal.
<!--
<BR> My highest hope is that someone
completely baffled by the idea of a mathematical proof will be able to
say, "Now I understand the underlying symbol manipulation rule. All the
rest is detail." and thus have all of mathematics opened up to them in
principle, limited only by their patience rather than their inherent
mathematical ability.
-->
<P><A NAME="pink"></A><P><FONT COLOR="#006633"><B>Q:</B> I already have
an abstract mathematics background. How can I grasp the key
ideas in a Metamath proof more quickly?</FONT><BR>
<B>A:</B> On the web page with the proof, look at the little <!-- pink
--> colored numbers in the Ref column. The steps with the largest
numbers are usually the ones you want to look at first. The steps with
smaller numbers are typically logic "glue" to tie them together. The
colors follow roughly the rainbow colors as the statement number
increases, so that the largest numbers tend to stand out from the
others.
<!--This feature, combined with the gray indentation levels showing
the tree structure, should help you figure out a higher-level outline of
the proof more efficiently.
<BR>
-->
With a little practice, this feature,
together with the gray indentation levels showing
the tree structure,
should help you
figure out the "important" steps so that you could
write down an informal version of the proof if
you wanted to.
<!--
When studying a proof written by someone else,
occasionally I find it helpful to print out parts of the
proof and highlight the key steps.
I start from the outermost indentation levels and
focus on the steps that aren't obvious, drilling down to underlying
subtheorems if necessary. Eventually, the big picture will become
apparent, so that I could write down an informal version of the proof if
I wanted to.
-->
<BR>
(By the way, it's best not to use the colored numbers
to reference theorems in an archived discussion, since they change
when new theorems are inserted at an earlier point in the database.)
<P><A NAME="language"></A><FONT COLOR="#006633"><B>Q:</B> What does the
Metamath language look like?</FONT><BR>
<B>A:</B> The precise technical specification of the language is given
in Section 4.1 (p. 112) of the <A HREF="#book"><I>Metamath</I> book</A>
and is about 4 pages long. A simple example is given in Section 2.2.2 (p. 40).
Compare this <A HREF="screen1.html#kedit">source screenshot</A> with
the <A HREF="mpeuni/2eu5.html">generated web page</A>. But <I>you
don't have to know or even look at the language</I> if you just want
to follow the proofs on these web pages.<BR>
<A NAME="langverify"></A> The <A
HREF="#mmprog">metamath program</A> and
<A HREF="#mmj2">mmj2</A> are the main tools for working with
the Metamath language. As an indication of the language's simplicity,
Raph Levien independently wrote the remarkably small <A
HREF="#mmverify">mmverify</A> proof verifier in Python. He writes,
"I find the whole thing a bit magical. Those 300 lines of code, plus a
couple dozen axioms, effectively give you the building blocks for all of
mathematics."
Bob Solovay wrote a nicely commented
presentation of Peano arithmetic in the Metamath language, <A
HREF="metamath/peano.mm">peano.mm</A>, that is worth reading as a
stand-alone file. <BR>
<!--
An ongoing forum with questions and
answers about the Metamath language can be found at Asteroid Meta's <A
HREF="http://wiki.planetmath.org/cgi-bin/wiki.pl/metamathMathQuestions">
metamathMathQuestions</A> page.
-->
<P><A NAME="otherpgms"></A><FONT COLOR="#006633"><B>Q:</B> What other
programs have been written for the Metamath language?</FONT><BR>
<B>A:</B> Over a dozen proof verifiers for the Metamath language have
been written and are listed at
<A HREF="other.html#verifiers">Known Metamath proof verifiers</A>.
Also, several proof languages have been based on Metamath, and
the software and other documentation for these can be found under
<A HREF="other.html#mmrelated">Metamath-related programs</A>.
<!--
The following programs can verify the proofs in a Metamath
database file (see also
<A HREF="other.html#verifiers">archived versions</A>):
(1) the original <A HREF="#mmprog">Metamath program</A>
(written in C by Norman Megill);
(2) <A
HREF="https://web.archive.org/web/20131219001737/http://wiki.planetmath.org/cgi-bin/wiki.pl/mmj2">mmj2</A> [external]
(written in Java by Mel O'Cat and enhanced by Mario Carneiro,
with a GUI proof assistant that
optionally interfaces with the Metamath program's CLI proof assistant
via the <A HREF="#eimm">eimm</A> program);
(3) <A HREF="https://github.com/getzdan/Metamath.jl">Metamath.jl</A>
[retrieved 12-Jun-2016] (written in <A
HREF="https://en.wikipedia.org/wiki/Julia_(programming_language)">Julia</A>
by Dan Getz);
(4) <A HREF="downloads/mmamm.m">mmamm.m</A> (written in 74 lines,
2885 bytes of Mathematica by Mario Carneiro);
(5) <A HREF="https://github.com/sorear/smm">smm</A> [external]
(written in JavaScript by Stefan O'Rear);
(6) <A HREF="http://mm.ivank.net/">MM Tool</A>
(written in JavaScript by Ivan Kuckir);
(7) <A HREF="https://github.com/Drahflow/Igor">Igor</A> [external]
(written in a custom language by Drahflow; in progress);
(8) <A HREF="#mmverify">mmverify</A>
(written in 350 lines of Python by Raph Levien);
(9) <A
HREF="http://home.solcon.nl/mklooster/repos/hmm/">Hmm</A> [external]
(written in 400 lines of Haskell by Marnix Klooster);
(10) <A
HREF="http://www.fiit.stuba.sk/~kiselkov/Metamath/verify.lua">verify</A>
[external] (written in 380 lines of Lua by Martin Kiselkov; needs 40 min
to verify set.mm, but provides an interesting example for learning Lua);
(11) <A
HREF="http://pdf23ds.net/bzr/MathEditor/Verifier/Verifier.cs">Verifer</A>
[external] (written in 550 lines of C# by Chris Capel);
(12) <A HREF="downloads/checkmm.cpp">checkmm.cpp</A>
(written in C++ by Eric Schmidt);
(13) <A HREF="https://github.com/sorear/smetamath-rs">smetamath-rs</A>
[external] (written in Rust by Stefan O'Rear).
The following
program provides a graphical user interface for displaying the output of
the Metamath program commands:
(14) <A
HREF="http://wiki.planetmath.org/cgi-bin/wiki.pl/mmide">mmide</A>
[external] (written in Python by William Hale).
<BR>
In addition, the
following programs verify proofs in their own languages derived from
Metamath:
(15) <A
HREF="http://ghilbert-app.appspot.com">gh_verify</A>
[external] (for the Ghilbert language; written in Python by Raph
Levien);
(16) <A
HREF="http://home.alamedanet.net/~dan.krejsa/shullivan/shullivan.html">Shullivan</A>
[external] (also for the Ghilbert language; written in C by Dan Krejsa;
loads and verifies the translated set.mm in 500 ms);
(17) <A
HREF="http://wiki.planetmath.org/cgi-bin/wiki.pl/Bourbaki_proof_checker">Bourbaki</A>
[external] (for a custom Lisp-like language; written in Common Lisp by
Juha Arpiainen);
(18) <A
HREF="http://wiki.planetmath.org/cgi-bin/wiki.pl/JHilbert">JHilbert</A>
[external] (written in Java by
Alexander Klauer), a proof verifier for collaborative theorem proving "in the
spirit of Ghilbert" and the engine behind <A
HREF="http://www.wikiproofs.org">Wikiproofs</A> [external]; and
(19) <A
HREF="http://russellmath.org/">Russell</A>
[external] (written in C++ by
D. Yu Vlasov), built upon Metamath
as a high level superstructure with an
automatic proving facility, described in a
<A HREF="http://zbmath.org/?q=an:06055320">paper</A>
[external] (in Russian) and reviewed
<A HREF="http://slawekk.wordpress.com/2012/08/19/the-russell-proof-language">here</A>.
-->
<P><A NAME="confidence"></A><FONT COLOR="#006633"><B>Q:</B> How confident
can I be in the proofs?</FONT><BR>
<B>A:</B> You can be extremely confident that the proofs follow from
their axioms.
All reasoning is done directly in the proof itself
rather than by algorithms embedded in the verification program.
Computer verification programs never get tired and rigorously check every step.
There is the risk that a verifier has a programming bug, but this
is countered by the Metamath language's small size
(this simplicity reduces the likelihood of such bugs) and
by using multiple independently-implemented verifiers
(since it is unlikely that all verifiers will have the same kind of bug).
For example, the
<A HREF="mpeuni/mmset.html">Metamath Proof Explorer</A>
is routinely checked by 4 independent verifiers:
<A HREF="#mmprog">metamath</A> (a C verifier by Norm Megill),
<A HREF="#mmj2">mmj2</A> (a Java verifier by Mel O'Cat and Mario Carneiro),
<A HREF="other.html#smetamath-rs">smetamath-rs</A>
(a high-speed Rust verifier by Stefan O'Rear), and
<A HREF="other.html#checkmm">checkmm</A> (a C++ verifier by Eric Schmidt).
In addition, the databases are public and can easily be inspected;
the hypertext links in generated proofs make it especially easy to move
from one theorem to the next.
Metamath enables an extremely rigorous form of peer review.
<P><A NAME="name"></A><FONT COLOR="#006633"><B>Q:</B> Why is it called
"Metamath"?</FONT><BR>
<B>A:</B> It means "metavariable math." See <A
HREF="mpeuni/mmset.html#mmname">A Note on the Axioms</A>. <!-- See also
the Comment in Section C.2.2 (p. 140) of the <A
HREF="#book"><I>Metamath</I> book</A>. -->
Metamath shouldn't be confused
with metamathematics (occasionally abbreviated metamath, metamaths,
or meta math), which is a specialized
branch of mathematics that studies
mathematics itself, leading to results such
as Gödel's incompleteness theorem. An expert in the latter is
called a metamathematician, so to avoid confusion
one might use "metamathician" for someone knowledgeable about Metamath.
<!--
<P><A NAME="if"></A><FONT COLOR="#006633"><B>Q:</B> The symbol "<IMG
SRC='mpeuni/_if.gif' WIDTH=11 HEIGHT=19 ALT='if' ALIGN=TOP>" shows up
in some set theory proofs such as <A HREF="mpeuni/redivclz.html">this
one</A>. What does it mean?</FONT><BR>
<B>A:</B> See the <A HREF="mpeuni/mmdeduction.html#quick">Deduction
Theorem</A>.
-->
<P><A NAME="other"></A><FONT COLOR="#006633"><B>Q:</B> Are there other
sites that formalize math from its foundations?</FONT><BR>
<B>A:</B> Another project that aims to rigorously formalize and verify
math is <A HREF="http://mizar.org/">Mizar</A> [retrieved 4-Aug-2016]. It
is intended to appeal to professional mathematicians and requires a
certain mathematical maturity to be able to follow its proofs. It tries
to mimic mathematical proofs they way they are normally published,
whereas Metamath shows you every little detail.<BR>
Some other well-known interactive
theorem provers are <A
HREF="http://www.cl.cam.ac.uk/~jrh13/hol-light/">HOL Light</A>
[retrieved 4-Aug-2016], <A
HREF="http://www.cl.cam.ac.uk/Research/HVG/Isabelle/index.html">Isabelle</A>
[retrieved 4-Aug-2016], and <A HREF="http://coq.inria.fr/">Coq</A> [retrieved 4-Aug-2016].
There are a few languages based on or derived from Metamath, e.g.,
Raph Levien has developed a related language called <A
HREF="http://ghilbert-app.appspot.com">Ghilbert</A> [retrieved 4-Aug-2016]
that strives to improve upon Metamath by guaranteeing the soundness of
definitions and providing features useful for collaborative work.
Freek Wiedijk wrote an interesting collection of <A
HREF="http://www.cs.kun.nl/~freek/notes/index.html">notes</A> [retrieved 4-Aug-2016]
comparing several mathematical proof languages. His book, <A
HREF="http://www.cs.ru.nl/~freek/comparison/comparison.pdf">The
Seventeen Provers of the World</A> [retrieved 4-Aug-2016] (PDF, 0.6MB), compares the
proofs that the square root of 2 is irrational in 17 proof languages,
including Metamath (theorem <A HREF="mpeuni/sqrt2irr.html">sqrt2irr</A>).
The
<a href="mm_100.html">Metamath 100</a> page shows metamath's progress
in
<a href="http://www.cs.ru.nl/~freek/100/">Formalizing 100 Theorems</a>
(a challenge set of theorems for math formalization systems).
<BR>
Unlike most other systems, Metamath
attempts to use the minimum possible framework needed to express
mathematics and its proofs. Other systems do not consider that aspect
necessarily important, and their underlying computer programs can be
large and complex in order to perform mathematical reasoning at a higher
level. Metamath's proofs are often quite long compared to those of
other systems, but they are completely transparent with nothing hidden
from the user. All reasoning is done directly in the proof itself
rather than by algorithms embedded in the verification program.
Metamath is unique in this sense, offering an alternative approach for
those attracted to its philosophy of simplicity.
<P><A NAME="contribute"></A><FONT COLOR="#006633"><B>Q:</B> How
can I contribute to Metamath?</FONT><BR>
<B>A:</B>
We'd be delighted to get your contributions!
The Metamath community has a large set of inter-related projects, so you first need to determine which
specific project you want to contribute to.
Here are some common cases:
<OL>
<LI>If you're contributing to "set.mm" (the set of proofs which starts
from ZFC set theory axioms and shown in the "Metamath Proof Explorer"),
the recommended approach is to use its GitHub repository at <A
HREF="https://github.com/metamath/set.mm">https://github.com/metamath/set.mm</A>
(at least as a starting point). For detailed instructions on using
GitHub for this project, read
<A HREF="https://github.com/metamath/set.mm/wiki/Getting-started-with-contributing"
>Getting started with contributing</A> and
<A
HREF="https://github.com/metamath/set.mm/blob/develop/CONTRIBUTING.md"
>CONTRIBUTING.md</A>.
As an alternative to submitting GitHub pull requests (if you don't want to
go through that learning curve in the beginning), you can
email patch files (differences) to
<A HREF="http://us.metamath.org/email.html">Norm Megill</A> or
<A HREF="mailto:[email protected]">Mario Carneiro</A> or even
post to the
<A HREF="https://groups.google.com/forum/#!forum/metamath">Metamath mailing
list</A>.
<LI>If you want to patch the mmj2 program (the editor/GUI proof
assistant written in Java by Mel O'Cat and enhanced by Mario Carneiro),
email <a href="mailto:[email protected]">Mario Carneiro</a> and/or get
yourself added to <a
href="https://github.com/digama0/mmj2">https://github.com/digama0/mmj2</a>.
<LI>If you want to patch the metamath.exe program (the original tool
implementation written in C), send your patch as a "unified diff" ("diff
-u") via email to <A HREF="email.html">Norm
Megill</A>.
<LI>If you want to modify a web page,
send email to <A HREF="http://us.metamath.org/email.html">Norm Megill</A>.
</OL>
When in doubt, ask or post your proposal to
the <A HREF="https://groups.google.com/forum/#!forum/metamath">metamath
mailing list</A>,
and/or privately email
<A HREF="email.html">Norm Megill</A> and
<A HREF="mailto:[email protected]">Mario Carneiro</A>.
<HR NOSHADE SIZE=1><A NAME="downloads"></A><CENTER><B><FONT
COLOR="#006633" SIZE="+1">Downloads</FONT></B>
</CENTER>
<UL>
<LI><A NAME="book"></A><A
HREF="downloads/metamath.pdf">metamath.pdf</A>
(1.3 MB)
<UL>
<LI><FONT COLOR="#006633"><I>Description:</I></FONT> The book
<B><I>Metamath: A Computer Language for Mathematical Proofs</I></B> (248 pp.),
written by Norman Megill
with extensive revisions by David A. Wheeler,
provides an in-depth understanding of the Metamath language
and program.
It is also called the <i>Metamath book</i>.
The first part of the book includes an easy-to-read informal discussion of
abstract mathematics and computers, with references to other proof
verifiers and automated theorem provers.
</LI>
<LI>
A <A HREF="http://www.lulu.com/shop/norman-megill-and-david-a-wheeler/metamath-a-computer-language-for-mathematical-proofs/hardcover/product-24129769.html"
>hardcover version of the <I>Metamath</I> book
(ISBN 978-0-3597-02237)</A> is also available if you prefer
a printed copy.
This was released in 2019 and is labelled second edition.
</LI>
<LI>A large print and narrow width version of the book,
suitable for reading on small devices such as smartphones, is <A
HREF="downloads/metamath-narrow.pdf">metamath-narrow.pdf</A>. This
version updates the Kindle version provided by John D. Baker in 2011.
</LI>
<LI>You can also view the <A
HREF="https://github.com/metamath/metamath-book/blob/master/errata.md"
>Metamath book errata</a>.
</LI>
<LI>
The
LaTeX source file for the book is <A
HREF="latex/metamath.tex">metamath.tex</A>; the comment at
the beginning explains how to compile it.
The source is maintained on GitHub at
<A HREF="https://github.com/metamath/metamath-book">https://github.com/metamath/metamath-book</A>
[retrieved 6-Feb-2019], which also provides an archive of older editions.
</LI>
<!-- In December 2018, the
predicate calculus axioms were renumbered and no longer
match those in Sections 3.3.2 and 3.3.3 of the book. A cross reference
between the new and old numbers can be found in
<A HREF="mpeuni/mmset.html#oldaxioms">Appendix 8</A> of the
Metamath Proof Explorer Home Page.
-->
<LI>The following BibTeX citation is suggested for the printed version.<p>
<TT><FONT SIZE=-1>
@Book{metamath,<BR>
author = {Norman D. Megill},<BR>
author = {David A. Wheeler},<BR>
title = {Metamath: A Computer Language for Mathematical Proofs},<BR>
year = {2019},<BR>
publisher = {Lulu Press},<BR>