MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  1kp2ke3k Unicode version

Theorem 1kp2ke3k 20833
Description: Example for df-dec 10125, 1000 + 2000 = 3000.

This proof disproves (by counter-example) 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 10125 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.)

Assertion
Ref Expression
1kp2ke3k  |-  (;;; 1 0 0 0  + ;;; 2 0 0 0 )  = ;;; 3 0 0 0

Proof of Theorem 1kp2ke3k
StepHypRef Expression
1 1nn0 9981 . . . 4  |-  1  e.  NN0
2 0nn0 9980 . . . 4  |-  0  e.  NN0
31, 2deccl 10138 . . 3  |- ; 1 0  e.  NN0
43, 2deccl 10138 . 2  |- ;; 1 0 0  e.  NN0
5 2nn0 9982 . . . 4  |-  2  e.  NN0
65, 2deccl 10138 . . 3  |- ; 2 0  e.  NN0
76, 2deccl 10138 . 2  |- ;; 2 0 0  e.  NN0
8 eqid 2283 . 2  |- ;;; 1 0 0 0  = ;;; 1 0 0 0
9 eqid 2283 . 2  |- ;;; 2 0 0 0  = ;;; 2 0 0 0
10 eqid 2283 . . 3  |- ;; 1 0 0  = ;; 1 0 0
11 eqid 2283 . . 3  |- ;; 2 0 0  = ;; 2 0 0
12 eqid 2283 . . . 4  |- ; 1 0  = ; 1 0
13 eqid 2283 . . . 4  |- ; 2 0  = ; 2 0
14 2cn 9816 . . . . 5  |-  2  e.  CC
15 ax-1cn 8795 . . . . 5  |-  1  e.  CC
16 2p1e3 9847 . . . . 5  |-  ( 2  +  1 )  =  3
1714, 15, 16addcomli 9004 . . . 4  |-  ( 1  +  2 )  =  3
18 00id 8987 . . . 4  |-  ( 0  +  0 )  =  0
191, 2, 5, 2, 12, 13, 17, 18decadd 10165 . . 3  |-  (; 1 0  + ; 2 0 )  = ; 3
0
203, 2, 6, 2, 10, 11, 19, 18decadd 10165 . 2  |-  (;; 1 0 0  + ;; 2 0 0 )  = ;; 3 0 0
214, 2, 7, 2, 8, 9, 20, 18decadd 10165 1  |-  (;;; 1 0 0 0  + ;;; 2 0 0 0 )  = ;;; 3 0 0 0
Colors of variables: wff set class
Syntax hints:    = wceq 1623  (class class class)co 5858   0cc0 8737   1c1 8738    + caddc 8740   2c2 9795   3c3 9796  ;cdc 10124
This theorem was proved from axioms:  ax-1 5  ax-2 6  ax-3 7  ax-mp 8  ax-gen 1533  ax-5 1544  ax-17 1603  ax-9 1635  ax-8 1643  ax-13 1686  ax-14 1688  ax-6 1703  ax-7 1708  ax-11 1715  ax-12 1866  ax-ext 2264  ax-sep 4141  ax-nul 4149  ax-pow 4188  ax-pr 4214  ax-un 4512  ax-resscn 8794  ax-1cn 8795  ax-icn 8796  ax-addcl 8797  ax-addrcl 8798  ax-mulcl 8799  ax-mulrcl 8800  ax-mulcom 8801  ax-addass 8802  ax-mulass 8803  ax-distr 8804  ax-i2m1 8805  ax-1ne0 8806  ax-1rid 8807  ax-rnegex 8808  ax-rrecex 8809  ax-cnre 8810  ax-pre-lttri 8811  ax-pre-lttrn 8812  ax-pre-ltadd 8813
This theorem depends on definitions:  df-bi 177  df-or 359  df-an 360  df-3or 935  df-3an 936  df-tru 1310  df-ex 1529  df-nf 1532  df-sb 1630  df-eu 2147  df-mo 2148  df-clab 2270  df-cleq 2276  df-clel 2279  df-nfc 2408  df-ne 2448  df-nel 2449  df-ral 2548  df-rex 2549  df-reu 2550  df-rab 2552  df-v 2790  df-sbc 2992  df-csb 3082  df-dif 3155  df-un 3157  df-in 3159  df-ss 3166  df-pss 3168  df-nul 3456  df-if 3566  df-pw 3627  df-sn 3646  df-pr 3647  df-tp 3648  df-op 3649  df-uni 3828  df-iun 3907  df-br 4024  df-opab 4078  df-mpt 4079  df-tr 4114  df-eprel 4305  df-id 4309  df-po 4314  df-so 4315  df-fr 4352  df-we 4354  df-ord 4395  df-on 4396  df-lim 4397  df-suc 4398  df-om 4657  df-xp 4695  df-rel 4696  df-cnv 4697  df-co 4698  df-dm 4699  df-rn 4700  df-res 4701  df-ima 4702  df-iota 5219  df-fun 5257  df-fn 5258  df-f 5259  df-f1 5260  df-fo 5261  df-f1o 5262  df-fv 5263  df-ov 5861  df-recs 6388  df-rdg 6423  df-er 6660  df-en 6864  df-dom 6865  df-sdom 6866  df-pnf 8869  df-mnf 8870  df-ltxr 8872  df-nn 9747  df-2 9804  df-3 9805  df-4 9806  df-5 9807  df-6 9808  df-7 9809  df-8 9810  df-9 9811  df-10 9812  df-n0 9966  df-dec 10125
  Copyright terms: Public domain W3C validator