ILE Home Intuitionistic Logic Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  ILE Home  >  Th. List  >  1kp2ke3k Unicode version

Theorem 1kp2ke3k 14616
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.)

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

Proof of Theorem 1kp2ke3k
StepHypRef Expression
1 1nn0 9195 . . . 4  |-  1  e.  NN0
2 0nn0 9194 . . . 4  |-  0  e.  NN0
31, 2deccl 9401 . . 3  |- ; 1 0  e.  NN0
43, 2deccl 9401 . 2  |- ;; 1 0 0  e.  NN0
5 2nn0 9196 . . . 4  |-  2  e.  NN0
65, 2deccl 9401 . . 3  |- ; 2 0  e.  NN0
76, 2deccl 9401 . 2  |- ;; 2 0 0  e.  NN0
8 eqid 2177 . 2  |- ;;; 1 0 0 0  = ;;; 1 0 0 0
9 eqid 2177 . 2  |- ;;; 2 0 0 0  = ;;; 2 0 0 0
10 eqid 2177 . . 3  |- ;; 1 0 0  = ;; 1 0 0
11 eqid 2177 . . 3  |- ;; 2 0 0  = ;; 2 0 0
12 eqid 2177 . . . 4  |- ; 1 0  = ; 1 0
13 eqid 2177 . . . 4  |- ; 2 0  = ; 2 0
14 1p2e3 9056 . . . 4  |-  ( 1  +  2 )  =  3
15 00id 8101 . . . 4  |-  ( 0  +  0 )  =  0
161, 2, 5, 2, 12, 13, 14, 15decadd 9440 . . 3  |-  (; 1 0  + ; 2 0 )  = ; 3
0
173, 2, 6, 2, 10, 11, 16, 15decadd 9440 . 2  |-  (;; 1 0 0  + ;; 2 0 0 )  = ;; 3 0 0
184, 2, 7, 2, 8, 9, 17, 15decadd 9440 1  |-  (;;; 1 0 0 0  + ;;; 2 0 0 0 )  = ;;; 3 0 0 0
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