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

Theorem 1kp2ke3k 20810
Description: Example for df-dec 10121, 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 10121 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 9977 . . . 4  |-  1  e.  NN0
2 0nn0 9976 . . . 4  |-  0  e.  NN0
31, 2deccl 10134 . . 3  |- ; 1 0  e.  NN0
43, 2deccl 10134 . 2  |- ;; 1 0 0  e.  NN0
5 2nn0 9978 . . . 4  |-  2  e.  NN0
65, 2deccl 10134 . . 3  |- ; 2 0  e.  NN0
76, 2deccl 10134 . 2  |- ;; 2 0 0  e.  NN0
8 eqid 2284 . 2  |- ;;; 1 0 0 0  = ;;; 1 0 0 0
9 eqid 2284 . 2  |- ;;; 2 0 0 0  = ;;; 2 0 0 0
10 eqid 2284 . . 3  |- ;; 1 0 0  = ;; 1 0 0
11 eqid 2284 . . 3  |- ;; 2 0 0  = ;; 2 0 0
12 eqid 2284 . . . 4  |- ; 1 0  = ; 1 0
13 eqid 2284 . . . 4  |- ; 2 0  = ; 2 0
14 2cn 9812 . . . . 5  |-  2  e.  CC
15 ax-1cn 8791 . . . . 5  |-  1  e.  CC
16 2p1e3 9843 . . . . 5  |-  ( 2  +  1 )  =  3
1714, 15, 16addcomli 9000 . . . 4  |-  ( 1  +  2 )  =  3
18 00id 8983 . . . 4  |-  ( 0  +  0 )  =  0
191, 2, 5, 2, 12, 13, 17, 18decadd 10161 . . 3  |-  (; 1 0  + ; 2 0 )  = ; 3
0
203, 2, 6, 2, 10, 11, 19, 18decadd 10161 . 2  |-  (;; 1 0 0  + ;; 2 0 0 )  = ;; 3 0 0
214, 2, 7, 2, 8, 9, 20, 18decadd 10161 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 5820   0cc0 8733   1c1 8734    + caddc 8736   2c2 9791   3c3 9792  ;cdc 10120
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 1636  ax-8 1644  ax-13 1687  ax-14 1689  ax-6 1704  ax-7 1709  ax-11 1716  ax-12 1868  ax-ext 2265  ax-sep 4142  ax-nul 4150  ax-pow 4187  ax-pr 4213  ax-un 4511  ax-resscn 8790  ax-1cn 8791  ax-icn 8792  ax-addcl 8793  ax-addrcl 8794  ax-mulcl 8795  ax-mulrcl 8796  ax-mulcom 8797  ax-addass 8798  ax-mulass 8799  ax-distr 8800  ax-i2m1 8801  ax-1ne0 8802  ax-1rid 8803  ax-rnegex 8804  ax-rrecex 8805  ax-cnre 8806  ax-pre-lttri 8807  ax-pre-lttrn 8808  ax-pre-ltadd 8809
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 1631  df-eu 2148  df-mo 2149  df-clab 2271  df-cleq 2277  df-clel 2280  df-nfc 2409  df-ne 2449  df-nel 2450  df-ral 2549  df-rex 2550  df-reu 2551  df-rab 2553  df-v 2791  df-sbc 2993  df-csb 3083  df-dif 3156  df-un 3158  df-in 3160  df-ss 3167  df-pss 3169  df-nul 3457  df-if 3567  df-pw 3628  df-sn 3647  df-pr 3648  df-tp 3649  df-op 3650  df-uni 3829  df-iun 3908  df-br 4025  df-opab 4079  df-mpt 4080  df-tr 4115  df-eprel 4304  df-id 4308  df-po 4313  df-so 4314  df-fr 4351  df-we 4353  df-ord 4394  df-on 4395  df-lim 4396  df-suc 4397  df-om 4656  df-xp 4694  df-rel 4695  df-cnv 4696  df-co 4697  df-dm 4698  df-rn 4699  df-res 4700  df-ima 4701  df-fun 5223  df-fn 5224  df-f 5225  df-f1 5226  df-fo 5227  df-f1o 5228  df-fv 5229  df-ov 5823  df-recs 6384  df-rdg 6419  df-er 6656  df-en 6860  df-dom 6861  df-sdom 6862  df-pnf 8865  df-mnf 8866  df-ltxr 8868  df-nn 9743  df-2 9800  df-3 9801  df-4 9802  df-5 9803  df-6 9804  df-7 9805  df-8 9806  df-9 9807  df-10 9808  df-n0 9962  df-dec 10121
  Copyright terms: Public domain W3C validator