Home | Metamath
Proof Explorer Theorem List (p. 350 of 454) | < 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: | Metamath Proof Explorer
(1-28701) |
Hilbert Space Explorer
(28702-30224) |
Users' Mathboxes
(30225-45333) |
Type | Label | Description |
---|---|---|
Statement | ||
Theorem | wl-df-3mintru2 34901 |
Alternative definition of wcad 1608. See df-cad 1609 to learn how it is
currently introduced. The only use case so far is being a binary addition
primitive for df-sad 15790. If inputs are viewed as binary digits
(true is
1, false is 0), the result is whether ordinary binary full addition yields
a carry bit. That is what the name df-cad 1609 is derived from: "carry of
an addition". Here we stick with this abbreviated form of our
notation
above, but still use "adder carry" as a shorthand for "at
least 2 out of
3" in text.
The core meaning is to check whether at least two of three inputs are true. So, if the first input is true, at least one of the two remaining must be true, else even both. This theorem is the in-between of "at least 1 out of 3", given by triple disjunction df-3or 1085, and "(at least) 3 out of 3", expressed by triple conjunction df-3an 1086. The notion above can be generalized to other input numbers with other minimum values as follows. Let us introduce informally a logical operation "n-mintru-m" taking n inputs, and requiring at least m of them be true to let the operation itself be true. There now exists a recursive scheme to define it for increasing n, m. We start with the base case n = 0. Here "n-mintru-0" is equivalent to ⊤ (any sequence of inputs contains at least zero true inputs), the other "0-mintru-m" is for any m > 0 equivalent to ⊥, because a sequence of zero inputs never has a positive number of them true. The general case adds a new input 𝜑 to a given sequence of n inputs, and reduces that case for all integers m to that of the smaller sequence by recursion, informally written as: "(n+1)-mintru-(m+1)" ↔ if-(𝜑, "n-mintru-m" , "n-mintru-(m+1)" ) Our definition here matches "3-mintru-2" with inputs 𝜑, 𝜓 and 𝜒. Starting from the base cases we find after simplifications: "2-mintru-2" (𝜓, 𝜒) ↔ (𝜓 ∧ 𝜒) (wl-2mintru2 34908), and "2-mintru-1" (𝜓, 𝜒) ↔ (𝜓 ∨ 𝜒) (wl-2mintru1 34907). Plugging these expressions into the formula above for n = 3, m = 2 yields exactly our definition here. (Contributed by Wolf Lammen, 2-May-2024.) |
⊢ (cadd(𝜑, 𝜓, 𝜒) ↔ if-(𝜑, (𝜓 ∨ 𝜒), (𝜓 ∧ 𝜒))) | ||
Theorem | wl-df2-3mintru2 34902 | The adder carry in disjunctive normal form. An alternative highly symmetric definition emphasizing the independance of order of the inputs 𝜑, 𝜓 and 𝜒. Copy of cador 1610. (Contributed by Mario Carneiro, 4-Sep-2016.) df-cad redefined. (Revised by Wolf Lammen, 12-Jun-2024.) |
⊢ (cadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ∧ 𝜓) ∨ (𝜑 ∧ 𝜒) ∨ (𝜓 ∧ 𝜒))) | ||
Theorem | wl-df3-3mintru2 34903 | The adder carry in conjunctive normal form. An alternative highly symmetric definition emphasizing the independance of order of the inputs 𝜑, 𝜓 and 𝜒. Copy of cadan 1611. (Contributed by Mario Carneiro, 4-Sep-2016.) df-cad redefined. (Revised by Wolf Lammen, 18-Jun-2024.) |
⊢ (cadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ∨ 𝜓) ∧ (𝜑 ∨ 𝜒) ∧ (𝜓 ∨ 𝜒))) | ||
Theorem | wl-df4-3mintru2 34904 | An alternative definition of the adder carry. Copy of df-cad 1609. (Contributed by Mario Carneiro, 4-Sep-2016.) df-cad redefined. (Revised by Wolf Lammen, 19-Jun-2024.) |
⊢ (cadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ∧ 𝜓) ∨ (𝜒 ∧ (𝜑 ⊻ 𝜓)))) | ||
Theorem | wl-1mintru1 34905 |
Using the recursion formula:
"(n+1)-mintru-(m+1)" ↔ if-(𝜑, "n-mintru-m" , "n-mintru-(m+1)" ) for "1-mintru-1" (meaning "at least 1 out of 1 input is true") by plugging in n = 0, m = 0, and simplifying. The expressions "0-mintru-0" and "0-mintru-1" are base cases of the recursion, meaning "in a sequence of zero inputs, at least 0 / 1 input is true", respectively equvalent to ⊤ / ⊥. Negating an "n-mintru1" operation means: All n inputs 𝜑.. 𝜃 are false. This is also conveniently expressed as ¬ (𝜑 ∨.. ∨ 𝜃). Applying this idea here (n = 1) yields the obvious result that in an input sequence of size 1 only then all will be false, if its single input is. (Contributed by Wolf Lammen, 10-May-2024.) |
⊢ (if-(𝜒, ⊤, ⊥) ↔ 𝜒) | ||
Theorem | wl-1mintru2 34906 |
Using the recursion formula:
"(n+1)-mintru-(m+1)" ↔ if-(𝜑, "n-mintru-m" , "n-mintru-(m+1)" ) for "1-mintru-2" (meaning "at least 2 out of a single input are true") by plugging in n = 0, m = 1, and simplifying. The expressions "0-mintru-1" and "0-mintru-2" are base cases of the recursion, meaning "in a sequence of zero inputs at least 1 / 2 input is true", evaluate both to ⊥. Since no sequence of inputs has a longer subsequence of whatever property, the resulting ⊥ is to be expected. Negating a "n-mintru2" operation has an interesting interpretation: at most one input is true, so all inputs exclude each other mutually. Such an exclusion is expressed by a NAND operation (𝜑 ⊼ 𝜓), not by a XOR. Applying this idea here (n = 1) leads to the obvious "In a single input sequence 'at most one is true' always holds". (Contributed by Wolf Lammen, 10-May-2024.) |
⊢ (if-(𝜒, ⊥, ⊥) ↔ ⊥) | ||
Theorem | wl-2mintru1 34907 |
Using the recursion formula
"(n+1)-mintru-(m+1)" ↔ if-(𝜑, "n-mintru-m" , "n-mintru-(m+1)" ) for "2-mintru-1" (meaning "at least 1 out of 2 inputs is true") by plugging in n = 1, m = 0, and simplifying. The expression "1-mintru-0" is a base case (meaning at least zero inputs out of 1 are true), evaluating to ⊤, and wl-1mintru1 34905 shows "1-mintru-1" is equivalent to the only input. Negating an "n-mintru1" operation means: All n inputs 𝜑.. 𝜃 are false. This is also conveniently expressed as ¬ (𝜑 ∨.. ∨ 𝜃), in accordance with the result here. (Contributed by Wolf Lammen, 10-May-2024.) |
⊢ (if-(𝜓, ⊤, 𝜒) ↔ (𝜓 ∨ 𝜒)) | ||
Theorem | wl-2mintru2 34908 |
Using the recursion formula
"(n+1)-mintru-(m+1)" ↔ if-(𝜑, "n-mintru-m" , "n-mintru-(m+1)" ) for "2-mintru-2" (meaning "2 out of 2 inputs are true") by plugging in n = 1, m = 1, and simplifying. See wl-1mintru1 34905 and wl-1mintru2 34906 to see that "1-mintru-1" / "1-mintru-2" evaluate to 𝜒 / ⊥ respectively. Negating a "n-mintru2" operation means 'at most one input is true', so all inputs exclude each other mutually. Such an exclusion is expressed by a NAND operation (𝜑 ⊼ 𝜓), not by a XOR. Applying this idea here (n = 2) yields the expected NAND in case of a pair of inputs. (Contributed by Wolf Lammen, 10-May-2024.) |
⊢ (if-(𝜓, 𝜒, ⊥) ↔ (𝜓 ∧ 𝜒)) | ||
Theorem | wl-df3maxtru1 34909 |
Assuming "(n+1)-maxtru1" ↔ ¬
"(n+1)-mintru-2", we can deduce from
the recursion formula given in wl-df-3mintru2 34901, that a similiar one
"(n+1)-maxtru1" ↔ if-(𝜑,-. "n-mintru-1" , "n-maxtru1" ) is valid for expressing 'at most one input is true'. This can also be rephrased as a mutual exclusivity of propositional expressions (no two of a sequence of inputs can simultaniously be true). Of course, this suggests that all inputs depend on variables 𝜂, 𝜁... Whatever wellformed expression we plugin for these variables, it will render at most one of the inputs true. The here introduced mutual exclusivity is possibly useful for case studies, where we want the cases be sort of 'disjoint'. One can further imagine that a complete case scenario demands that the 'at most' is sharpened to 'exactly one'. This does not impose any difficulty here, as one of the inputs will then be the negation of all others be or'ed. As one input is determined, 'at most one' is sufficient to describe the general form here. Since cadd is an alias for 'at least 2 out of three are true', its negation is under focus here. (Contributed by Wolf Lammen, 23-Jun-2024.) |
⊢ (¬ cadd(𝜑, 𝜓, 𝜒) ↔ if-(𝜑, (𝜓 ⊽ 𝜒), (𝜓 ⊼ 𝜒))) | ||
Axiom | ax-wl-13v 34910* |
A version of ax13v 2380 with a distinctor instead of a distinct
variable
expression.
Had we additionally required 𝑥 and 𝑦 be distinct, too, this theorem would have been a direct consequence of ax-5 1911. So essentially this theorem states, that a distinct variable condition between set variables can be replaced with a distinctor expression. (Contributed by Wolf Lammen, 23-Jul-2021.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → (𝑦 = 𝑧 → ∀𝑥 𝑦 = 𝑧)) | ||
Theorem | wl-ax13lem1 34911* | A version of ax-wl-13v 34910 with one distinct variable restriction dropped. For convenience, 𝑦 is kept on the right side of equations. This proof bases on ideas from NM, 24-Dec-2015. (Contributed by Wolf Lammen, 23-Jul-2021.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → (𝑧 = 𝑦 → ∀𝑥 𝑧 = 𝑦)) | ||
Theorem | wl-mps 34912 | Replacing a nested consequent. A sort of modus ponens in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜑 → (𝜓 → 𝜒)) & ⊢ ((𝜑 → 𝜒) → 𝜃) ⇒ ⊢ ((𝜑 → 𝜓) → 𝜃) | ||
Theorem | wl-syls1 34913 | Replacing a nested consequent. A sort of syllogism in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜓 → 𝜒) & ⊢ ((𝜑 → 𝜒) → 𝜃) ⇒ ⊢ ((𝜑 → 𝜓) → 𝜃) | ||
Theorem | wl-syls2 34914 | Replacing a nested antecedent. A sort of syllogism in antecedent position. (Contributed by Wolf Lammen, 20-Sep-2013.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (𝜑 → 𝜓) & ⊢ ((𝜑 → 𝜒) → 𝜃) ⇒ ⊢ ((𝜓 → 𝜒) → 𝜃) | ||
Theorem | wl-embant 34915 | A true wff can always be added as a nested antecedent to an antecedent. Note: this theorem is intuitionistically valid. (Contributed by Wolf Lammen, 4-Oct-2013.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ 𝜑 & ⊢ (𝜓 → 𝜒) ⇒ ⊢ ((𝜑 → 𝜓) → 𝜒) | ||
Theorem | wl-orel12 34916 | In a conjunctive normal form a pair of nodes like (𝜑 ∨ 𝜓) ∧ (¬ 𝜑 ∨ 𝜒) eliminates the need of a node (𝜓 ∨ 𝜒). This theorem allows simplifications in that respect. (Contributed by Wolf Lammen, 20-Jun-2020.) |
⊢ (((𝜑 ∨ 𝜓) ∧ (¬ 𝜑 ∨ 𝜒)) → (𝜓 ∨ 𝜒)) | ||
Theorem | wl-cases2-dnf 34917 | A particular instance of orddi 1007 and anddi 1008 converting between disjunctive and conjunctive normal forms, when both 𝜑 and ¬ 𝜑 appear. This theorem in fact rephrases cases2 1043, and is related to consensus 1048. I restate it here in DNF and CNF. The proof deliberately does not use df-ifp 1059 and dfifp4 1062, by which it can be shortened. (Contributed by Wolf Lammen, 21-Jun-2020.) (Proof modification is discouraged.) |
⊢ (((𝜑 ∧ 𝜓) ∨ (¬ 𝜑 ∧ 𝜒)) ↔ ((¬ 𝜑 ∨ 𝜓) ∧ (𝜑 ∨ 𝜒))) | ||
Theorem | wl-cbvmotv 34918* | Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.) |
⊢ (∃*𝑥⊤ → ∃*𝑦⊤) | ||
Theorem | wl-moteq 34919 | Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.) |
⊢ (∃*𝑥⊤ → 𝑦 = 𝑧) | ||
Theorem | wl-motae 34920 | Change bound variable. Uses only Tarski's FOL axiom schemes. Part of Lemma 7 of [KalishMontague] p. 86. (Contributed by Wolf Lammen, 5-Mar-2023.) |
⊢ (∃*𝑢⊤ → ∀𝑥 𝑦 = 𝑧) | ||
Theorem | wl-moae 34921* | Two ways to express "at most one thing exists" or, in this context equivalently, "exactly one thing exists" . The equivalence results from the presence of ax-6 1970 in the proof, that ensures "at least one thing exists". For other equivalences see wl-euae 34922 and exists1 2723. Gerard Lang pointed out, that ∃𝑦∀𝑥𝑥 = 𝑦 with disjoint 𝑥 and 𝑦 (df-mo 2598, trut 1544) also means "exactly one thing exists" . (Contributed by NM, 5-Apr-2004.) State the theorem using truth constant ⊤. (Revised by BJ, 7-Oct-2022.) Reduce axiom dependencies, and use ∃*. (Revised by Wolf Lammen, 7-Mar-2023.) |
⊢ (∃*𝑥⊤ ↔ ∀𝑥 𝑥 = 𝑦) | ||
Theorem | wl-euae 34922* | Two ways to express "exactly one thing exists" . (Contributed by Wolf Lammen, 5-Mar-2023.) |
⊢ (∃!𝑥⊤ ↔ ∀𝑥 𝑥 = 𝑦) | ||
Theorem | wl-nax6im 34923* | The following series of theorems are centered around the empty domain, where no set exists. As a consequence, a set variable like 𝑥 has no instance to assign to. An expression like 𝑥 = 𝑦 is not really meaningful then. What does it evaluate to, true or false? In fact, the grammar extension weq 1964 requires us to formally assign a boolean value to an equation, say always false, unless you want to give up on exmid 892, for example. Whatever it is, we start out with the contraposition of ax-6 1970, that guarantees the existence of at least one set. Our hypothesis here expresses tentatively it might not hold. We can simplify the antecedent then, to the point where we do not need equation any more. This suggests what a decent characterization of the empty domain of discourse could be. (Contributed by Wolf Lammen, 12-Mar-2023.) |
⊢ (¬ ∃𝑥 𝑥 = 𝑦 → 𝜑) ⇒ ⊢ (¬ ∃𝑥⊤ → 𝜑) | ||
Theorem | wl-hbae1 34924 | This specialization of hbae 2442 does not depend on ax-11 2158. (Contributed by Wolf Lammen, 8-Aug-2021.) |
⊢ (∀𝑥 𝑥 = 𝑦 → ∀𝑦∀𝑥 𝑥 = 𝑦) | ||
Theorem | wl-naevhba1v 34925* | An instance of hbn1w 2053 applied to equality. (Contributed by Wolf Lammen, 7-Apr-2021.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → ∀𝑥 ¬ ∀𝑥 𝑥 = 𝑦) | ||
Theorem | wl-spae 34926 |
Prove an instance of sp 2180 from ax-13 2379 and Tarski's FOL only, without
distinct variable conditions. The antecedent ∀𝑥𝑥 = 𝑦 holds in a
multi-object universe only if 𝑦 is substituted for 𝑥, or
vice
versa, i.e. both variables are effectively the same. The converse
¬ ∀𝑥𝑥 = 𝑦 indicates that both variables are
distinct, and it so
provides a simple translation of a distinct variable condition to a
logical term. In case studies ∀𝑥𝑥 = 𝑦 and ¬
∀𝑥𝑥 = 𝑦 can
help eliminating distinct variable conditions.
The antecedent ∀𝑥𝑥 = 𝑦 is expressed in the theorem's name by the abbreviation ae standing for 'all equal'. Note that we cannot provide a logical predicate telling us directly whether a logical expression contains a particular variable, as such a construct would usually contradict ax-12 2175. Note that this theorem is also provable from ax-12 2175 alone, so you can pick the axiom it is based on. Compare this result to 19.3v 1986 and spaev 2057 having distinct variable conditions, but a smaller footprint on axiom usage. (Contributed by Wolf Lammen, 5-Apr-2021.) |
⊢ (∀𝑥 𝑥 = 𝑦 → 𝑥 = 𝑦) | ||
Theorem | wl-speqv 34927* | Under the assumption ¬ 𝑥 = 𝑦 a specialized version of sp 2180 is provable from Tarski's FOL and ax13v 2380 only. Note that this reverts the implication in ax13lem1 2381, so in fact (¬ 𝑥 = 𝑦 → (∀𝑥𝑧 = 𝑦 ↔ 𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.) |
⊢ (¬ 𝑥 = 𝑦 → (∀𝑥 𝑧 = 𝑦 → 𝑧 = 𝑦)) | ||
Theorem | wl-19.8eqv 34928* | Under the assumption ¬ 𝑥 = 𝑦 a specialized version of 19.8a 2178 is provable from Tarski's FOL and ax13v 2380 only. Note that this reverts the implication in ax13lem2 2383, so in fact (¬ 𝑥 = 𝑦 → (∃𝑥𝑧 = 𝑦 ↔ 𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.) |
⊢ (¬ 𝑥 = 𝑦 → (𝑧 = 𝑦 → ∃𝑥 𝑧 = 𝑦)) | ||
Theorem | wl-19.2reqv 34929* | Under the assumption ¬ 𝑥 = 𝑦 the reverse direction of 19.2 1981 is provable from Tarski's FOL and ax13v 2380 only. Note that in conjunction with 19.2 1981 in fact (¬ 𝑥 = 𝑦 → (∀𝑥𝑧 = 𝑦 ↔ ∃𝑥𝑧 = 𝑦)) holds. (Contributed by Wolf Lammen, 17-Apr-2021.) |
⊢ (¬ 𝑥 = 𝑦 → (∃𝑥 𝑧 = 𝑦 → ∀𝑥 𝑧 = 𝑦)) | ||
Theorem | wl-nfalv 34930* | If 𝑥 is not present in 𝜑, it is not free in ∀𝑦𝜑. (Contributed by Wolf Lammen, 11-Jan-2020.) |
⊢ Ⅎ𝑥∀𝑦𝜑 | ||
Theorem | wl-nfimf1 34931 | An antecedent is irrelevant to a not-free property, if it always holds. I used this variant of nfim 1897 in dvelimdf 2460 to simplify the proof. (Contributed by Wolf Lammen, 14-Oct-2018.) |
⊢ (∀𝑥𝜑 → (Ⅎ𝑥(𝜑 → 𝜓) ↔ Ⅎ𝑥𝜓)) | ||
Theorem | wl-nfae1 34932 | Unlike nfae 2444, this specialized theorem avoids ax-11 2158. (Contributed by Wolf Lammen, 26-Jun-2019.) |
⊢ Ⅎ𝑥∀𝑦 𝑦 = 𝑥 | ||
Theorem | wl-nfnae1 34933 | Unlike nfnae 2445, this specialized theorem avoids ax-11 2158. (Contributed by Wolf Lammen, 27-Jun-2019.) |
⊢ Ⅎ𝑥 ¬ ∀𝑦 𝑦 = 𝑥 | ||
Theorem | wl-aetr 34934 | A transitive law for variable identifying expressions. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑥 𝑥 = 𝑦 → (∀𝑥 𝑥 = 𝑧 → ∀𝑦 𝑦 = 𝑧)) | ||
Theorem | wl-axc11r 34935 | Same as axc11r 2375, but using ax12 2434 instead of ax-12 2175 directly. This better reflects axiom usage in theorems dependent on it. (Contributed by NM, 25-Jul-2015.) Avoid direct use of ax-12 2175. (Revised by Wolf Lammen, 30-Mar-2024.) |
⊢ (∀𝑦 𝑦 = 𝑥 → (∀𝑥𝜑 → ∀𝑦𝜑)) | ||
Theorem | wl-dral1d 34936 | A version of dral1 2450 with a context. Note: At first glance one might be tempted to generalize this (or a similar) theorem by weakening the first two hypotheses adding a 𝑥 = 𝑦, ∀𝑥𝑥 = 𝑦 or 𝜑 antecedent. wl-equsal1i 34948 and nf5di 2289 show that this is in fact pointless. (Contributed by Wolf Lammen, 28-Jul-2019.) |
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → (𝑥 = 𝑦 → (𝜓 ↔ 𝜒))) ⇒ ⊢ (𝜑 → (∀𝑥 𝑥 = 𝑦 → (∀𝑥𝜓 ↔ ∀𝑦𝜒))) | ||
Theorem | wl-cbvalnaed 34937 | wl-cbvalnae 34938 with a context. (Contributed by Wolf Lammen, 28-Jul-2019.) |
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦𝜓)) & ⊢ (𝜑 → (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜒)) & ⊢ (𝜑 → (𝑥 = 𝑦 → (𝜓 ↔ 𝜒))) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 ↔ ∀𝑦𝜒)) | ||
Theorem | wl-cbvalnae 34938 | A more general version of cbval 2405 when non-free properties depend on a distinctor. Such expressions arise in proofs aiming at the elimination of distinct variable constraints, specifically in application of dvelimf 2459, nfsb2 2501 or dveeq1 2387. (Contributed by Wolf Lammen, 4-Jun-2019.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑦𝜑) & ⊢ (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥𝜓) & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥𝜑 ↔ ∀𝑦𝜓) | ||
Theorem | wl-exeq 34939 | The semantics of ∃𝑥𝑦 = 𝑧. (Contributed by Wolf Lammen, 27-Apr-2018.) |
⊢ (∃𝑥 𝑦 = 𝑧 ↔ (𝑦 = 𝑧 ∨ ∀𝑥 𝑥 = 𝑦 ∨ ∀𝑥 𝑥 = 𝑧)) | ||
Theorem | wl-aleq 34940 | The semantics of ∀𝑥𝑦 = 𝑧. (Contributed by Wolf Lammen, 27-Apr-2018.) |
⊢ (∀𝑥 𝑦 = 𝑧 ↔ (𝑦 = 𝑧 ∧ (∀𝑥 𝑥 = 𝑦 ↔ ∀𝑥 𝑥 = 𝑧))) | ||
Theorem | wl-nfeqfb 34941 | Extend nfeqf 2388 to an equivalence. (Contributed by Wolf Lammen, 31-Jul-2019.) |
⊢ (Ⅎ𝑥 𝑦 = 𝑧 ↔ (∀𝑥 𝑥 = 𝑦 ↔ ∀𝑥 𝑥 = 𝑧)) | ||
Theorem | wl-nfs1t 34942 | If 𝑦 is not free in 𝜑, 𝑥 is not free in [𝑦 / 𝑥]𝜑. Closed form of nfs1 2506. (Contributed by Wolf Lammen, 27-Jul-2019.) |
⊢ (Ⅎ𝑦𝜑 → Ⅎ𝑥[𝑦 / 𝑥]𝜑) | ||
Theorem | wl-equsalvw 34943* |
Version of equsalv 2265 with a disjoint variable condition, and of equsal 2428
with two disjoint variable conditions, which requires fewer axioms. See
also the dual form equsexvw 2011.
This theorem lays the foundation to a transformation of expressions called substitution of set variables in a wff. Only in this particular context we additionally assume 𝜑 and 𝑦 disjoint, stated here as 𝜑(𝑥). Similarly the disjointness of 𝜓 and 𝑥 is expressed by 𝜓(𝑦). Both 𝜑 and 𝜓 may still depend on other set variables, but that is irrelevant here. We want to transform 𝜑(𝑥) into 𝜓(𝑦) such that 𝜓 depends on 𝑦 the same way as 𝜑 depends on 𝑥. This dependency is expressed in our hypothesis (called implicit substitution): (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)). For primitive enough 𝜑 a sort of textual substitution of 𝑥 by 𝑦 is sufficient for such transformation. But note: 𝜑 must not contain wff variables, and the substitution is no proper textual substitution either. We still need grammar information to not accidently replace the x in a token 'x.' denoting multiplication, but only catch set variables 𝑥. Our current stage of development allows only equations and quantifiers make up such primitives. Thanks to equequ1 2032 and cbvalvw 2043 we can then prove in a mechanical way that in fact the implicit substitution holds for each instance. If 𝜑 contains wff variables we cannot use textual transformation any longer, since we don't know how to replace 𝑦 for 𝑥 in placeholders of unknown structure. Our theorem now states, that the generic expression ∀𝑥(𝑥 = 𝑦 → 𝜑) formally behaves as if such a substitution was possible and made. (Contributed by BJ, 31-May-2019.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝑦 → 𝜑) ↔ 𝜓) | ||
Theorem | wl-equsald 34944 | Deduction version of equsal 2428. (Contributed by Wolf Lammen, 27-Jul-2019.) |
⊢ Ⅎ𝑥𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝜒) & ⊢ (𝜑 → (𝑥 = 𝑦 → (𝜓 ↔ 𝜒))) ⇒ ⊢ (𝜑 → (∀𝑥(𝑥 = 𝑦 → 𝜓) ↔ 𝜒)) | ||
Theorem | wl-equsal 34945 | A useful equivalence related to substitution. (Contributed by NM, 2-Jun-1993.) (Proof shortened by Andrew Salmon, 12-Aug-2011.) (Revised by Mario Carneiro, 3-Oct-2016.) It seems proving wl-equsald 34944 first, and then deriving more specialized versions wl-equsal 34945 and wl-equsal1t 34946 then is more efficient than the other way round, which is possible, too. See also equsal 2428. (Revised by Wolf Lammen, 27-Jul-2019.) (Proof modification is discouraged.) |
⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥(𝑥 = 𝑦 → 𝜑) ↔ 𝜓) | ||
Theorem | wl-equsal1t 34946 |
The expression 𝑥 = 𝑦 in antecedent position plays an
important role in
predicate logic, namely in implicit substitution. However, occasionally
it is irrelevant, and can safely be dropped. A sufficient condition for
this is when 𝑥 (or 𝑦 or both) is not free in
𝜑.
This theorem is more fundamental than equsal 2428, spimt 2393 or sbft 2267, to which it is related. (Contributed by Wolf Lammen, 19-Aug-2018.) |
⊢ (Ⅎ𝑥𝜑 → (∀𝑥(𝑥 = 𝑦 → 𝜑) ↔ 𝜑)) | ||
Theorem | wl-equsalcom 34947 | This simple equivalence eases substitution of one expression for the other. (Contributed by Wolf Lammen, 1-Sep-2018.) |
⊢ (∀𝑥(𝑥 = 𝑦 → 𝜑) ↔ ∀𝑥(𝑦 = 𝑥 → 𝜑)) | ||
Theorem | wl-equsal1i 34948 | The antecedent 𝑥 = 𝑦 is irrelevant, if one or both setvar variables are not free in 𝜑. (Contributed by Wolf Lammen, 1-Sep-2018.) |
⊢ (Ⅎ𝑥𝜑 ∨ Ⅎ𝑦𝜑) & ⊢ (𝑥 = 𝑦 → 𝜑) ⇒ ⊢ 𝜑 | ||
Theorem | wl-sb6rft 34949 | A specialization of wl-equsal1t 34946. Closed form of sb6rf 2480. (Contributed by Wolf Lammen, 27-Jul-2019.) |
⊢ (Ⅎ𝑥𝜑 → (𝜑 ↔ ∀𝑥(𝑥 = 𝑦 → [𝑥 / 𝑦]𝜑))) | ||
Theorem | wl-cbvalsbi 34950* | Change bounded variables in a special case. The reverse direction seems to involve ax-11 2158. My hope is that I will in some future be able to prove mo3 2623 with reversed quantifiers not using ax-11 2158. See also the remark in mo4 2625, which lead me to this effort. (Contributed by Wolf Lammen, 5-Mar-2024.) |
⊢ (∀𝑥𝜑 → ∀𝑦[𝑦 / 𝑥]𝜑) | ||
Theorem | wl-sbrimt 34951 | Substitution with a variable not free in antecedent affects only the consequent. Closed form of sbrim 2309. (Contributed by Wolf Lammen, 26-Jul-2019.) |
⊢ (Ⅎ𝑥𝜑 → ([𝑦 / 𝑥](𝜑 → 𝜓) ↔ (𝜑 → [𝑦 / 𝑥]𝜓))) | ||
Theorem | wl-sblimt 34952 | Substitution with a variable not free in antecedent affects only the consequent. Closed form of sbrim 2309. (Contributed by Wolf Lammen, 26-Jul-2019.) |
⊢ (Ⅎ𝑥𝜓 → ([𝑦 / 𝑥](𝜑 → 𝜓) ↔ ([𝑦 / 𝑥]𝜑 → 𝜓))) | ||
Theorem | wl-sb8t 34953 | Substitution of variable in universal quantifier. Closed form of sb8 2536. (Contributed by Wolf Lammen, 27-Jul-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∀𝑥𝜑 ↔ ∀𝑦[𝑦 / 𝑥]𝜑)) | ||
Theorem | wl-sb8et 34954 | Substitution of variable in universal quantifier. Closed form of sb8e 2537. (Contributed by Wolf Lammen, 27-Jul-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∃𝑥𝜑 ↔ ∃𝑦[𝑦 / 𝑥]𝜑)) | ||
Theorem | wl-sbhbt 34955 | Closed form of sbhb 2540. Characterizing the expression 𝜑 → ∀𝑥𝜑 using a substitution expression. (Contributed by Wolf Lammen, 28-Jul-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → ((𝜑 → ∀𝑥𝜑) ↔ ∀𝑦(𝜑 → [𝑦 / 𝑥]𝜑))) | ||
Theorem | wl-sbnf1 34956 | Two ways expressing that 𝑥 is effectively not free in 𝜑. Simplified version of sbnf2 2366. Note: This theorem shows that sbnf2 2366 has unnecessary distinct variable constraints. (Contributed by Wolf Lammen, 28-Jul-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (Ⅎ𝑥𝜑 ↔ ∀𝑥∀𝑦(𝜑 → [𝑦 / 𝑥]𝜑))) | ||
Theorem | wl-equsb3 34957 | equsb3 2106 with a distinctor. (Contributed by Wolf Lammen, 27-Jun-2019.) |
⊢ (¬ ∀𝑦 𝑦 = 𝑧 → ([𝑥 / 𝑦]𝑦 = 𝑧 ↔ 𝑥 = 𝑧)) | ||
Theorem | wl-equsb4 34958 | Substitution applied to an atomic wff. The distinctor antecedent is more general than a distinct variable constraint. (Contributed by Wolf Lammen, 26-Jun-2019.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑧 → ([𝑦 / 𝑥]𝑦 = 𝑧 ↔ 𝑦 = 𝑧)) | ||
Theorem | wl-2sb6d 34959 | Version of 2sb6 2091 with a context, and distinct variable conditions replaced with distinctors. (Contributed by Wolf Lammen, 4-Aug-2019.) |
⊢ (𝜑 → ¬ ∀𝑦 𝑦 = 𝑥) & ⊢ (𝜑 → ¬ ∀𝑦 𝑦 = 𝑤) & ⊢ (𝜑 → ¬ ∀𝑦 𝑦 = 𝑧) & ⊢ (𝜑 → ¬ ∀𝑥 𝑥 = 𝑧) ⇒ ⊢ (𝜑 → ([𝑧 / 𝑥][𝑤 / 𝑦]𝜓 ↔ ∀𝑥∀𝑦((𝑥 = 𝑧 ∧ 𝑦 = 𝑤) → 𝜓))) | ||
Theorem | wl-sbcom2d-lem1 34960* | Lemma used to prove wl-sbcom2d 34962. (Contributed by Wolf Lammen, 10-Aug-2019.) (New usage is discouraged.) |
⊢ ((𝑢 = 𝑦 ∧ 𝑣 = 𝑤) → (¬ ∀𝑥 𝑥 = 𝑤 → ([𝑢 / 𝑥][𝑣 / 𝑧]𝜑 ↔ [𝑦 / 𝑥][𝑤 / 𝑧]𝜑))) | ||
Theorem | wl-sbcom2d-lem2 34961* | Lemma used to prove wl-sbcom2d 34962. (Contributed by Wolf Lammen, 10-Aug-2019.) (New usage is discouraged.) |
⊢ (¬ ∀𝑦 𝑦 = 𝑥 → ([𝑢 / 𝑥][𝑣 / 𝑦]𝜑 ↔ ∀𝑥∀𝑦((𝑥 = 𝑢 ∧ 𝑦 = 𝑣) → 𝜑))) | ||
Theorem | wl-sbcom2d 34962 | Version of sbcom2 2165 with a context, and distinct variable conditions replaced with distinctors. (Contributed by Wolf Lammen, 4-Aug-2019.) |
⊢ (𝜑 → ¬ ∀𝑥 𝑥 = 𝑤) & ⊢ (𝜑 → ¬ ∀𝑥 𝑥 = 𝑧) & ⊢ (𝜑 → ¬ ∀𝑧 𝑧 = 𝑦) ⇒ ⊢ (𝜑 → ([𝑤 / 𝑧][𝑦 / 𝑥]𝜓 ↔ [𝑦 / 𝑥][𝑤 / 𝑧]𝜓)) | ||
Theorem | wl-sbalnae 34963 | A theorem used in elimination of disjoint variable restrictions by replacing them with distinctors. (Contributed by Wolf Lammen, 25-Jul-2019.) |
⊢ ((¬ ∀𝑥 𝑥 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑧) → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑)) | ||
Theorem | wl-sbal1 34964* | A theorem used in elimination of disjoint variable restriction on 𝑥 and 𝑦 by replacing it with a distinctor ¬ ∀𝑥𝑥 = 𝑧. (Contributed by NM, 15-May-1993.) Proof is based on wl-sbalnae 34963 now. See also sbal1 2548. (Revised by Wolf Lammen, 25-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑧 → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑)) | ||
Theorem | wl-sbal2 34965* | Move quantifier in and out of substitution. Revised to remove a distinct variable constraint. (Contributed by NM, 2-Jan-2002.) Proof is based on wl-sbalnae 34963 now. See also sbal2 2549. (Revised by Wolf Lammen, 25-Jul-2019.) (Proof modification is discouraged.) (New usage is discouraged.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → ([𝑧 / 𝑦]∀𝑥𝜑 ↔ ∀𝑥[𝑧 / 𝑦]𝜑)) | ||
Theorem | wl-2spsbbi 34966 | spsbbi 2078 applied twice. (Contributed by Wolf Lammen, 5-Aug-2023.) |
⊢ (∀𝑎∀𝑏(𝜑 ↔ 𝜓) → ([𝑦 / 𝑏][𝑥 / 𝑎]𝜑 ↔ [𝑦 / 𝑏][𝑥 / 𝑎]𝜓)) | ||
Theorem | wl-lem-exsb 34967* | This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ ∀𝑥(𝑥 = 𝑦 → 𝜑))) | ||
Theorem | wl-lem-nexmo 34968 | This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.) |
⊢ (¬ ∃𝑥𝜑 → ∀𝑥(𝜑 → 𝑥 = 𝑧)) | ||
Theorem | wl-lem-moexsb 34969* |
The antecedent ∀𝑥(𝜑 → 𝑥 = 𝑧) relates to ∃*𝑥𝜑, but is
better suited for usage in proofs. Note that no distinct variable
restriction is placed on 𝜑.
This theorem provides a basic working step in proving theorems about ∃* or ∃!. (Contributed by Wolf Lammen, 3-Oct-2019.) |
⊢ (∀𝑥(𝜑 → 𝑥 = 𝑧) → (∃𝑥𝜑 ↔ [𝑧 / 𝑥]𝜑)) | ||
Theorem | wl-alanbii 34970 | This theorem extends alanimi 1818 to a biconditional. Recurrent usage stacks up more quantifiers. (Contributed by Wolf Lammen, 4-Oct-2019.) |
⊢ (𝜑 ↔ (𝜓 ∧ 𝜒)) ⇒ ⊢ (∀𝑥𝜑 ↔ (∀𝑥𝜓 ∧ ∀𝑥𝜒)) | ||
Theorem | wl-mo2df 34971 | Version of mof 2622 with a context and a distinctor replacing a distinct variable condition. This version should be used only to eliminate disjoint variable conditions. (Contributed by Wolf Lammen, 11-Aug-2019.) |
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → ¬ ∀𝑥 𝑥 = 𝑦) & ⊢ (𝜑 → Ⅎ𝑦𝜓) ⇒ ⊢ (𝜑 → (∃*𝑥𝜓 ↔ ∃𝑦∀𝑥(𝜓 → 𝑥 = 𝑦))) | ||
Theorem | wl-mo2tf 34972 | Closed form of mof 2622 with a distinctor avoiding distinct variable conditions. (Contributed by Wolf Lammen, 20-Sep-2020.) |
⊢ ((¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥Ⅎ𝑦𝜑) → (∃*𝑥𝜑 ↔ ∃𝑦∀𝑥(𝜑 → 𝑥 = 𝑦))) | ||
Theorem | wl-eudf 34973 | Version of eu6 2634 with a context and a distinctor replacing a distinct variable condition. This version should be used only to eliminate disjoint variable conditions. (Contributed by Wolf Lammen, 23-Sep-2020.) |
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → ¬ ∀𝑥 𝑥 = 𝑦) & ⊢ (𝜑 → Ⅎ𝑦𝜓) ⇒ ⊢ (𝜑 → (∃!𝑥𝜓 ↔ ∃𝑦∀𝑥(𝜓 ↔ 𝑥 = 𝑦))) | ||
Theorem | wl-eutf 34974 | Closed form of eu6 2634 with a distinctor avoiding distinct variable conditions. (Contributed by Wolf Lammen, 23-Sep-2020.) |
⊢ ((¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥Ⅎ𝑦𝜑) → (∃!𝑥𝜑 ↔ ∃𝑦∀𝑥(𝜑 ↔ 𝑥 = 𝑦))) | ||
Theorem | wl-euequf 34975 | euequ 2658 proved with a distinctor. (Contributed by Wolf Lammen, 23-Sep-2020.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → ∃!𝑥 𝑥 = 𝑦) | ||
Theorem | wl-mo2t 34976* | Closed form of mof 2622. (Contributed by Wolf Lammen, 18-Aug-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∃*𝑥𝜑 ↔ ∃𝑦∀𝑥(𝜑 → 𝑥 = 𝑦))) | ||
Theorem | wl-mo3t 34977* | Closed form of mo3 2623. (Contributed by Wolf Lammen, 18-Aug-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∃*𝑥𝜑 ↔ ∀𝑥∀𝑦((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))) | ||
Theorem | wl-sb8eut 34978 | Substitution of variable in universal quantifier. Closed form of sb8eu 2661. (Contributed by Wolf Lammen, 11-Aug-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∃!𝑥𝜑 ↔ ∃!𝑦[𝑦 / 𝑥]𝜑)) | ||
Theorem | wl-sb8mot 34979 |
Substitution of variable in universal quantifier. Closed form of
sb8mo 2662.
This theorem relates to wl-mo3t 34977, since replacing 𝜑 with [𝑦 / 𝑥]𝜑 in the latter yields subexpressions like [𝑥 / 𝑦][𝑦 / 𝑥]𝜑, which can be reduced to 𝜑 via sbft 2267 and sbco 2526. So ∃*𝑥𝜑 ↔ ∃*𝑦[𝑦 / 𝑥]𝜑 is provable from wl-mo3t 34977 in a simple fashion, unfortunately only if 𝑥 and 𝑦 are known to be distinct. To avoid any hassle with distinctors, we prefer to derive this theorem independently, ignoring the close connection between both theorems. From an educational standpoint, one would assume wl-mo3t 34977 to be more fundamental, as it hints how the "at most one" objects on both sides of the biconditional correlate (they are the same), if they exist at all, and then prove this theorem from it. (Contributed by Wolf Lammen, 11-Aug-2019.) |
⊢ (∀𝑥Ⅎ𝑦𝜑 → (∃*𝑥𝜑 ↔ ∃*𝑦[𝑦 / 𝑥]𝜑)) | ||
Theorem | wl-axc11rc11 34980 |
Proving axc11r 2375 from axc11 2441. The hypotheses are two instances of
axc11 2441 used in the proof here. Some systems
introduce axc11 2441 as an
axiom, see for example System S2 in
https://us.metamath.org/downloads/finiteaxiom.pdf .
By contrast, this database sees the variant axc11r 2375, directly derived from ax-12 2175, as foundational. Later axc11 2441 is proven somewhat trickily, requiring ax-10 2142 and ax-13 2379, see its proof. (Contributed by Wolf Lammen, 18-Jul-2023.) |
⊢ (∀𝑦 𝑦 = 𝑥 → (∀𝑦 𝑦 = 𝑥 → ∀𝑥 𝑦 = 𝑥)) & ⊢ (∀𝑥 𝑥 = 𝑦 → (∀𝑥𝜑 → ∀𝑦𝜑)) ⇒ ⊢ (∀𝑦 𝑦 = 𝑥 → (∀𝑥𝜑 → ∀𝑦𝜑)) | ||
Axiom | ax-wl-11v 34981* | Version of ax-11 2158 with distinct variable conditions. Currently implemented as an axiom to detect unintended references to the foundational axiom ax-11 2158. It will later be converted into a theorem directly based on ax-11 2158. (Contributed by Wolf Lammen, 28-Jun-2019.) |
⊢ (∀𝑥∀𝑦𝜑 → ∀𝑦∀𝑥𝜑) | ||
Theorem | wl-ax11-lem1 34982 | A transitive law for variable identifying expressions. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑥 𝑥 = 𝑦 → (∀𝑥 𝑥 = 𝑧 ↔ ∀𝑦 𝑦 = 𝑧)) | ||
Theorem | wl-ax11-lem2 34983* | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ ((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → ∀𝑥 𝑢 = 𝑦) | ||
Theorem | wl-ax11-lem3 34984* | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (¬ ∀𝑥 𝑥 = 𝑦 → Ⅎ𝑥∀𝑢 𝑢 = 𝑦) | ||
Theorem | wl-ax11-lem4 34985* | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ Ⅎ𝑥(∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) | ||
Theorem | wl-ax11-lem5 34986 | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑢 𝑢 = 𝑦 → (∀𝑢[𝑢 / 𝑦]𝜑 ↔ ∀𝑦𝜑)) | ||
Theorem | wl-ax11-lem6 34987* | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ ((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (∀𝑢∀𝑥[𝑢 / 𝑦]𝜑 ↔ ∀𝑥∀𝑦𝜑)) | ||
Theorem | wl-ax11-lem7 34988 | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑥(¬ ∀𝑥 𝑥 = 𝑦 ∧ 𝜑) ↔ (¬ ∀𝑥 𝑥 = 𝑦 ∧ ∀𝑥𝜑)) | ||
Theorem | wl-ax11-lem8 34989* | Lemma. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ ((∀𝑢 𝑢 = 𝑦 ∧ ¬ ∀𝑥 𝑥 = 𝑦) → (∀𝑢∀𝑥[𝑢 / 𝑦]𝜑 ↔ ∀𝑦∀𝑥𝜑)) | ||
Theorem | wl-ax11-lem9 34990 | The easy part when 𝑥 coincides with 𝑦. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑥 𝑥 = 𝑦 → (∀𝑦∀𝑥𝜑 ↔ ∀𝑥∀𝑦𝜑)) | ||
Theorem | wl-ax11-lem10 34991* | We now have prepared everything. The unwanted variable 𝑢 is just in one place left. pm2.61 195 can be used in conjunction with wl-ax11-lem9 34990 to eliminate the second antecedent. Missing is something along the lines of ax-6 1970, so we could remove the first antecedent. But the Metamath axioms cannot accomplish this. Such a rule must reside one abstraction level higher than all others: It says that a distinctor implies a distinct variable condition on its contained setvar. This is only needed if such conditions are required, as ax-11v does. The result of this study is for me, that you cannot introduce a setvar capturing this condition, and hope to eliminate it later. (Contributed by Wolf Lammen, 30-Jun-2019.) |
⊢ (∀𝑦 𝑦 = 𝑢 → (¬ ∀𝑥 𝑥 = 𝑦 → (∀𝑦∀𝑥𝜑 → ∀𝑥∀𝑦𝜑))) | ||
Theorem | wl-clabv 34992* |
Variant of df-clab 2777, where the element 𝑥 is required to be
disjoint from the class it is taken from. This restriction meets
similar ones found in other definitions and axioms like ax-ext 2770,
df-clel 2870 and df-cleq 2791. 𝑥 ∈ 𝐴 with 𝐴 depending on 𝑥 can
be the source of side effects, that you rather want to be aware of. So
here we eliminate one possible way of letting this slip in instead.
An expression 𝑥 ∈ 𝐴 with 𝑥, 𝐴 not disjoint, is now only introduced either via ax-8 2113, ax-9 2121, or df-clel 2870. Theorem cleljust 2120 shows that a possible choice does not matter. The original df-clab 2777 can be rederived, see wl-dfclab 34993. In an implementation this theorem is the only user of df-clab. (Contributed by NM, 26-May-1993.) Element and class are disjoint. (Revised by Wolf Lammen, 31-May-2023.) |
⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) | ||
Theorem | wl-dfclab 34993 | Rederive df-clab 2777 from wl-clabv 34992. (Contributed by Wolf Lammen, 31-May-2023.) (Proof modification is discouraged.) |
⊢ (𝑥 ∈ {𝑦 ∣ 𝜑} ↔ [𝑥 / 𝑦]𝜑) | ||
Theorem | wl-clabtv 34994* | Using class abstraction in a context, requiring 𝑥 and 𝜑 disjoint, but based on fewer axioms than wl-clabt 34995. (Contributed by Wolf Lammen, 29-May-2023.) |
⊢ (𝜑 → {𝑥 ∣ 𝜓} = {𝑥 ∣ (𝜑 → 𝜓)}) | ||
Theorem | wl-clabt 34995 | Using class abstraction in a context. For a version based on fewer axioms see wl-clabtv 34994. (Contributed by Wolf Lammen, 29-May-2023.) |
⊢ Ⅎ𝑥𝜑 ⇒ ⊢ (𝜑 → {𝑥 ∣ 𝜓} = {𝑥 ∣ (𝜑 → 𝜓)}) | ||
Syntax | wl-ral 34996 | Redefine the restricted universal quantifier context to avoid overloading and syntax check errors in mmj2. This operator is to be distinguished from ∀𝑥 ∈ 𝐴𝜑 with a similiar semantics, but using 𝑥 as a formal parameter rather than assuming true elementhood. |
wff ∀(𝑥 : 𝐴)𝜑 | ||
Syntax | wl-rex 34997 | Redefine the restricted existential quantifier context to avoid overloading and syntax check errors in mmj2. This operator is to be distinguished from ∃𝑥 ∈ 𝐴𝜑 with a similiar semantics, but using 𝑥 as a formal parameter rather than assuming true elementhood. |
wff ∃(𝑥 : 𝐴)𝜑 | ||
Syntax | wl-rmo 34998 | Redefine the restricted "at most one" quantifier context to avoid overloading and syntax check errors in mmj2. This operator is to be distinguished from ∃*𝑥 ∈ 𝐴𝜑 with a similiar semantics, but using 𝑥 as a formal parameter rather than assuming true elementhood. |
wff ∃*(𝑥 : 𝐴)𝜑 | ||
Syntax | wl-reu 34999 | Redefine the restricted existential uniqueness context to avoid overloading and syntax check errors in mmj2. This operator is to be distinguished from ∃!𝑥 ∈ 𝐴𝜑 with a similiar semantics, but using 𝑥 as a formal parameter rather than assuming true elementhood. |
wff ∃!(𝑥 : 𝐴)𝜑 | ||
Syntax | wl-crab 35000 | Redefine extended class notation to include the restricted class abstraction (class builder). |
class {𝑥 : 𝐴 ∣ 𝜑} |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |