![]() |
Intuitionistic Logic Explorer |
< Previous
Next >
Nearby theorems |
|
Mirrors > Home > ILE Home > Th. List > 1kp2ke3k | GIF version |
Description: Example for df-dec 9388, 1000 + 2000 = 3000.
This proof disproves (by counterexample) the assertion of Hao Wang, who stated, "There is a theorem in the primitive notation of set theory that corresponds to the arithmetic theorem 1000 + 2000 = 3000. The formula would be forbiddingly long... even if (one) knows the definitions and is asked to simplify the long formula according to them, chances are he will make errors and arrive at some incorrect result." (Hao Wang, "Theory and practice in mathematics" , In Thomas Tymoczko, editor, New Directions in the Philosophy of Mathematics, pp 129-152, Birkauser Boston, Inc., Boston, 1986. (QA8.6.N48). The quote itself is on page 140.) This is noted in Metamath: A Computer Language for Pure Mathematics by Norman Megill (2007) section 1.1.3. Megill then states, "A number of writers have conveyed the impression that the kind of absolute rigor provided by Metamath is an impossible dream, suggesting that a complete, formal verification of a typical theorem would take millions of steps in untold volumes of books... These writers assume, however, that in order to achieve the kind of complete formal verification they desire one must break down a proof into individual primitive steps that make direct reference to the axioms. This is not necessary. There is no reason not to make use of previously proved theorems rather than proving them over and over... A hierarchy of theorems and definitions permits an exponential growth in the formula sizes and primitive proof steps to be described with only a linear growth in the number of symbols used. Of course, this is how ordinary informal mathematics is normally done anyway, but with Metamath it can be done with absolute rigor and precision." The proof here starts with (2 + 1) = 3, commutes it, and repeatedly multiplies both sides by ten. This is certainly longer than traditional mathematical proofs, e.g., there are a number of steps explicitly shown here to show that we're allowed to do operations such as multiplication. However, while longer, the proof is clearly a manageable size - even though every step is rigorously derived all the way back to the primitive notions of set theory and logic. And while there's a risk of making errors, the many independent verifiers make it much less likely that an incorrect result will be accepted. This proof heavily relies on the decimal constructor df-dec 9388 developed by Mario Carneiro in 2015. The underlying Metamath language has an intentionally very small set of primitives; it doesn't even have a built-in construct for numbers. Instead, the digits are defined using these primitives, and the decimal constructor is used to make it easy to express larger numbers as combinations of digits. (Contributed by David A. Wheeler, 29-Jun-2016.) (Shortened by Mario Carneiro using the arithmetic algorithm in mmj2, 30-Jun-2016.) |
Ref | Expression |
---|---|
1kp2ke3k | ⊢ (;;;1000 + ;;;2000) = ;;;3000 |
Step | Hyp | Ref | Expression |
---|---|---|---|
1 | 1nn0 9195 | . . . 4 ⊢ 1 ∈ ℕ0 | |
2 | 0nn0 9194 | . . . 4 ⊢ 0 ∈ ℕ0 | |
3 | 1, 2 | deccl 9401 | . . 3 ⊢ ;10 ∈ ℕ0 |
4 | 3, 2 | deccl 9401 | . 2 ⊢ ;;100 ∈ ℕ0 |
5 | 2nn0 9196 | . . . 4 ⊢ 2 ∈ ℕ0 | |
6 | 5, 2 | deccl 9401 | . . 3 ⊢ ;20 ∈ ℕ0 |
7 | 6, 2 | deccl 9401 | . 2 ⊢ ;;200 ∈ ℕ0 |
8 | eqid 2177 | . 2 ⊢ ;;;1000 = ;;;1000 | |
9 | eqid 2177 | . 2 ⊢ ;;;2000 = ;;;2000 | |
10 | eqid 2177 | . . 3 ⊢ ;;100 = ;;100 | |
11 | eqid 2177 | . . 3 ⊢ ;;200 = ;;200 | |
12 | eqid 2177 | . . . 4 ⊢ ;10 = ;10 | |
13 | eqid 2177 | . . . 4 ⊢ ;20 = ;20 | |
14 | 1p2e3 9056 | . . . 4 ⊢ (1 + 2) = 3 | |
15 | 00id 8101 | . . . 4 ⊢ (0 + 0) = 0 | |
16 | 1, 2, 5, 2, 12, 13, 14, 15 | decadd 9440 | . . 3 ⊢ (;10 + ;20) = ;30 |
17 | 3, 2, 6, 2, 10, 11, 16, 15 | decadd 9440 | . 2 ⊢ (;;100 + ;;200) = ;;300 |
18 | 4, 2, 7, 2, 8, 9, 17, 15 | decadd 9440 | 1 ⊢ (;;;1000 + ;;;2000) = ;;;3000 |
Colors of variables: wff set class |
Syntax hints: = wceq 1353 (class class class)co 5878 0cc0 7814 1c1 7815 + caddc 7817 2c2 8973 3c3 8974 ;cdc 9387 |
This theorem was proved from axioms: ax-mp 5 ax-1 6 ax-2 7 ax-ia1 106 ax-ia2 107 ax-ia3 108 ax-in1 614 ax-in2 615 ax-io 709 ax-5 1447 ax-7 1448 ax-gen 1449 ax-ie1 1493 ax-ie2 1494 ax-8 1504 ax-10 1505 ax-11 1506 ax-i12 1507 ax-bndl 1509 ax-4 1510 ax-17 1526 ax-i9 1530 ax-ial 1534 ax-i5r 1535 ax-14 2151 ax-ext 2159 ax-sep 4123 ax-pow 4176 ax-pr 4211 ax-setind 4538 ax-cnex 7905 ax-resscn 7906 ax-1cn 7907 ax-1re 7908 ax-icn 7909 ax-addcl 7910 ax-addrcl 7911 ax-mulcl 7912 ax-addcom 7914 ax-mulcom 7915 ax-addass 7916 ax-mulass 7917 ax-distr 7918 ax-i2m1 7919 ax-1rid 7921 ax-0id 7922 ax-rnegex 7923 ax-cnre 7925 |
This theorem depends on definitions: df-bi 117 df-3an 980 df-tru 1356 df-fal 1359 df-nf 1461 df-sb 1763 df-eu 2029 df-mo 2030 df-clab 2164 df-cleq 2170 df-clel 2173 df-nfc 2308 df-ne 2348 df-ral 2460 df-rex 2461 df-reu 2462 df-rab 2464 df-v 2741 df-sbc 2965 df-dif 3133 df-un 3135 df-in 3137 df-ss 3144 df-pw 3579 df-sn 3600 df-pr 3601 df-op 3603 df-uni 3812 df-int 3847 df-br 4006 df-opab 4067 df-id 4295 df-xp 4634 df-rel 4635 df-cnv 4636 df-co 4637 df-dm 4638 df-iota 5180 df-fun 5220 df-fv 5226 df-riota 5834 df-ov 5881 df-oprab 5882 df-mpo 5883 df-sub 8133 df-inn 8923 df-2 8981 df-3 8982 df-4 8983 df-5 8984 df-6 8985 df-7 8986 df-8 8987 df-9 8988 df-n0 9180 df-dec 9388 |
This theorem is referenced by: (None) |
Copyright terms: Public domain | W3C validator |