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

Theorem 1kp2ke3k 13605
Description: Example for df-dec 9323, 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 9323 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 (1000 + 2000) = 3000

Proof of Theorem 1kp2ke3k
StepHypRef Expression
1 1nn0 9130 . . . 4 1 ∈ ℕ0
2 0nn0 9129 . . . 4 0 ∈ ℕ0
31, 2deccl 9336 . . 3 10 ∈ ℕ0
43, 2deccl 9336 . 2 100 ∈ ℕ0
5 2nn0 9131 . . . 4 2 ∈ ℕ0
65, 2deccl 9336 . . 3 20 ∈ ℕ0
76, 2deccl 9336 . 2 200 ∈ ℕ0
8 eqid 2165 . 2 1000 = 1000
9 eqid 2165 . 2 2000 = 2000
10 eqid 2165 . . 3 100 = 100
11 eqid 2165 . . 3 200 = 200
12 eqid 2165 . . . 4 10 = 10
13 eqid 2165 . . . 4 20 = 20
14 1p2e3 8991 . . . 4 (1 + 2) = 3
15 00id 8039 . . . 4 (0 + 0) = 0
161, 2, 5, 2, 12, 13, 14, 15decadd 9375 . . 3 (10 + 20) = 30
173, 2, 6, 2, 10, 11, 16, 15decadd 9375 . 2 (100 + 200) = 300
184, 2, 7, 2, 8, 9, 17, 15decadd 9375 1 (1000 + 2000) = 3000
Colors of variables: wff set class
Syntax hints:   = wceq 1343  (class class class)co 5842  0cc0 7753  1c1 7754   + caddc 7756  2c2 8908  3c3 8909  cdc 9322
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-ia1 105  ax-ia2 106  ax-ia3 107  ax-in1 604  ax-in2 605  ax-io 699  ax-5 1435  ax-7 1436  ax-gen 1437  ax-ie1 1481  ax-ie2 1482  ax-8 1492  ax-10 1493  ax-11 1494  ax-i12 1495  ax-bndl 1497  ax-4 1498  ax-17 1514  ax-i9 1518  ax-ial 1522  ax-i5r 1523  ax-14 2139  ax-ext 2147  ax-sep 4100  ax-pow 4153  ax-pr 4187  ax-setind 4514  ax-cnex 7844  ax-resscn 7845  ax-1cn 7846  ax-1re 7847  ax-icn 7848  ax-addcl 7849  ax-addrcl 7850  ax-mulcl 7851  ax-addcom 7853  ax-mulcom 7854  ax-addass 7855  ax-mulass 7856  ax-distr 7857  ax-i2m1 7858  ax-1rid 7860  ax-0id 7861  ax-rnegex 7862  ax-cnre 7864
This theorem depends on definitions:  df-bi 116  df-3an 970  df-tru 1346  df-fal 1349  df-nf 1449  df-sb 1751  df-eu 2017  df-mo 2018  df-clab 2152  df-cleq 2158  df-clel 2161  df-nfc 2297  df-ne 2337  df-ral 2449  df-rex 2450  df-reu 2451  df-rab 2453  df-v 2728  df-sbc 2952  df-dif 3118  df-un 3120  df-in 3122  df-ss 3129  df-pw 3561  df-sn 3582  df-pr 3583  df-op 3585  df-uni 3790  df-int 3825  df-br 3983  df-opab 4044  df-id 4271  df-xp 4610  df-rel 4611  df-cnv 4612  df-co 4613  df-dm 4614  df-iota 5153  df-fun 5190  df-fv 5196  df-riota 5798  df-ov 5845  df-oprab 5846  df-mpo 5847  df-sub 8071  df-inn 8858  df-2 8916  df-3 8917  df-4 8918  df-5 8919  df-6 8920  df-7 8921  df-8 8922  df-9 8923  df-n0 9115  df-dec 9323
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator