Metamath Proof Explorer


Theorem nummac

Description: Perform a multiply-add of two decimal integers M and N against a fixed multiplicand P (with carry). (Contributed by Mario Carneiro, 18-Feb-2014)

Ref Expression
Hypotheses numma.1 โŠข ๐‘‡ โˆˆ โ„•0
numma.2 โŠข ๐ด โˆˆ โ„•0
numma.3 โŠข ๐ต โˆˆ โ„•0
numma.4 โŠข ๐ถ โˆˆ โ„•0
numma.5 โŠข ๐ท โˆˆ โ„•0
numma.6 โŠข ๐‘€ = ( ( ๐‘‡ ยท ๐ด ) + ๐ต )
numma.7 โŠข ๐‘ = ( ( ๐‘‡ ยท ๐ถ ) + ๐ท )
nummac.8 โŠข ๐‘ƒ โˆˆ โ„•0
nummac.9 โŠข ๐น โˆˆ โ„•0
nummac.10 โŠข ๐บ โˆˆ โ„•0
nummac.11 โŠข ( ( ๐ด ยท ๐‘ƒ ) + ( ๐ถ + ๐บ ) ) = ๐ธ
nummac.12 โŠข ( ( ๐ต ยท ๐‘ƒ ) + ๐ท ) = ( ( ๐‘‡ ยท ๐บ ) + ๐น )
Assertion nummac ( ( ๐‘€ ยท ๐‘ƒ ) + ๐‘ ) = ( ( ๐‘‡ ยท ๐ธ ) + ๐น )

Proof

Step Hyp Ref Expression
1 numma.1 โŠข ๐‘‡ โˆˆ โ„•0
2 numma.2 โŠข ๐ด โˆˆ โ„•0
3 numma.3 โŠข ๐ต โˆˆ โ„•0
4 numma.4 โŠข ๐ถ โˆˆ โ„•0
5 numma.5 โŠข ๐ท โˆˆ โ„•0
6 numma.6 โŠข ๐‘€ = ( ( ๐‘‡ ยท ๐ด ) + ๐ต )
7 numma.7 โŠข ๐‘ = ( ( ๐‘‡ ยท ๐ถ ) + ๐ท )
8 nummac.8 โŠข ๐‘ƒ โˆˆ โ„•0
9 nummac.9 โŠข ๐น โˆˆ โ„•0
10 nummac.10 โŠข ๐บ โˆˆ โ„•0
11 nummac.11 โŠข ( ( ๐ด ยท ๐‘ƒ ) + ( ๐ถ + ๐บ ) ) = ๐ธ
12 nummac.12 โŠข ( ( ๐ต ยท ๐‘ƒ ) + ๐ท ) = ( ( ๐‘‡ ยท ๐บ ) + ๐น )
13 1 nn0cni โŠข ๐‘‡ โˆˆ โ„‚
14 2 nn0cni โŠข ๐ด โˆˆ โ„‚
15 8 nn0cni โŠข ๐‘ƒ โˆˆ โ„‚
16 14 15 mulcli โŠข ( ๐ด ยท ๐‘ƒ ) โˆˆ โ„‚
17 4 nn0cni โŠข ๐ถ โˆˆ โ„‚
18 10 nn0cni โŠข ๐บ โˆˆ โ„‚
19 16 17 18 addassi โŠข ( ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) + ๐บ ) = ( ( ๐ด ยท ๐‘ƒ ) + ( ๐ถ + ๐บ ) )
20 19 11 eqtri โŠข ( ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) + ๐บ ) = ๐ธ
21 16 17 addcli โŠข ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) โˆˆ โ„‚
22 21 18 addcli โŠข ( ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) + ๐บ ) โˆˆ โ„‚
23 20 22 eqeltrri โŠข ๐ธ โˆˆ โ„‚
24 13 23 18 subdii โŠข ( ๐‘‡ ยท ( ๐ธ โˆ’ ๐บ ) ) = ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) )
25 24 oveq1i โŠข ( ( ๐‘‡ ยท ( ๐ธ โˆ’ ๐บ ) ) + ( ( ๐‘‡ ยท ๐บ ) + ๐น ) ) = ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ( ๐‘‡ ยท ๐บ ) + ๐น ) )
26 23 18 21 subadd2i โŠข ( ( ๐ธ โˆ’ ๐บ ) = ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) โ†” ( ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) + ๐บ ) = ๐ธ )
27 20 26 mpbir โŠข ( ๐ธ โˆ’ ๐บ ) = ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ )
28 27 eqcomi โŠข ( ( ๐ด ยท ๐‘ƒ ) + ๐ถ ) = ( ๐ธ โˆ’ ๐บ )
29 1 2 3 4 5 6 7 8 28 12 numma โŠข ( ( ๐‘€ ยท ๐‘ƒ ) + ๐‘ ) = ( ( ๐‘‡ ยท ( ๐ธ โˆ’ ๐บ ) ) + ( ( ๐‘‡ ยท ๐บ ) + ๐น ) )
30 13 23 mulcli โŠข ( ๐‘‡ ยท ๐ธ ) โˆˆ โ„‚
31 13 18 mulcli โŠข ( ๐‘‡ ยท ๐บ ) โˆˆ โ„‚
32 npcan โŠข ( ( ( ๐‘‡ ยท ๐ธ ) โˆˆ โ„‚ โˆง ( ๐‘‡ ยท ๐บ ) โˆˆ โ„‚ ) โ†’ ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ๐‘‡ ยท ๐บ ) ) = ( ๐‘‡ ยท ๐ธ ) )
33 30 31 32 mp2an โŠข ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ๐‘‡ ยท ๐บ ) ) = ( ๐‘‡ ยท ๐ธ )
34 33 oveq1i โŠข ( ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ๐‘‡ ยท ๐บ ) ) + ๐น ) = ( ( ๐‘‡ ยท ๐ธ ) + ๐น )
35 30 31 subcli โŠข ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) โˆˆ โ„‚
36 9 nn0cni โŠข ๐น โˆˆ โ„‚
37 35 31 36 addassi โŠข ( ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ๐‘‡ ยท ๐บ ) ) + ๐น ) = ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ( ๐‘‡ ยท ๐บ ) + ๐น ) )
38 34 37 eqtr3i โŠข ( ( ๐‘‡ ยท ๐ธ ) + ๐น ) = ( ( ( ๐‘‡ ยท ๐ธ ) โˆ’ ( ๐‘‡ ยท ๐บ ) ) + ( ( ๐‘‡ ยท ๐บ ) + ๐น ) )
39 25 29 38 3eqtr4i โŠข ( ( ๐‘€ ยท ๐‘ƒ ) + ๐‘ ) = ( ( ๐‘‡ ยท ๐ธ ) + ๐น )