MPE Home Metamath Proof Explorer < Previous   Next >
Nearby theorems
Mirrors  >  Home  >  MPE Home  >  Th. List  >  smumul Structured version   Visualization version   GIF version

Theorem smumul 15417
Description: For sequences that correspond to valid integers, the sequence multiplication function produces the sequence for the product. This is effectively a proof of the correctness of the multiplication process, implemented in terms of logic gates for df-sad 15375, whose correctness is verified in sadadd 15391.

Outside this range, the sequences cannot be representing integers, but the smul function still "works". This extended function is best interpreted in terms of the ring structure of the 2-adic integers. (Contributed by Mario Carneiro, 22-Sep-2016.)

Assertion
Ref Expression
smumul ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((bits‘𝐴) smul (bits‘𝐵)) = (bits‘(𝐴 · 𝐵)))

Proof of Theorem smumul
Dummy variable 𝑘 is distinct from all other variables.
StepHypRef Expression
1 bitsss 15350 . . . . . 6 (bits‘𝐴) ⊆ ℕ0
2 bitsss 15350 . . . . . 6 (bits‘𝐵) ⊆ ℕ0
3 smucl 15408 . . . . . 6 (((bits‘𝐴) ⊆ ℕ0 ∧ (bits‘𝐵) ⊆ ℕ0) → ((bits‘𝐴) smul (bits‘𝐵)) ⊆ ℕ0)
41, 2, 3mp2an 710 . . . . 5 ((bits‘𝐴) smul (bits‘𝐵)) ⊆ ℕ0
54sseli 3740 . . . 4 (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) → 𝑘 ∈ ℕ0)
65a1i 11 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) → 𝑘 ∈ ℕ0))
7 bitsss 15350 . . . . 5 (bits‘(𝐴 · 𝐵)) ⊆ ℕ0
87sseli 3740 . . . 4 (𝑘 ∈ (bits‘(𝐴 · 𝐵)) → 𝑘 ∈ ℕ0)
98a1i 11 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ (bits‘(𝐴 · 𝐵)) → 𝑘 ∈ ℕ0))
10 simpll 807 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐴 ∈ ℤ)
11 simplr 809 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐵 ∈ ℤ)
12 simpr 479 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ ℕ0)
13 1nn0 11500 . . . . . . . . . . . . . 14 1 ∈ ℕ0
1413a1i 11 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 1 ∈ ℕ0)
1512, 14nn0addcld 11547 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℕ0)
1610, 11, 15smumullem 15416 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) = (bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)))
1716ineq1d 3956 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
18 2nn 11377 . . . . . . . . . . . . . . . 16 2 ∈ ℕ
1918a1i 11 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 2 ∈ ℕ)
2019, 15nnexpcld 13224 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (2↑(𝑘 + 1)) ∈ ℕ)
2110, 20zmodcld 12885 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 mod (2↑(𝑘 + 1))) ∈ ℕ0)
2221nn0zd 11672 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 mod (2↑(𝑘 + 1))) ∈ ℤ)
2322, 11zmulcld 11680 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) ∈ ℤ)
24 bitsmod 15360 . . . . . . . . . . 11 ((((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
2523, 15, 24syl2anc 696 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
2617, 25eqtr4d 2797 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))))
27 inass 3966 . . . . . . . . . . . . 13 (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) = ((bits‘𝐴) ∩ ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1))))
28 inidm 3965 . . . . . . . . . . . . . 14 ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1))) = (0..^(𝑘 + 1))
2928ineq2i 3954 . . . . . . . . . . . . 13 ((bits‘𝐴) ∩ ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1)))) = ((bits‘𝐴) ∩ (0..^(𝑘 + 1)))
3027, 29eqtri 2782 . . . . . . . . . . . 12 (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) = ((bits‘𝐴) ∩ (0..^(𝑘 + 1)))
3130oveq1i 6823 . . . . . . . . . . 11 ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) = (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1))))
3231ineq1i 3953 . . . . . . . . . 10 (((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))) = ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1)))
33 inss1 3976 . . . . . . . . . . . 12 ((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ⊆ (bits‘𝐴)
341a1i 11 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘𝐴) ⊆ ℕ0)
3533, 34syl5ss 3755 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ⊆ ℕ0)
362a1i 11 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘𝐵) ⊆ ℕ0)
3735, 36, 15smueq 15415 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))))
3834, 36, 15smueq 15415 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))))
3932, 37, 383eqtr4a 2820 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))))
4020nnrpd 12063 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (2↑(𝑘 + 1)) ∈ ℝ+)
4110zred 11674 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐴 ∈ ℝ)
42 modabs2 12898 . . . . . . . . . . . 12 ((𝐴 ∈ ℝ ∧ (2↑(𝑘 + 1)) ∈ ℝ+) → ((𝐴 mod (2↑(𝑘 + 1))) mod (2↑(𝑘 + 1))) = (𝐴 mod (2↑(𝑘 + 1))))
4341, 40, 42syl2anc 696 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝐴 mod (2↑(𝑘 + 1))) mod (2↑(𝑘 + 1))) = (𝐴 mod (2↑(𝑘 + 1))))
44 eqidd 2761 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐵 mod (2↑(𝑘 + 1))) = (𝐵 mod (2↑(𝑘 + 1))))
4522, 10, 11, 11, 40, 43, 44modmul12d 12918 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1))) = ((𝐴 · 𝐵) mod (2↑(𝑘 + 1))))
4645fveq2d 6356 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))))
4726, 39, 463eqtr3d 2802 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))))
4810, 11zmulcld 11680 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 · 𝐵) ∈ ℤ)
49 bitsmod 15360 . . . . . . . . 9 (((𝐴 · 𝐵) ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ0) → (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5048, 15, 49syl2anc 696 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5147, 50eqtrd 2794 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5251eleq2d 2825 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) ↔ 𝑘 ∈ ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1)))))
53 elin 3939 . . . . . 6 (𝑘 ∈ (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))))
54 elin 3939 . . . . . 6 (𝑘 ∈ ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))))
5552, 53, 543bitr3g 302 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
56 nn0uz 11915 . . . . . . . . 9 0 = (ℤ‘0)
5712, 56syl6eleq 2849 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (ℤ‘0))
58 eluzfz2b 12543 . . . . . . . 8 (𝑘 ∈ (ℤ‘0) ↔ 𝑘 ∈ (0...𝑘))
5957, 58sylib 208 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (0...𝑘))
6012nn0zd 11672 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ ℤ)
61 fzval3 12731 . . . . . . . 8 (𝑘 ∈ ℤ → (0...𝑘) = (0..^(𝑘 + 1)))
6260, 61syl 17 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (0...𝑘) = (0..^(𝑘 + 1)))
6359, 62eleqtrd 2841 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (0..^(𝑘 + 1)))
6463biantrud 529 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
6563biantrud 529 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
6655, 64, 653bitr4d 300 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵))))
6766ex 449 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ℕ0 → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵)))))
686, 9, 67pm5.21ndd 368 . 2 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵))))
6968eqrdv 2758 1 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((bits‘𝐴) smul (bits‘𝐵)) = (bits‘(𝐴 · 𝐵)))
Colors of variables: wff setvar class
Syntax hints:  wi 4  wb 196  wa 383   = wceq 1632  wcel 2139  cin 3714  wss 3715  cfv 6049  (class class class)co 6813  cr 10127  0cc0 10128  1c1 10129   + caddc 10131   · cmul 10133  cn 11212  2c2 11262  0cn0 11484  cz 11569  cuz 11879  +crp 12025  ...cfz 12519  ..^cfzo 12659   mod cmo 12862  cexp 13054  bitscbits 15343   smul csmu 15345
This theorem was proved from axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1871  ax-4 1886  ax-5 1988  ax-6 2054  ax-7 2090  ax-8 2141  ax-9 2148  ax-10 2168  ax-11 2183  ax-12 2196  ax-13 2391  ax-ext 2740  ax-rep 4923  ax-sep 4933  ax-nul 4941  ax-pow 4992  ax-pr 5055  ax-un 7114  ax-inf2 8711  ax-cnex 10184  ax-resscn 10185  ax-1cn 10186  ax-icn 10187  ax-addcl 10188  ax-addrcl 10189  ax-mulcl 10190  ax-mulrcl 10191  ax-mulcom 10192  ax-addass 10193  ax-mulass 10194  ax-distr 10195  ax-i2m1 10196  ax-1ne0 10197  ax-1rid 10198  ax-rnegex 10199  ax-rrecex 10200  ax-cnre 10201  ax-pre-lttri 10202  ax-pre-lttrn 10203  ax-pre-ltadd 10204  ax-pre-mulgt0 10205  ax-pre-sup 10206
This theorem depends on definitions:  df-bi 197  df-or 384  df-an 385  df-3or 1073  df-3an 1074  df-xor 1614  df-tru 1635  df-fal 1638  df-had 1682  df-cad 1695  df-ex 1854  df-nf 1859  df-sb 2047  df-eu 2611  df-mo 2612  df-clab 2747  df-cleq 2753  df-clel 2756  df-nfc 2891  df-ne 2933  df-nel 3036  df-ral 3055  df-rex 3056  df-reu 3057  df-rmo 3058  df-rab 3059  df-v 3342  df-sbc 3577  df-csb 3675  df-dif 3718  df-un 3720  df-in 3722  df-ss 3729  df-pss 3731  df-nul 4059  df-if 4231  df-pw 4304  df-sn 4322  df-pr 4324  df-tp 4326  df-op 4328  df-uni 4589  df-int 4628  df-iun 4674  df-disj 4773  df-br 4805  df-opab 4865  df-mpt 4882  df-tr 4905  df-id 5174  df-eprel 5179  df-po 5187  df-so 5188  df-fr 5225  df-se 5226  df-we 5227  df-xp 5272  df-rel 5273  df-cnv 5274  df-co 5275  df-dm 5276  df-rn 5277  df-res 5278  df-ima 5279  df-pred 5841  df-ord 5887  df-on 5888  df-lim 5889  df-suc 5890  df-iota 6012  df-fun 6051  df-fn 6052  df-f 6053  df-f1 6054  df-fo 6055  df-f1o 6056  df-fv 6057  df-isom 6058  df-riota 6774  df-ov 6816  df-oprab 6817  df-mpt2 6818  df-om 7231  df-1st 7333  df-2nd 7334  df-wrecs 7576  df-recs 7637  df-rdg 7675  df-1o 7729  df-2o 7730  df-oadd 7733  df-er 7911  df-map 8025  df-pm 8026  df-en 8122  df-dom 8123  df-sdom 8124  df-fin 8125  df-sup 8513  df-inf 8514  df-oi 8580  df-card 8955  df-cda 9182  df-pnf 10268  df-mnf 10269  df-xr 10270  df-ltxr 10271  df-le 10272  df-sub 10460  df-neg 10461  df-div 10877  df-nn 11213  df-2 11271  df-3 11272  df-n0 11485  df-xnn0 11556  df-z 11570  df-uz 11880  df-rp 12026  df-fz 12520  df-fzo 12660  df-fl 12787  df-mod 12863  df-seq 12996  df-exp 13055  df-hash 13312  df-cj 14038  df-re 14039  df-im 14040  df-sqrt 14174  df-abs 14175  df-clim 14418  df-sum 14616  df-dvds 15183  df-bits 15346  df-sad 15375  df-smu 15400
This theorem is referenced by: (None)
  Copyright terms: Public domain W3C validator