| Metamath
Proof Explorer Theorem List (p. 329 of 500) | < Previous Next > | |
| Bad symbols? Try the
GIF version. |
||
|
Mirrors > Metamath Home Page > MPE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
||
| Color key: | (1-30909) |
(30910-32432) |
(32433-49920) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | hashgt1 32801 | Restate "set contains at least two elements" in terms of elementhood. (Contributed by Thierry Arnoux, 21-Nov-2023.) |
| ⊢ (𝐴 ∈ 𝑉 → (¬ 𝐴 ∈ (◡♯ “ {0, 1}) ↔ 1 < (♯‘𝐴))) | ||
| Theorem | hashpss 32802 | The size of a proper subset is less than the size of its finite superset. (Contributed by Thierry Arnoux, 13-Oct-2025.) |
| ⊢ ((𝐴 ∈ Fin ∧ 𝐵 ⊊ 𝐴) → (♯‘𝐵) < (♯‘𝐴)) | ||
| Theorem | hashne0 32803 | Deduce that the size of a set is not zero. (Contributed by Thierry Arnoux, 26-Oct-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ≠ ∅) ⇒ ⊢ (𝜑 → 0 < (♯‘𝐴)) | ||
| Theorem | hashimaf1 32804 | Taking the image of a set by a one-to-one function does not affect size. (Contributed by Thierry Arnoux, 18-Jan-2026.) |
| ⊢ (𝜑 → 𝐹:𝐴–1-1→𝐵) & ⊢ (𝜑 → 𝐶 ⊆ 𝐴) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) ⇒ ⊢ (𝜑 → (♯‘(𝐹 “ 𝐶)) = (♯‘𝐶)) | ||
| Theorem | elq2 32805* | Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝑄 ∈ ℚ → ∃𝑝 ∈ ℤ ∃𝑞 ∈ ℕ (𝑄 = (𝑝 / 𝑞) ∧ (𝑝 gcd 𝑞) = 1)) | ||
| Theorem | znumd 32806 | Numerator of an integer. (Contributed by Thierry Arnoux, 4-May-2025.) |
| ⊢ (𝜑 → 𝑍 ∈ ℤ) ⇒ ⊢ (𝜑 → (numer‘𝑍) = 𝑍) | ||
| Theorem | zdend 32807 | Denominator of an integer. (Contributed by Thierry Arnoux, 4-May-2025.) |
| ⊢ (𝜑 → 𝑍 ∈ ℤ) ⇒ ⊢ (𝜑 → (denom‘𝑍) = 1) | ||
| Theorem | numdenneg 32808 | Numerator and denominator of the negative. (Contributed by Thierry Arnoux, 27-Oct-2017.) |
| ⊢ (𝑄 ∈ ℚ → ((numer‘-𝑄) = -(numer‘𝑄) ∧ (denom‘-𝑄) = (denom‘𝑄))) | ||
| Theorem | divnumden2 32809 | Calculate the reduced form of a quotient using gcd. This version extends divnumden 16669 for the negative integers. (Contributed by Thierry Arnoux, 25-Oct-2017.) |
| ⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ -𝐵 ∈ ℕ) → ((numer‘(𝐴 / 𝐵)) = -(𝐴 / (𝐴 gcd 𝐵)) ∧ (denom‘(𝐴 / 𝐵)) = -(𝐵 / (𝐴 gcd 𝐵)))) | ||
| Theorem | expgt0b 32810 | A real number 𝐴 raised to an odd integer power is positive iff it is positive. (Contributed by SN, 4-Mar-2023.) Use the more standard ¬ 2 ∥ 𝑁 (Revised by Thierry Arnoux, 14-Jun-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ) & ⊢ (𝜑 → 𝑁 ∈ ℕ) & ⊢ (𝜑 → ¬ 2 ∥ 𝑁) ⇒ ⊢ (𝜑 → (0 < 𝐴 ↔ 0 < (𝐴↑𝑁))) | ||
| Theorem | nn0split01 32811 | Split 0 and 1 from the nonnegative integers. (Contributed by Thierry Arnoux, 8-Jun-2025.) |
| ⊢ ℕ0 = ({0, 1} ∪ (ℤ≥‘2)) | ||
| Theorem | nn0disj01 32812 | The pair {0, 1} does not overlap the rest of the nonnegative integers. (Contributed by Thierry Arnoux, 8-Jun-2025.) |
| ⊢ ({0, 1} ∩ (ℤ≥‘2)) = ∅ | ||
| Theorem | nnindf 32813* | Principle of Mathematical Induction, using a bound-variable hypothesis instead of distinct variables. (Contributed by Thierry Arnoux, 6-May-2018.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝑥 = 1 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜒)) & ⊢ (𝑥 = (𝑦 + 1) → (𝜑 ↔ 𝜃)) & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜏)) & ⊢ 𝜓 & ⊢ (𝑦 ∈ ℕ → (𝜒 → 𝜃)) ⇒ ⊢ (𝐴 ∈ ℕ → 𝜏) | ||
| Theorem | nn0min 32814* | Extracting the minimum positive integer for which a property 𝜒 does not hold. This uses substitutions similar to nn0ind 12578. (Contributed by Thierry Arnoux, 6-May-2018.) |
| ⊢ (𝑛 = 0 → (𝜓 ↔ 𝜒)) & ⊢ (𝑛 = 𝑚 → (𝜓 ↔ 𝜃)) & ⊢ (𝑛 = (𝑚 + 1) → (𝜓 ↔ 𝜏)) & ⊢ (𝜑 → ¬ 𝜒) & ⊢ (𝜑 → ∃𝑛 ∈ ℕ 𝜓) ⇒ ⊢ (𝜑 → ∃𝑚 ∈ ℕ0 (¬ 𝜃 ∧ 𝜏)) | ||
| Theorem | subne0nn 32815 | A nonnegative difference is positive if the two numbers are not equal. (Contributed by Thierry Arnoux, 17-Dec-2023.) |
| ⊢ (𝜑 → 𝑀 ∈ ℂ) & ⊢ (𝜑 → 𝑁 ∈ ℂ) & ⊢ (𝜑 → (𝑀 − 𝑁) ∈ ℕ0) & ⊢ (𝜑 → 𝑀 ≠ 𝑁) ⇒ ⊢ (𝜑 → (𝑀 − 𝑁) ∈ ℕ) | ||
| Theorem | ltesubnnd 32816 | Subtracting an integer number from another number decreases it. See ltsubrpd 12976. (Contributed by Thierry Arnoux, 18-Apr-2017.) |
| ⊢ (𝜑 → 𝑀 ∈ ℤ) & ⊢ (𝜑 → 𝑁 ∈ ℕ) ⇒ ⊢ (𝜑 → ((𝑀 + 1) − 𝑁) ≤ 𝑀) | ||
| Theorem | fprodeq02 32817* | If one of the factors is zero the product is zero. (Contributed by Thierry Arnoux, 11-Dec-2021.) |
| ⊢ (𝑘 = 𝐾 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐵 ∈ ℂ) & ⊢ (𝜑 → 𝐾 ∈ 𝐴) & ⊢ (𝜑 → 𝐶 = 0) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ 𝐴 𝐵 = 0) | ||
| Theorem | pr01ssre 32818 | The range of the indicator function is a subset of ℝ. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ {0, 1} ⊆ ℝ | ||
| Theorem | fprodex01 32819* | A product of factors equal to zero or one is zero exactly when one of the factors is zero. (Contributed by Thierry Arnoux, 11-Dec-2021.) |
| ⊢ (𝑘 = 𝑙 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐵 ∈ {0, 1}) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ 𝐴 𝐵 = if(∀𝑙 ∈ 𝐴 𝐶 = 1, 1, 0)) | ||
| Theorem | prodpr 32820* | A product over a pair is the product of the elements. (Contributed by Thierry Arnoux, 1-Jan-2022.) |
| ⊢ (𝑘 = 𝐴 → 𝐷 = 𝐸) & ⊢ (𝑘 = 𝐵 → 𝐷 = 𝐹) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 ∈ 𝑊) & ⊢ (𝜑 → 𝐸 ∈ ℂ) & ⊢ (𝜑 → 𝐹 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐵) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ {𝐴, 𝐵}𝐷 = (𝐸 · 𝐹)) | ||
| Theorem | prodtp 32821* | A product over a triple is the product of the elements. (Contributed by Thierry Arnoux, 1-Jan-2022.) |
| ⊢ (𝑘 = 𝐴 → 𝐷 = 𝐸) & ⊢ (𝑘 = 𝐵 → 𝐷 = 𝐹) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 ∈ 𝑊) & ⊢ (𝜑 → 𝐸 ∈ ℂ) & ⊢ (𝜑 → 𝐹 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐵) & ⊢ (𝑘 = 𝐶 → 𝐷 = 𝐺) & ⊢ (𝜑 → 𝐶 ∈ 𝑋) & ⊢ (𝜑 → 𝐺 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐶) & ⊢ (𝜑 → 𝐵 ≠ 𝐶) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ {𝐴, 𝐵, 𝐶}𝐷 = ((𝐸 · 𝐹) · 𝐺)) | ||
| Theorem | fsumub 32822* | An upper bound for a term of a positive finite sum. (Contributed by Thierry Arnoux, 27-Dec-2021.) |
| ⊢ (𝑘 = 𝐾 → 𝐵 = 𝐷) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ (𝜑 → Σ𝑘 ∈ 𝐴 𝐵 = 𝐶) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐵 ∈ ℝ+) & ⊢ (𝜑 → 𝐾 ∈ 𝐴) ⇒ ⊢ (𝜑 → 𝐷 ≤ 𝐶) | ||
| Theorem | fsumiunle 32823* | Upper bound for a sum of nonnegative terms over an indexed union. The inequality may be strict if the indexed union is non-disjoint, since in the right hand side, a summand may be counted several times. (Contributed by Thierry Arnoux, 1-Jan-2021.) |
| ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐵 ∈ Fin) & ⊢ (((𝜑 ∧ 𝑥 ∈ 𝐴) ∧ 𝑘 ∈ 𝐵) → 𝐶 ∈ ℝ) & ⊢ (((𝜑 ∧ 𝑥 ∈ 𝐴) ∧ 𝑘 ∈ 𝐵) → 0 ≤ 𝐶) ⇒ ⊢ (𝜑 → Σ𝑘 ∈ ∪ 𝑥 ∈ 𝐴 𝐵𝐶 ≤ Σ𝑥 ∈ 𝐴 Σ𝑘 ∈ 𝐵 𝐶) | ||
| Theorem | dfdec100 32824 | Split the hundreds from a decimal value. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ;;𝐴𝐵𝐶 = ((;;100 · 𝐴) + ;𝐵𝐶) | ||
| Theorem | sgncl 32825 | Closure of the signum. (Contributed by Thierry Arnoux, 28-Sep-2018.) |
| ⊢ (𝐴 ∈ ℝ* → (sgn‘𝐴) ∈ {-1, 0, 1}) | ||
| Theorem | sgnclre 32826 | Closure of the signum. (Contributed by Thierry Arnoux, 28-Sep-2018.) |
| ⊢ (𝐴 ∈ ℝ → (sgn‘𝐴) ∈ ℝ) | ||
| Theorem | sgnneg 32827 | Negation of the signum. (Contributed by Thierry Arnoux, 1-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ → (sgn‘-𝐴) = -(sgn‘𝐴)) | ||
| Theorem | sgn3da 32828 | A conditional containing a signum is true if it is true in all three possible cases. (Contributed by Thierry Arnoux, 1-Oct-2018.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ*) & ⊢ ((sgn‘𝐴) = 0 → (𝜓 ↔ 𝜒)) & ⊢ ((sgn‘𝐴) = 1 → (𝜓 ↔ 𝜃)) & ⊢ ((sgn‘𝐴) = -1 → (𝜓 ↔ 𝜏)) & ⊢ ((𝜑 ∧ 𝐴 = 0) → 𝜒) & ⊢ ((𝜑 ∧ 0 < 𝐴) → 𝜃) & ⊢ ((𝜑 ∧ 𝐴 < 0) → 𝜏) ⇒ ⊢ (𝜑 → 𝜓) | ||
| Theorem | sgnmul 32829 | Signum of a product. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (sgn‘(𝐴 · 𝐵)) = ((sgn‘𝐴) · (sgn‘𝐵))) | ||
| Theorem | sgnmulrp2 32830 | Multiplication by a positive number does not affect signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (sgn‘(𝐴 · 𝐵)) = (sgn‘𝐴)) | ||
| Theorem | sgnsub 32831 | Subtraction of a number of opposite sign. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝐴 · 𝐵) < 0) → (sgn‘(𝐴 − 𝐵)) = (sgn‘𝐴)) | ||
| Theorem | sgnnbi 32832 | Negative signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = -1 ↔ 𝐴 < 0)) | ||
| Theorem | sgnpbi 32833 | Positive signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = 1 ↔ 0 < 𝐴)) | ||
| Theorem | sgn0bi 32834 | Zero signum. (Contributed by Thierry Arnoux, 10-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = 0 ↔ 𝐴 = 0)) | ||
| Theorem | sgnsgn 32835 | Signum is idempotent. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → (sgn‘(sgn‘𝐴)) = (sgn‘𝐴)) | ||
| Theorem | sgnmulsgn 32836 | If two real numbers are of different signs, so are their signs. (Contributed by Thierry Arnoux, 12-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → ((𝐴 · 𝐵) < 0 ↔ ((sgn‘𝐴) · (sgn‘𝐵)) < 0)) | ||
| Theorem | sgnmulsgp 32837 | If two real numbers are of same signs, so are their signs. (Contributed by Thierry Arnoux, 12-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (0 < (𝐴 · 𝐵) ↔ 0 < ((sgn‘𝐴) · (sgn‘𝐵)))) | ||
| Theorem | nexple 32838 | A lower bound for an exponentiation. (Contributed by Thierry Arnoux, 19-Aug-2017.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ ∧ 2 ≤ 𝐵) → 𝐴 ≤ (𝐵↑𝐴)) | ||
| Theorem | 2exple2exp 32839* | If a nonnegative integer 𝑋 is a multiple of a power of two, but less than the next power of two, it is itself a power of two. (Contributed by Thierry Arnoux, 19-Oct-2025.) |
| ⊢ (𝜑 → 𝑋 ∈ ℕ) & ⊢ (𝜑 → 𝐾 ∈ ℕ0) & ⊢ (𝜑 → (2↑𝐾) ∥ 𝑋) & ⊢ (𝜑 → 𝑋 ≤ (2↑(𝐾 + 1))) ⇒ ⊢ (𝜑 → ∃𝑛 ∈ ℕ0 𝑋 = (2↑𝑛)) | ||
| Theorem | expevenpos 32840 | Even powers are positive. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ) & ⊢ (𝜑 → 𝑁 ∈ ℕ0) & ⊢ (𝜑 → 2 ∥ 𝑁) ⇒ ⊢ (𝜑 → 0 ≤ (𝐴↑𝑁)) | ||
| Theorem | oexpled 32841 | Odd power monomials are monotonic. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ) & ⊢ (𝜑 → 𝐵 ∈ ℝ) & ⊢ (𝜑 → 𝑁 ∈ ℕ) & ⊢ (𝜑 → ¬ 2 ∥ 𝑁) & ⊢ (𝜑 → 𝐴 ≤ 𝐵) ⇒ ⊢ (𝜑 → (𝐴↑𝑁) ≤ (𝐵↑𝑁)) | ||
| Syntax | cind 32842 | Extend class notation with the indicator function generator. |
| class 𝟭 | ||
| Definition | df-ind 32843* | Define the indicator function generator. (Contributed by Thierry Arnoux, 20-Jan-2017.) |
| ⊢ 𝟭 = (𝑜 ∈ V ↦ (𝑎 ∈ 𝒫 𝑜 ↦ (𝑥 ∈ 𝑜 ↦ if(𝑥 ∈ 𝑎, 1, 0)))) | ||
| Theorem | indv 32844* | Value of the indicator function generator with domain 𝑂. (Contributed by Thierry Arnoux, 23-Aug-2017.) |
| ⊢ (𝑂 ∈ 𝑉 → (𝟭‘𝑂) = (𝑎 ∈ 𝒫 𝑂 ↦ (𝑥 ∈ 𝑂 ↦ if(𝑥 ∈ 𝑎, 1, 0)))) | ||
| Theorem | indval 32845* | Value of the indicator function generator for a set 𝐴 and a domain 𝑂. (Contributed by Thierry Arnoux, 2-Feb-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴) = (𝑥 ∈ 𝑂 ↦ if(𝑥 ∈ 𝐴, 1, 0))) | ||
| Theorem | indval2 32846 | Alternate value of the indicator function generator. (Contributed by Thierry Arnoux, 2-Feb-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴) = ((𝐴 × {1}) ∪ ((𝑂 ∖ 𝐴) × {0}))) | ||
| Theorem | indf 32847 | An indicator function as a function with domain and codomain. (Contributed by Thierry Arnoux, 13-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴):𝑂⟶{0, 1}) | ||
| Theorem | indfval 32848 | Value of the indicator function. (Contributed by Thierry Arnoux, 13-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝑂) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = if(𝑋 ∈ 𝐴, 1, 0)) | ||
| Theorem | ind1 32849 | Value of the indicator function where it is 1. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝐴) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = 1) | ||
| Theorem | ind0 32850 | Value of the indicator function where it is 0. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ (𝑂 ∖ 𝐴)) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = 0) | ||
| Theorem | ind1a 32851 | Value of the indicator function where it is 1. (Contributed by Thierry Arnoux, 22-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝑂) → ((((𝟭‘𝑂)‘𝐴)‘𝑋) = 1 ↔ 𝑋 ∈ 𝐴)) | ||
| Theorem | indpi1 32852 | Preimage of the singleton {1} by the indicator function. See i1f1lem 25627. (Contributed by Thierry Arnoux, 21-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → (◡((𝟭‘𝑂)‘𝐴) “ {1}) = 𝐴) | ||
| Theorem | indsum 32853* | Finite sum of a product with the indicator function / Cartesian product with the indicator function. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ (𝜑 → 𝑂 ∈ Fin) & ⊢ (𝜑 → 𝐴 ⊆ 𝑂) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝑂) → 𝐵 ∈ ℂ) ⇒ ⊢ (𝜑 → Σ𝑥 ∈ 𝑂 ((((𝟭‘𝑂)‘𝐴)‘𝑥) · 𝐵) = Σ𝑥 ∈ 𝐴 𝐵) | ||
| Theorem | indsumin 32854* | Finite sum of a product with the indicator function / Cartesian product with the indicator function. (Contributed by Thierry Arnoux, 11-Dec-2021.) |
| ⊢ (𝜑 → 𝑂 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ (𝜑 → 𝐴 ⊆ 𝑂) & ⊢ (𝜑 → 𝐵 ⊆ 𝑂) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐶 ∈ ℂ) ⇒ ⊢ (𝜑 → Σ𝑘 ∈ 𝐴 ((((𝟭‘𝑂)‘𝐵)‘𝑘) · 𝐶) = Σ𝑘 ∈ (𝐴 ∩ 𝐵)𝐶) | ||
| Theorem | prodindf 32855* | The product of indicators is one if and only if all values are in the set. (Contributed by Thierry Arnoux, 11-Dec-2021.) |
| ⊢ (𝜑 → 𝑂 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ (𝜑 → 𝐵 ⊆ 𝑂) & ⊢ (𝜑 → 𝐹:𝐴⟶𝑂) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ 𝐴 (((𝟭‘𝑂)‘𝐵)‘(𝐹‘𝑘)) = if(ran 𝐹 ⊆ 𝐵, 1, 0)) | ||
| Theorem | indf1o 32856 | The bijection between a power set and the set of indicator functions. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ (𝑂 ∈ 𝑉 → (𝟭‘𝑂):𝒫 𝑂–1-1-onto→({0, 1} ↑m 𝑂)) | ||
| Theorem | indpreima 32857 | A function with range {0, 1} as an indicator of the preimage of {1}. (Contributed by Thierry Arnoux, 23-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐹:𝑂⟶{0, 1}) → 𝐹 = ((𝟭‘𝑂)‘(◡𝐹 “ {1}))) | ||
| Theorem | indf1ofs 32858* | The bijection between finite subsets and the indicator functions with finite support. (Contributed by Thierry Arnoux, 22-Aug-2017.) |
| ⊢ (𝑂 ∈ 𝑉 → ((𝟭‘𝑂) ↾ Fin):(𝒫 𝑂 ∩ Fin)–1-1-onto→{𝑓 ∈ ({0, 1} ↑m 𝑂) ∣ (◡𝑓 “ {1}) ∈ Fin}) | ||
| Theorem | indsupp 32859 | The support of the indicator function. (Contributed by Thierry Arnoux, 13-Oct-2025.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → (((𝟭‘𝑂)‘𝐴) supp 0) = 𝐴) | ||
| Theorem | indfsd 32860 | The indicator function of a finite set has finite support. (Contributed by Thierry Arnoux, 18-Jan-2026.) |
| ⊢ (𝜑 → 𝑂 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ⊆ 𝑂) & ⊢ (𝜑 → 𝐴 ∈ Fin) ⇒ ⊢ (𝜑 → ((𝟭‘𝑂)‘𝐴) finSupp 0) | ||
| Theorem | indfsid 32861 | Conditions for a function to be an indicator function. (Contributed by Thierry Arnoux, 18-Jan-2026.) |
| ⊢ (𝜑 → 𝑂 ∈ 𝑉) & ⊢ (𝜑 → 𝐹:𝑂⟶{0, 1}) ⇒ ⊢ (𝜑 → 𝐹 = ((𝟭‘𝑂)‘(𝐹 supp 0))) | ||
Define a decimal expansion constructor. The decimal expansions built with this constructor are not meant to be used alone outside of this chapter. Rather, they are meant to be used exclusively as part of a decimal number with a decimal fraction, for example (3._1_4_1_59). That decimal point operator is defined in the next section. The bulk of these constructions have originally been proposed by David A. Wheeler on 12-May-2015, and discussed with Mario Carneiro in this thread: https://groups.google.com/g/metamath/c/2AW7T3d2YiQ. | ||
| Syntax | cdp2 32862 | Constant used for decimal fraction constructor. See df-dp2 32863. |
| class _𝐴𝐵 | ||
| Definition | df-dp2 32863 | Define the "decimal fraction constructor", which is used to build up "decimal fractions" in base 10. This is intentionally similar to df-dec 12599. (Contributed by David A. Wheeler, 15-May-2015.) (Revised by AV, 9-Sep-2021.) |
| ⊢ _𝐴𝐵 = (𝐴 + (𝐵 / ;10)) | ||
| Theorem | dp2eq1 32864 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ (𝐴 = 𝐵 → _𝐴𝐶 = _𝐵𝐶) | ||
| Theorem | dp2eq2 32865 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ (𝐴 = 𝐵 → _𝐶𝐴 = _𝐶𝐵) | ||
| Theorem | dp2eq1i 32866 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ _𝐴𝐶 = _𝐵𝐶 | ||
| Theorem | dp2eq2i 32867 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ _𝐶𝐴 = _𝐶𝐵 | ||
| Theorem | dp2eq12i 32868 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ _𝐴𝐶 = _𝐵𝐷 | ||
| Theorem | dp20u 32869 | Add a zero in the tenths (lower) place. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 ⇒ ⊢ _𝐴0 = 𝐴 | ||
| Theorem | dp20h 32870 | Add a zero in the unit places. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℝ+ ⇒ ⊢ _0𝐴 = (𝐴 / ;10) | ||
| Theorem | dp2cl 32871 | Closure for the decimal fraction constructor if both values are reals. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → _𝐴𝐵 ∈ ℝ) | ||
| Theorem | dp2clq 32872 | Closure for a decimal fraction. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℚ ⇒ ⊢ _𝐴𝐵 ∈ ℚ | ||
| Theorem | rpdp2cl 32873 | Closure for a decimal fraction in the positive real numbers. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ _𝐴𝐵 ∈ ℝ+ | ||
| Theorem | rpdp2cl2 32874 | Closure for a decimal fraction with no decimal expansion in the positive real numbers. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ ⇒ ⊢ _𝐴0 ∈ ℝ+ | ||
| Theorem | dp2lt10 32875 | Decimal fraction builds real numbers less than 10. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐴 < ;10 & ⊢ 𝐵 < ;10 ⇒ ⊢ _𝐴𝐵 < ;10 | ||
| Theorem | dp2lt 32876 | Comparing two decimal fractions (equal unit places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℝ+ & ⊢ 𝐵 < 𝐶 ⇒ ⊢ _𝐴𝐵 < _𝐴𝐶 | ||
| Theorem | dp2ltsuc 32877 | Comparing a decimal fraction with the next integer. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐵 < ;10 & ⊢ (𝐴 + 1) = 𝐶 ⇒ ⊢ _𝐴𝐵 < 𝐶 | ||
| Theorem | dp2ltc 32878 | Comparing two decimal expansions (unequal higher places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐷 ∈ ℝ+ & ⊢ 𝐵 < ;10 & ⊢ 𝐴 < 𝐶 ⇒ ⊢ _𝐴𝐵 < _𝐶𝐷 | ||
Define the decimal point operator and the decimal fraction constructor. This can model traditional decimal point notation, and serve as a convenient way to write some fractional numbers. See df-dp 32880 and df-dp2 32863 for more information; dpval2 32884 and dpfrac1 32883 provide a more convenient way to obtain a value. This is intentionally similar to df-dec 12599. | ||
| Syntax | cdp 32879 | Decimal point operator. See df-dp 32880. |
| class . | ||
| Definition | df-dp 32880* |
Define the . (decimal point) operator. For example,
(1.5) = (3 / 2), and
-(;32._7_18) =
-(;;;;32718 / ;;;1000)
Unary minus, if applied, should normally be applied in front of the
parentheses.
Metamath intentionally does not have a built-in construct for numbers, so it can show that numbers are something you can build based on set theory. However, that means that Metamath has no built-in way to parse and handle decimal numbers as traditionally written, e.g., "2.54". Here we create a system for modeling traditional decimal point notation; it is not syntactically identical, but it is sufficiently similar so it is a reasonable model of decimal point notation. It should also serve as a convenient way to write some fractional numbers. The RHS is ℝ, not ℚ; this should simplify some proofs. The LHS is ℕ0, since that is what is used in practice. The definition intentionally does not allow negative numbers on the LHS; if it did, nonzero fractions would produce the wrong results. (It would be possible to define the decimal point to do this, but using it would be more complicated, and the expression -(𝐴.𝐵) is just as convenient.) (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ . = (𝑥 ∈ ℕ0, 𝑦 ∈ ℝ ↦ _𝑥𝑦) | ||
| Theorem | dpval 32881 | Define the value of the decimal point operator. See df-dp 32880. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) = _𝐴𝐵) | ||
| Theorem | dpcl 32882 | Prove that the closure of the decimal point is ℝ as we have defined it. See df-dp 32880. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) ∈ ℝ) | ||
| Theorem | dpfrac1 32883 | Prove a simple equivalence involving the decimal point. See df-dp 32880 and dpcl 32882. (Contributed by David A. Wheeler, 15-May-2015.) (Revised by AV, 9-Sep-2021.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) = (;𝐴𝐵 / ;10)) | ||
| Theorem | dpval2 32884 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (𝐴.𝐵) = (𝐴 + (𝐵 / ;10)) | ||
| Theorem | dpval3 32885 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (𝐴.𝐵) = _𝐴𝐵 | ||
| Theorem | dpmul10 32886 | Multiply by 10 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ ((𝐴.𝐵) · ;10) = ;𝐴𝐵 | ||
| Theorem | decdiv10 32887 | Divide a decimal number by 10. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (;𝐴𝐵 / ;10) = (𝐴.𝐵) | ||
| Theorem | dpmul100 32888 | Multiply by 100 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵𝐶) · ;;100) = ;;𝐴𝐵𝐶 | ||
| Theorem | dp3mul10 32889 | Multiply by 10 a decimal expansion with 3 digits. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵𝐶) · ;10) = (;𝐴𝐵.𝐶) | ||
| Theorem | dpmul1000 32890 | Multiply by 1000 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐷 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵_𝐶𝐷) · ;;;1000) = ;;;𝐴𝐵𝐶𝐷 | ||
| Theorem | dpval3rp 32891 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ (𝐴.𝐵) = _𝐴𝐵 | ||
| Theorem | dp0u 32892 | Add a zero in the tenths place. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 ⇒ ⊢ (𝐴.0) = 𝐴 | ||
| Theorem | dp0h 32893 | Remove a zero in the units places. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℝ+ ⇒ ⊢ (0.𝐴) = (𝐴 / ;10) | ||
| Theorem | rpdpcl 32894 | Closure of the decimal point in the positive real numbers. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ (𝐴.𝐵) ∈ ℝ+ | ||
| Theorem | dplt 32895 | Comparing two decimal expansions (equal higher places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℝ+ & ⊢ 𝐵 < 𝐶 ⇒ ⊢ (𝐴.𝐵) < (𝐴.𝐶) | ||
| Theorem | dplti 32896 | Comparing a decimal expansions with the next higher integer. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐵 < ;10 & ⊢ (𝐴 + 1) = 𝐶 ⇒ ⊢ (𝐴.𝐵) < 𝐶 | ||
| Theorem | dpgti 32897 | Comparing a decimal expansions with the next lower integer. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ 𝐴 < (𝐴.𝐵) | ||
| Theorem | dpltc 32898 | Comparing two decimal integers (unequal higher places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐷 ∈ ℝ+ & ⊢ 𝐴 < 𝐶 & ⊢ 𝐵 < ;10 ⇒ ⊢ (𝐴.𝐵) < (𝐶.𝐷) | ||
| Theorem | dpexpp1 32899 | Add one zero to the mantisse, and a one to the exponent in a scientific notation. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ (𝑃 + 1) = 𝑄 & ⊢ 𝑃 ∈ ℤ & ⊢ 𝑄 ∈ ℤ ⇒ ⊢ ((𝐴.𝐵) · (;10↑𝑃)) = ((0._𝐴𝐵) · (;10↑𝑄)) | ||
| Theorem | 0dp2dp 32900 | Multiply by 10 a decimal expansion which starts with a zero. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ ((0._𝐴𝐵) · ;10) = (𝐴.𝐵) | ||
| < Previous Next > |
| Copyright terms: Public domain | < Previous Next > |