| Metamath
Proof Explorer Theorem List (p. 330 of 502) | < 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-31005) |
(31006-32528) |
(32529-50158) |
| Type | Label | Description |
|---|---|---|
| Statement | ||
| Theorem | hashimaf1 32901 | 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 32902* | Elementhood in the rational numbers, providing the canonical representation. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝑄 ∈ ℚ → ∃𝑝 ∈ ℤ ∃𝑞 ∈ ℕ (𝑄 = (𝑝 / 𝑞) ∧ (𝑝 gcd 𝑞) = 1)) | ||
| Theorem | znumd 32903 | Numerator of an integer. (Contributed by Thierry Arnoux, 4-May-2025.) |
| ⊢ (𝜑 → 𝑍 ∈ ℤ) ⇒ ⊢ (𝜑 → (numer‘𝑍) = 𝑍) | ||
| Theorem | zdend 32904 | Denominator of an integer. (Contributed by Thierry Arnoux, 4-May-2025.) |
| ⊢ (𝜑 → 𝑍 ∈ ℤ) ⇒ ⊢ (𝜑 → (denom‘𝑍) = 1) | ||
| Theorem | numdenneg 32905 | Numerator and denominator of the negative. (Contributed by Thierry Arnoux, 27-Oct-2017.) |
| ⊢ (𝑄 ∈ ℚ → ((numer‘-𝑄) = -(numer‘𝑄) ∧ (denom‘-𝑄) = (denom‘𝑄))) | ||
| Theorem | divnumden2 32906 | Calculate the reduced form of a quotient using gcd. This version extends divnumden 16687 for the negative integers. (Contributed by Thierry Arnoux, 25-Oct-2017.) |
| ⊢ ((𝐴 ∈ ℤ ∧ 𝐵 ∈ ℤ ∧ -𝐵 ∈ ℕ) → ((numer‘(𝐴 / 𝐵)) = -(𝐴 / (𝐴 gcd 𝐵)) ∧ (denom‘(𝐴 / 𝐵)) = -(𝐵 / (𝐴 gcd 𝐵)))) | ||
| Theorem | expgt0b 32907 | 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 32908 | Split 0 and 1 from the nonnegative integers. (Contributed by Thierry Arnoux, 8-Jun-2025.) |
| ⊢ ℕ0 = ({0, 1} ∪ (ℤ≥‘2)) | ||
| Theorem | nn0disj01 32909 | 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 32910* | Principle of Mathematical Induction, using a bound-variable hypothesis instead of distinct variables. (Contributed by Thierry Arnoux, 6-May-2018.) |
| ⊢ Ⅎ𝑦𝜑 & ⊢ (𝑥 = 1 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜒)) & ⊢ (𝑥 = (𝑦 + 1) → (𝜑 ↔ 𝜃)) & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜏)) & ⊢ 𝜓 & ⊢ (𝑦 ∈ ℕ → (𝜒 → 𝜃)) ⇒ ⊢ (𝐴 ∈ ℕ → 𝜏) | ||
| Theorem | nn0min 32911* | Extracting the minimum positive integer for which a property 𝜒 does not hold. This uses substitutions similar to nn0ind 12599. (Contributed by Thierry Arnoux, 6-May-2018.) |
| ⊢ (𝑛 = 0 → (𝜓 ↔ 𝜒)) & ⊢ (𝑛 = 𝑚 → (𝜓 ↔ 𝜃)) & ⊢ (𝑛 = (𝑚 + 1) → (𝜓 ↔ 𝜏)) & ⊢ (𝜑 → ¬ 𝜒) & ⊢ (𝜑 → ∃𝑛 ∈ ℕ 𝜓) ⇒ ⊢ (𝜑 → ∃𝑚 ∈ ℕ0 (¬ 𝜃 ∧ 𝜏)) | ||
| Theorem | subne0nn 32912 | A nonnegative difference is positive if the two numbers are not equal. (Contributed by Thierry Arnoux, 17-Dec-2023.) |
| ⊢ (𝜑 → 𝑀 ∈ ℂ) & ⊢ (𝜑 → 𝑁 ∈ ℂ) & ⊢ (𝜑 → (𝑀 − 𝑁) ∈ ℕ0) & ⊢ (𝜑 → 𝑀 ≠ 𝑁) ⇒ ⊢ (𝜑 → (𝑀 − 𝑁) ∈ ℕ) | ||
| Theorem | ltesubnnd 32913 | Subtracting an integer number from another number decreases it. See ltsubrpd 12993. (Contributed by Thierry Arnoux, 18-Apr-2017.) |
| ⊢ (𝜑 → 𝑀 ∈ ℤ) & ⊢ (𝜑 → 𝑁 ∈ ℕ) ⇒ ⊢ (𝜑 → ((𝑀 + 1) − 𝑁) ≤ 𝑀) | ||
| Theorem | fprodeq02 32914* | If one of the factors is zero the product is zero. (Contributed by Thierry Arnoux, 11-Dec-2021.) |
| ⊢ (𝑘 = 𝐾 → 𝐵 = 𝐶) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐵 ∈ ℂ) & ⊢ (𝜑 → 𝐾 ∈ 𝐴) & ⊢ (𝜑 → 𝐶 = 0) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ 𝐴 𝐵 = 0) | ||
| Theorem | pr01ssre 32915 | The range of the indicator function is a subset of ℝ. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ {0, 1} ⊆ ℝ | ||
| Theorem | fprodex01 32916* | 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 32917* | A product over a pair is the product of the elements. (Contributed by Thierry Arnoux, 1-Jan-2022.) |
| ⊢ (𝑘 = 𝐴 → 𝐷 = 𝐸) & ⊢ (𝑘 = 𝐵 → 𝐷 = 𝐹) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 ∈ 𝑊) & ⊢ (𝜑 → 𝐸 ∈ ℂ) & ⊢ (𝜑 → 𝐹 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐵) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ {𝐴, 𝐵}𝐷 = (𝐸 · 𝐹)) | ||
| Theorem | prodtp 32918* | A product over a triple is the product of the elements. (Contributed by Thierry Arnoux, 1-Jan-2022.) |
| ⊢ (𝑘 = 𝐴 → 𝐷 = 𝐸) & ⊢ (𝑘 = 𝐵 → 𝐷 = 𝐹) & ⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐵 ∈ 𝑊) & ⊢ (𝜑 → 𝐸 ∈ ℂ) & ⊢ (𝜑 → 𝐹 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐵) & ⊢ (𝑘 = 𝐶 → 𝐷 = 𝐺) & ⊢ (𝜑 → 𝐶 ∈ 𝑋) & ⊢ (𝜑 → 𝐺 ∈ ℂ) & ⊢ (𝜑 → 𝐴 ≠ 𝐶) & ⊢ (𝜑 → 𝐵 ≠ 𝐶) ⇒ ⊢ (𝜑 → ∏𝑘 ∈ {𝐴, 𝐵, 𝐶}𝐷 = ((𝐸 · 𝐹) · 𝐺)) | ||
| Theorem | fsumub 32919* | An upper bound for a term of a positive finite sum. (Contributed by Thierry Arnoux, 27-Dec-2021.) |
| ⊢ (𝑘 = 𝐾 → 𝐵 = 𝐷) & ⊢ (𝜑 → 𝐴 ∈ Fin) & ⊢ (𝜑 → Σ𝑘 ∈ 𝐴 𝐵 = 𝐶) & ⊢ ((𝜑 ∧ 𝑘 ∈ 𝐴) → 𝐵 ∈ ℝ+) & ⊢ (𝜑 → 𝐾 ∈ 𝐴) ⇒ ⊢ (𝜑 → 𝐷 ≤ 𝐶) | ||
| Theorem | fsumiunle 32920* | 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 32921 | Split the hundreds from a decimal value. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ;;𝐴𝐵𝐶 = ((;;100 · 𝐴) + ;𝐵𝐶) | ||
| Theorem | sgncl 32922 | Closure of the signum. (Contributed by Thierry Arnoux, 28-Sep-2018.) |
| ⊢ (𝐴 ∈ ℝ* → (sgn‘𝐴) ∈ {-1, 0, 1}) | ||
| Theorem | sgnclre 32923 | Closure of the signum. (Contributed by Thierry Arnoux, 28-Sep-2018.) |
| ⊢ (𝐴 ∈ ℝ → (sgn‘𝐴) ∈ ℝ) | ||
| Theorem | sgnneg 32924 | Negation of the signum. (Contributed by Thierry Arnoux, 1-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ → (sgn‘-𝐴) = -(sgn‘𝐴)) | ||
| Theorem | sgn3da 32925 | 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 32926 | Signum of a product. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → (sgn‘(𝐴 · 𝐵)) = ((sgn‘𝐴) · (sgn‘𝐵))) | ||
| Theorem | sgnmulrp2 32927 | Multiplication by a positive number does not affect signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ+) → (sgn‘(𝐴 · 𝐵)) = (sgn‘𝐴)) | ||
| Theorem | sgnsub 32928 | Subtraction of a number of opposite sign. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) ∧ (𝐴 · 𝐵) < 0) → (sgn‘(𝐴 − 𝐵)) = (sgn‘𝐴)) | ||
| Theorem | sgnnbi 32929 | Negative signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = -1 ↔ 𝐴 < 0)) | ||
| Theorem | sgnpbi 32930 | Positive signum. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = 1 ↔ 0 < 𝐴)) | ||
| Theorem | sgn0bi 32931 | Zero signum. (Contributed by Thierry Arnoux, 10-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → ((sgn‘𝐴) = 0 ↔ 𝐴 = 0)) | ||
| Theorem | sgnsgn 32932 | Signum is idempotent. (Contributed by Thierry Arnoux, 2-Oct-2018.) |
| ⊢ (𝐴 ∈ ℝ* → (sgn‘(sgn‘𝐴)) = (sgn‘𝐴)) | ||
| Theorem | sgnmulsgn 32933 | 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 32934 | 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 32935 | A lower bound for an exponentiation. (Contributed by Thierry Arnoux, 19-Aug-2017.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ ∧ 2 ≤ 𝐵) → 𝐴 ≤ (𝐵↑𝐴)) | ||
| Theorem | 2exple2exp 32936* | 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 32937 | Even powers are positive. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ) & ⊢ (𝜑 → 𝑁 ∈ ℕ0) & ⊢ (𝜑 → 2 ∥ 𝑁) ⇒ ⊢ (𝜑 → 0 ≤ (𝐴↑𝑁)) | ||
| Theorem | oexpled 32938 | Odd power monomials are monotonic. (Contributed by Thierry Arnoux, 9-Nov-2025.) |
| ⊢ (𝜑 → 𝐴 ∈ ℝ) & ⊢ (𝜑 → 𝐵 ∈ ℝ) & ⊢ (𝜑 → 𝑁 ∈ ℕ) & ⊢ (𝜑 → ¬ 2 ∥ 𝑁) & ⊢ (𝜑 → 𝐴 ≤ 𝐵) ⇒ ⊢ (𝜑 → (𝐴↑𝑁) ≤ (𝐵↑𝑁)) | ||
| Syntax | cind 32939 | Extend class notation with the indicator function generator. |
| class 𝟭 | ||
| Definition | df-ind 32940* | Define the indicator function generator. (Contributed by Thierry Arnoux, 20-Jan-2017.) |
| ⊢ 𝟭 = (𝑜 ∈ V ↦ (𝑎 ∈ 𝒫 𝑜 ↦ (𝑥 ∈ 𝑜 ↦ if(𝑥 ∈ 𝑎, 1, 0)))) | ||
| Theorem | indv 32941* | Value of the indicator function generator with domain 𝑂. (Contributed by Thierry Arnoux, 23-Aug-2017.) |
| ⊢ (𝑂 ∈ 𝑉 → (𝟭‘𝑂) = (𝑎 ∈ 𝒫 𝑂 ↦ (𝑥 ∈ 𝑂 ↦ if(𝑥 ∈ 𝑎, 1, 0)))) | ||
| Theorem | indval 32942* | Value of the indicator function generator for a set 𝐴 and a domain 𝑂. (Contributed by Thierry Arnoux, 2-Feb-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴) = (𝑥 ∈ 𝑂 ↦ if(𝑥 ∈ 𝐴, 1, 0))) | ||
| Theorem | indval2 32943 | Alternate value of the indicator function generator. (Contributed by Thierry Arnoux, 2-Feb-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴) = ((𝐴 × {1}) ∪ ((𝑂 ∖ 𝐴) × {0}))) | ||
| Theorem | indf 32944 | An indicator function as a function with domain and codomain. (Contributed by Thierry Arnoux, 13-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → ((𝟭‘𝑂)‘𝐴):𝑂⟶{0, 1}) | ||
| Theorem | indfval 32945 | Value of the indicator function. (Contributed by Thierry Arnoux, 13-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝑂) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = if(𝑋 ∈ 𝐴, 1, 0)) | ||
| Theorem | ind1 32946 | Value of the indicator function where it is 1. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝐴) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = 1) | ||
| Theorem | ind0 32947 | Value of the indicator function where it is 0. (Contributed by Thierry Arnoux, 14-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ (𝑂 ∖ 𝐴)) → (((𝟭‘𝑂)‘𝐴)‘𝑋) = 0) | ||
| Theorem | ind1a 32948 | Value of the indicator function where it is 1. (Contributed by Thierry Arnoux, 22-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂 ∧ 𝑋 ∈ 𝑂) → ((((𝟭‘𝑂)‘𝐴)‘𝑋) = 1 ↔ 𝑋 ∈ 𝐴)) | ||
| Theorem | indconst0 32949 | Indicator of the empty set. (Contributed by Thierry Arnoux, 25-Jan-2026.) |
| ⊢ (𝑂 ∈ 𝑉 → ((𝟭‘𝑂)‘∅) = (𝑂 × {0})) | ||
| Theorem | indconst1 32950 | Indicator of the whole set. (Contributed by Thierry Arnoux, 25-Jan-2026.) |
| ⊢ (𝑂 ∈ 𝑉 → ((𝟭‘𝑂)‘𝑂) = (𝑂 × {1})) | ||
| Theorem | indpi1 32951 | Preimage of the singleton {1} by the indicator function. See i1f1lem 25658. (Contributed by Thierry Arnoux, 21-Aug-2017.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → (◡((𝟭‘𝑂)‘𝐴) “ {1}) = 𝐴) | ||
| Theorem | indsum 32952* | 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 32953* | 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 32954* | 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 | indsn 32955* | The indicator function of a singleton. (Contributed by Thierry Arnoux, 15-Feb-2026.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝑋 ∈ 𝑂) → ((𝟭‘𝑂)‘{𝑋}) = (𝑥 ∈ 𝑂 ↦ if(𝑥 = 𝑋, 1, 0))) | ||
| Theorem | indf1o 32956 | 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 32957 | 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 32958* | 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 32959 | The support of the indicator function. (Contributed by Thierry Arnoux, 13-Oct-2025.) |
| ⊢ ((𝑂 ∈ 𝑉 ∧ 𝐴 ⊆ 𝑂) → (((𝟭‘𝑂)‘𝐴) supp 0) = 𝐴) | ||
| Theorem | indfsd 32960 | The indicator function of a finite set has finite support. (Contributed by Thierry Arnoux, 18-Jan-2026.) |
| ⊢ (𝜑 → 𝑂 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ⊆ 𝑂) & ⊢ (𝜑 → 𝐴 ∈ Fin) ⇒ ⊢ (𝜑 → ((𝟭‘𝑂)‘𝐴) finSupp 0) | ||
| Theorem | indfsid 32961 | 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 32962 | Constant used for decimal fraction constructor. See df-dp2 32963. |
| class _𝐴𝐵 | ||
| Definition | df-dp2 32963 | Define the "decimal fraction constructor", which is used to build up "decimal fractions" in base 10. This is intentionally similar to df-dec 12620. (Contributed by David A. Wheeler, 15-May-2015.) (Revised by AV, 9-Sep-2021.) |
| ⊢ _𝐴𝐵 = (𝐴 + (𝐵 / ;10)) | ||
| Theorem | dp2eq1 32964 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ (𝐴 = 𝐵 → _𝐴𝐶 = _𝐵𝐶) | ||
| Theorem | dp2eq2 32965 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ (𝐴 = 𝐵 → _𝐶𝐴 = _𝐶𝐵) | ||
| Theorem | dp2eq1i 32966 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ _𝐴𝐶 = _𝐵𝐶 | ||
| Theorem | dp2eq2i 32967 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 ⇒ ⊢ _𝐶𝐴 = _𝐶𝐵 | ||
| Theorem | dp2eq12i 32968 | Equality theorem for the decimal expansion constructor. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ 𝐴 = 𝐵 & ⊢ 𝐶 = 𝐷 ⇒ ⊢ _𝐴𝐶 = _𝐵𝐷 | ||
| Theorem | dp20u 32969 | Add a zero in the tenths (lower) place. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 ⇒ ⊢ _𝐴0 = 𝐴 | ||
| Theorem | dp20h 32970 | Add a zero in the unit places. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℝ+ ⇒ ⊢ _0𝐴 = (𝐴 / ;10) | ||
| Theorem | dp2cl 32971 | Closure for the decimal fraction constructor if both values are reals. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℝ ∧ 𝐵 ∈ ℝ) → _𝐴𝐵 ∈ ℝ) | ||
| Theorem | dp2clq 32972 | Closure for a decimal fraction. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℚ ⇒ ⊢ _𝐴𝐵 ∈ ℚ | ||
| Theorem | rpdp2cl 32973 | Closure for a decimal fraction in the positive real numbers. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ _𝐴𝐵 ∈ ℝ+ | ||
| Theorem | rpdp2cl2 32974 | Closure for a decimal fraction with no decimal expansion in the positive real numbers. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ ⇒ ⊢ _𝐴0 ∈ ℝ+ | ||
| Theorem | dp2lt10 32975 | Decimal fraction builds real numbers less than 10. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐴 < ;10 & ⊢ 𝐵 < ;10 ⇒ ⊢ _𝐴𝐵 < ;10 | ||
| Theorem | dp2lt 32976 | Comparing two decimal fractions (equal unit places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℝ+ & ⊢ 𝐵 < 𝐶 ⇒ ⊢ _𝐴𝐵 < _𝐴𝐶 | ||
| Theorem | dp2ltsuc 32977 | Comparing a decimal fraction with the next integer. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐵 < ;10 & ⊢ (𝐴 + 1) = 𝐶 ⇒ ⊢ _𝐴𝐵 < 𝐶 | ||
| Theorem | dp2ltc 32978 | 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 32980 and df-dp2 32963 for more information; dpval2 32984 and dpfrac1 32983 provide a more convenient way to obtain a value. This is intentionally similar to df-dec 12620. | ||
| Syntax | cdp 32979 | Decimal point operator. See df-dp 32980. |
| class . | ||
| Definition | df-dp 32980* |
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 32981 | Define the value of the decimal point operator. See df-dp 32980. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) = _𝐴𝐵) | ||
| Theorem | dpcl 32982 | Prove that the closure of the decimal point is ℝ as we have defined it. See df-dp 32980. (Contributed by David A. Wheeler, 15-May-2015.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) ∈ ℝ) | ||
| Theorem | dpfrac1 32983 | Prove a simple equivalence involving the decimal point. See df-dp 32980 and dpcl 32982. (Contributed by David A. Wheeler, 15-May-2015.) (Revised by AV, 9-Sep-2021.) |
| ⊢ ((𝐴 ∈ ℕ0 ∧ 𝐵 ∈ ℝ) → (𝐴.𝐵) = (;𝐴𝐵 / ;10)) | ||
| Theorem | dpval2 32984 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (𝐴.𝐵) = (𝐴 + (𝐵 / ;10)) | ||
| Theorem | dpval3 32985 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (𝐴.𝐵) = _𝐴𝐵 | ||
| Theorem | dpmul10 32986 | Multiply by 10 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ ((𝐴.𝐵) · ;10) = ;𝐴𝐵 | ||
| Theorem | decdiv10 32987 | Divide a decimal number by 10. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ ⇒ ⊢ (;𝐴𝐵 / ;10) = (𝐴.𝐵) | ||
| Theorem | dpmul100 32988 | Multiply by 100 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵𝐶) · ;;100) = ;;𝐴𝐵𝐶 | ||
| Theorem | dp3mul10 32989 | Multiply by 10 a decimal expansion with 3 digits. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵𝐶) · ;10) = (;𝐴𝐵.𝐶) | ||
| Theorem | dpmul1000 32990 | Multiply by 1000 a decimal expansion. (Contributed by Thierry Arnoux, 25-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℕ0 & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐷 ∈ ℝ ⇒ ⊢ ((𝐴._𝐵_𝐶𝐷) · ;;;1000) = ;;;𝐴𝐵𝐶𝐷 | ||
| Theorem | dpval3rp 32991 | Value of the decimal point construct. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ (𝐴.𝐵) = _𝐴𝐵 | ||
| Theorem | dp0u 32992 | Add a zero in the tenths place. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 ⇒ ⊢ (𝐴.0) = 𝐴 | ||
| Theorem | dp0h 32993 | Remove a zero in the units places. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℝ+ ⇒ ⊢ (0.𝐴) = (𝐴 / ;10) | ||
| Theorem | rpdpcl 32994 | Closure of the decimal point in the positive real numbers. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ (𝐴.𝐵) ∈ ℝ+ | ||
| Theorem | dplt 32995 | Comparing two decimal expansions (equal higher places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℝ+ & ⊢ 𝐵 < 𝐶 ⇒ ⊢ (𝐴.𝐵) < (𝐴.𝐶) | ||
| Theorem | dplti 32996 | Comparing a decimal expansions with the next higher integer. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐵 < ;10 & ⊢ (𝐴 + 1) = 𝐶 ⇒ ⊢ (𝐴.𝐵) < 𝐶 | ||
| Theorem | dpgti 32997 | Comparing a decimal expansions with the next lower integer. (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ ⇒ ⊢ 𝐴 < (𝐴.𝐵) | ||
| Theorem | dpltc 32998 | Comparing two decimal integers (unequal higher places). (Contributed by Thierry Arnoux, 16-Dec-2021.) |
| ⊢ 𝐴 ∈ ℕ0 & ⊢ 𝐵 ∈ ℝ+ & ⊢ 𝐶 ∈ ℕ0 & ⊢ 𝐷 ∈ ℝ+ & ⊢ 𝐴 < 𝐶 & ⊢ 𝐵 < ;10 ⇒ ⊢ (𝐴.𝐵) < (𝐶.𝐷) | ||
| Theorem | dpexpp1 32999 | 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 33000 | 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 > |