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

Theorem smumul 16589
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 16547, whose correctness is verified in sadadd 16563.

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 16522 . . . . . 6 (bits‘𝐴) ⊆ ℕ0
2 bitsss 16522 . . . . . 6 (bits‘𝐵) ⊆ ℕ0
3 smucl 16580 . . . . . 6 (((bits‘𝐴) ⊆ ℕ0 ∧ (bits‘𝐵) ⊆ ℕ0) → ((bits‘𝐴) smul (bits‘𝐵)) ⊆ ℕ0)
41, 2, 3mp2an 705 . . . . 5 ((bits‘𝐴) smul (bits‘𝐵)) ⊆ ℕ0
54sseli 3930 . . . 4 (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) → 𝑘 ∈ ℕ0)
65a1i 11 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) → 𝑘 ∈ ℕ0))
7 bitsss 16522 . . . . 5 (bits‘(𝐴 · 𝐵)) ⊆ ℕ0
87sseli 3930 . . . 4 (𝑘 ∈ (bits‘(𝐴 · 𝐵)) → 𝑘 ∈ ℕ0)
98a1i 11 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ (bits‘(𝐴 · 𝐵)) → 𝑘 ∈ ℕ0))
10 simpll 779 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐴 ∈ ℤ)
11 simplr 781 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐵 ∈ ℤ)
12 simpr 490 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ ℕ0)
13 1nn0 12548 . . . . . . . . . . . . . 14 1 ∈ ℕ0
1413a1i 11 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 1 ∈ ℕ0)
1512, 14nn0addcld 12597 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 + 1) ∈ ℕ0)
1610, 11, 15smumullem 16588 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) = (bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)))
1716ineq1d 4168 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
18 2nn 12342 . . . . . . . . . . . . . . . 16 2 ∈ ℕ
1918a1i 11 . . . . . . . . . . . . . . 15 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 2 ∈ ℕ)
2019, 15nnexpcld 14313 . . . . . . . . . . . . . 14 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (2↑(𝑘 + 1)) ∈ ℕ)
2110, 20zmodcld 13957 . . . . . . . . . . . . 13 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 mod (2↑(𝑘 + 1))) ∈ ℕ0)
2221nn0zd 12644 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 mod (2↑(𝑘 + 1))) ∈ ℤ)
2322, 11zmulcld 12735 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) ∈ ℤ)
24 bitsmod 16532 . . . . . . . . . . 11 ((((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
2523, 15, 24syl2anc 596 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘((𝐴 mod (2↑(𝑘 + 1))) · 𝐵)) ∩ (0..^(𝑘 + 1))))
2617, 25eqtr4d 2800 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))))
27 inass 4176 . . . . . . . . . . . . 13 (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) = ((bits‘𝐴) ∩ ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1))))
28 inidm 4175 . . . . . . . . . . . . . 14 ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1))) = (0..^(𝑘 + 1))
2928ineq2i 4166 . . . . . . . . . . . . 13 ((bits‘𝐴) ∩ ((0..^(𝑘 + 1)) ∩ (0..^(𝑘 + 1)))) = ((bits‘𝐴) ∩ (0..^(𝑘 + 1)))
3027, 29eqtri 2785 . . . . . . . . . . . 12 (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) = ((bits‘𝐴) ∩ (0..^(𝑘 + 1)))
3130oveq1i 7427 . . . . . . . . . . 11 ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) = (((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1))))
3231ineq1i 4165 . . . . . . . . . 10 (((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))) = ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1)))
33 inss1 4185 . . . . . . . . . . . 12 ((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ⊆ (bits‘𝐴)
341a1i 11 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘𝐴) ⊆ ℕ0)
3533, 34sstrid 3945 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ⊆ ℕ0)
362a1i 11 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘𝐵) ⊆ ℕ0)
3735, 36, 15smueq 16587 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))))
3834, 36, 15smueq 16587 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul ((bits‘𝐵) ∩ (0..^(𝑘 + 1)))) ∩ (0..^(𝑘 + 1))))
3932, 37, 383eqtr4a 2823 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((((bits‘𝐴) ∩ (0..^(𝑘 + 1))) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))))
4020nnrpd 13088 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (2↑(𝑘 + 1)) ∈ ℝ+)
4110zred 12729 . . . . . . . . . . . 12 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝐴 ∈ ℝ)
42 modabs2 13970 . . . . . . . . . . . 12 ((𝐴 ∈ ℝ ∧ (2↑(𝑘 + 1)) ∈ ℝ+) → ((𝐴 mod (2↑(𝑘 + 1))) mod (2↑(𝑘 + 1))) = (𝐴 mod (2↑(𝑘 + 1))))
4341, 40, 42syl2anc 596 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝐴 mod (2↑(𝑘 + 1))) mod (2↑(𝑘 + 1))) = (𝐴 mod (2↑(𝑘 + 1))))
44 eqidd 2763 . . . . . . . . . . 11 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐵 mod (2↑(𝑘 + 1))) = (𝐵 mod (2↑(𝑘 + 1))))
4522, 10, 11, 11, 40, 43, 44modmul12d 13993 . . . . . . . . . 10 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1))) = ((𝐴 · 𝐵) mod (2↑(𝑘 + 1))))
4645fveq2d 6886 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘(((𝐴 mod (2↑(𝑘 + 1))) · 𝐵) mod (2↑(𝑘 + 1)))) = (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))))
4726, 39, 463eqtr3d 2805 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))))
4810, 11zmulcld 12735 . . . . . . . . 9 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝐴 · 𝐵) ∈ ℤ)
49 bitsmod 16532 . . . . . . . . 9 (((𝐴 · 𝐵) ∈ ℤ ∧ (𝑘 + 1) ∈ ℕ0) → (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5048, 15, 49syl2anc 596 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (bits‘((𝐴 · 𝐵) mod (2↑(𝑘 + 1)))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5147, 50eqtrd 2797 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) = ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))))
5251eleq2d 2848 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) ↔ 𝑘 ∈ ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1)))))
53 elin 3918 . . . . . 6 (𝑘 ∈ (((bits‘𝐴) smul (bits‘𝐵)) ∩ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))))
54 elin 3918 . . . . . 6 (𝑘 ∈ ((bits‘(𝐴 · 𝐵)) ∩ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))))
5552, 53, 543bitr3g 316 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → ((𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1))) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
56 nn0uz 12929 . . . . . . . . 9 0 = (ℤ‘0)
5712, 56eleqtrdi 2872 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (ℤ‘0))
58 eluzfz2b 13591 . . . . . . . 8 (𝑘 ∈ (ℤ‘0) ↔ 𝑘 ∈ (0...𝑘))
5957, 58sylib 221 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (0...𝑘))
6012nn0zd 12644 . . . . . . . 8 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ ℤ)
61 fzval3 13794 . . . . . . . 8 (𝑘 ∈ ℤ → (0...𝑘) = (0..^(𝑘 + 1)))
6260, 61syl 18 . . . . . . 7 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (0...𝑘) = (0..^(𝑘 + 1)))
6359, 62eleqtrd 2864 . . . . . 6 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → 𝑘 ∈ (0..^(𝑘 + 1)))
6463biantrud 541 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
6563biantrud 541 . . . . 5 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ↔ (𝑘 ∈ (bits‘(𝐴 · 𝐵)) ∧ 𝑘 ∈ (0..^(𝑘 + 1)))))
6655, 64, 653bitr4d 314 . . . 4 (((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) ∧ 𝑘 ∈ ℕ0) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵))))
6766ex 418 . . 3 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ℕ0 → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵)))))
686, 9, 67pm5.21ndd 382 . 2 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → (𝑘 ∈ ((bits‘𝐴) smul (bits‘𝐵)) ↔ 𝑘 ∈ (bits‘(𝐴 · 𝐵))))
6968eqrdv 2760 1 ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ) → ((bits‘𝐴) smul (bits‘𝐵)) = (bits‘(𝐴 · 𝐵)))
Colors of variables:    wff setvar class
This proof depends on syntax axioms:  wi 4  wb 209  wa 401   = wceq 1570  wcel 2145  cin 3901  wss 3902  cfv 6537  (class class class)co 7417  cr 11127  0cc0 11128  1c1 11129   + caddc 11131   · cmul 11133  cn 12261  2c2 12323  0cn0 12532  cz 12619  cuz 12891  +crp 13046  ...cfz 13565  ..^cfzo 13713   mod cmo 13934  cexp 14129  bitscbits 16515   smul csmu 16517
This proof depends on axioms:  ax-mp 5  ax-1 6  ax-2 7  ax-3 8  ax-gen 1828  ax-4 1842  ax-5 1943  ax-6 2000  ax-7 2041  ax-8 2147  ax-9 2155  ax-10 2178  ax-11 2194  ax-12 2215  ax-ext 2734  ax-rep 5236  ax-sep 5255  ax-nul 5267  ax-pow 5334  ax-pr 5402  ax-un 7740  ax-inf2 9624  ax-cnex 11184  ax-resscn 11185  ax-1cn 11186  ax-icn 11187  ax-addcl 11188  ax-addrcl 11189  ax-mulcl 11190  ax-mulrcl 11191  ax-mulcom 11192  ax-addass 11193  ax-mulass 11194  ax-distr 11195  ax-i2m1 11196  ax-1ne0 11197  ax-1rid 11198  ax-rnegex 11199  ax-rrecex 11200  ax-cnre 11201  ax-pre-lttri 11202  ax-pre-lttrn 11203  ax-pre-ltadd 11204  ax-pre-mulgt0 11205  ax-pre-sup 11206
This proof depends on definitions:  df-bi 210  df-an 402  df-or 862  df-3or 1104  df-3an 1105  df-xor 1542  df-tru 1573  df-fal 1583  df-had 1624  df-cad 1640  df-ex 1813  df-nf 1817  df-sb 2100  df-mo 2566  df-eu 2596  df-clab 2741  df-cleq 2754  df-clel 2837  df-nfc 2911  df-ne 2958  df-nel 3064  df-ral 3079  df-rex 3089  df-rmo 3367  df-reu 3368  df-rab 3415  df-v 3455  df-sbc 3743  df-csb 3851  df-dif 3905  df-un 3907  df-in 3909  df-ss 3919  df-pss 3922  df-nul 4283  df-if 4486  df-pw 4562  df-sn 4588  df-pr 4590  df-op 4594  df-uni 4871  df-int 4911  df-iun 4956  df-disj 5075  df-br 5108  df-opab 5172  df-mpt 5191  df-tr 5217  df-id 5554  df-eprel 5559  df-po 5567  df-so 5568  df-fr 5612  df-se 5613  df-we 5614  df-xp 5665  df-rel 5666  df-cnv 5667  df-co 5668  df-dm 5669  df-rn 5670  df-res 5671  df-ima 5672  df-pred 6303  df-ord 6364  df-on 6365  df-lim 6366  df-suc 6367  df-iota 6493  df-fun 6539  df-fn 6540  df-f 6541  df-f1 6542  df-fo 6543  df-f1o 6544  df-fv 6545  df-isom 6546  df-riota 7374  df-ov 7420  df-oprab 7421  df-mpo 7422  df-om 7867  df-1st 7990  df-2nd 7991  df-frecs 8284  df-wrecs 8315  df-recs 8364  df-rdg 8403  df-1o 8459  df-2o 8460  df-oadd 8463  df-er 8700  df-map 8832  df-pm 8833  df-en 8957  df-dom 8958  df-sdom 8959  df-fin 8960  df-sup 9416  df-inf 9417  df-oi 9486  df-dju 9910  df-card 9948  df-pnf 11273  df-mnf 11274  df-xr 11275  df-ltxr 11276  df-le 11277  df-sub 11471  df-neg 11472  df-div 11900  df-nn 12262  df-2 12331  df-3 12332  df-n0 12533  df-xnn0 12606  df-z 12620  df-uz 12892  df-rp 13047  df-fz 13566  df-fzo 13714  df-fl 13857  df-mod 13935  df-seq 14070  df-exp 14130  df-hash 14399  df-cj 15190  df-re 15191  df-im 15192  df-sqrt 15326  df-abs 15327  df-clim 15579  df-sum 15778  df-dvds 16349  df-bits 16518  df-sad 16547  df-smu 16572
This theorem is used by: (None)
  Copyright terms: Public domain W3C validator