Home | Metamath
Proof Explorer Theorem List (p. 349 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 | ||||||||||||||||||||||||
Definition | df-finxp 34801* |
Define Cartesian exponentiation on a class.
Note that this definition is limited to finite exponents, since it is defined using nested ordered pairs. If tuples of infinite length are needed, or if they might be needed in the future, use df-ixp 8445 or df-map 8391 instead. The main advantage of this definition is that it integrates better with functions and relations. For example if 𝑅 is a subset of (𝐴↑↑2o), then df-br 5031 can be used on it, and df-fv 6332 can also be used, and so on. It's also worth keeping in mind that ((𝑈↑↑𝑀) × (𝑈↑↑𝑁)) is generally not equal to (𝑈↑↑(𝑀 +o 𝑁)). This definition is technical. Use finxp1o 34809 and finxpsuc 34815 for a more standard recursive experience. (Contributed by ML, 16-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈↑↑𝑁) = {𝑦 ∣ (𝑁 ∈ ω ∧ ∅ = (rec((𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))), 〈𝑁, 𝑦〉)‘𝑁))} | ||||||||||||||||||||||||
Theorem | dffinxpf 34802* | This theorem is the same as the definition df-finxp 34801, except that the large function is replaced by a class variable for brevity. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ (𝑈↑↑𝑁) = {𝑦 ∣ (𝑁 ∈ ω ∧ ∅ = (rec(𝐹, 〈𝑁, 𝑦〉)‘𝑁))} | ||||||||||||||||||||||||
Theorem | finxpeq1 34803 | Equality theorem for Cartesian exponentiation. (Contributed by ML, 19-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈 = 𝑉 → (𝑈↑↑𝑁) = (𝑉↑↑𝑁)) | ||||||||||||||||||||||||
Theorem | finxpeq2 34804 | Equality theorem for Cartesian exponentiation. (Contributed by ML, 19-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑀 = 𝑁 → (𝑈↑↑𝑀) = (𝑈↑↑𝑁)) | ||||||||||||||||||||||||
Theorem | csbfinxpg 34805* | Distribute proper substitution through Cartesian exponentiation. (Contributed by ML, 25-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝐴 ∈ 𝑉 → ⦋𝐴 / 𝑥⦌(𝑈↑↑𝑁) = (⦋𝐴 / 𝑥⦌𝑈↑↑⦋𝐴 / 𝑥⦌𝑁)) | ||||||||||||||||||||||||
Theorem | finxpreclem1 34806* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 17-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑋 ∈ 𝑈 → ∅ = ((𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉)))‘〈1o, 𝑋〉)) | ||||||||||||||||||||||||
Theorem | finxpreclem2 34807* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 17-Oct-2020.) | ||||||||||||||||||||||
⊢ ((𝑋 ∈ V ∧ ¬ 𝑋 ∈ 𝑈) → ¬ ∅ = ((𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉)))‘〈1o, 𝑋〉)) | ||||||||||||||||||||||||
Theorem | finxp0 34808 | The value of Cartesian exponentiation at zero. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈↑↑∅) = ∅ | ||||||||||||||||||||||||
Theorem | finxp1o 34809 | The value of Cartesian exponentiation at one. (Contributed by ML, 17-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈↑↑1o) = 𝑈 | ||||||||||||||||||||||||
Theorem | finxpreclem3 34810* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 20-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ (((𝑁 ∈ ω ∧ 2o ⊆ 𝑁) ∧ 𝑋 ∈ (V × 𝑈)) → 〈∪ 𝑁, (1st ‘𝑋)〉 = (𝐹‘〈𝑁, 𝑋〉)) | ||||||||||||||||||||||||
Theorem | finxpreclem4 34811* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 23-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ (((𝑁 ∈ ω ∧ 2o ⊆ 𝑁) ∧ 𝑦 ∈ (V × 𝑈)) → (rec(𝐹, 〈𝑁, 𝑦〉)‘𝑁) = (rec(𝐹, 〈∪ 𝑁, (1st ‘𝑦)〉)‘∪ 𝑁)) | ||||||||||||||||||||||||
Theorem | finxpreclem5 34812* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ ((𝑛 ∈ ω ∧ 1o ∈ 𝑛) → (¬ 𝑥 ∈ (V × 𝑈) → (𝐹‘〈𝑛, 𝑥〉) = 〈𝑛, 𝑥〉)) | ||||||||||||||||||||||||
Theorem | finxpreclem6 34813* | Lemma for ↑↑ recursion theorems. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ ((𝑁 ∈ ω ∧ 1o ∈ 𝑁) → (𝑈↑↑𝑁) ⊆ (V × 𝑈)) | ||||||||||||||||||||||||
Theorem | finxpsuclem 34814* | Lemma for finxpsuc 34815. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ 𝐹 = (𝑛 ∈ ω, 𝑥 ∈ V ↦ if((𝑛 = 1o ∧ 𝑥 ∈ 𝑈), ∅, if(𝑥 ∈ (V × 𝑈), 〈∪ 𝑛, (1st ‘𝑥)〉, 〈𝑛, 𝑥〉))) ⇒ ⊢ ((𝑁 ∈ ω ∧ 1o ⊆ 𝑁) → (𝑈↑↑suc 𝑁) = ((𝑈↑↑𝑁) × 𝑈)) | ||||||||||||||||||||||||
Theorem | finxpsuc 34815 | The value of Cartesian exponentiation at a successor. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ ((𝑁 ∈ ω ∧ 𝑁 ≠ ∅) → (𝑈↑↑suc 𝑁) = ((𝑈↑↑𝑁) × 𝑈)) | ||||||||||||||||||||||||
Theorem | finxp2o 34816 | The value of Cartesian exponentiation at two. (Contributed by ML, 19-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈↑↑2o) = (𝑈 × 𝑈) | ||||||||||||||||||||||||
Theorem | finxp3o 34817 | The value of Cartesian exponentiation at three. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ (𝑈↑↑3o) = ((𝑈 × 𝑈) × 𝑈) | ||||||||||||||||||||||||
Theorem | finxpnom 34818 | Cartesian exponentiation when the exponent is not a natural number defaults to the empty set. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ (¬ 𝑁 ∈ ω → (𝑈↑↑𝑁) = ∅) | ||||||||||||||||||||||||
Theorem | finxp00 34819 | Cartesian exponentiation of the empty set to any power is the empty set. (Contributed by ML, 24-Oct-2020.) | ||||||||||||||||||||||
⊢ (∅↑↑𝑁) = ∅ | ||||||||||||||||||||||||
Theorem | iunctb2 34820 | Using the axiom of countable choice ax-cc 9846, the countable union of countable sets is countable. See iunctb 9985 for a somewhat more general theorem. (Contributed by ML, 10-Dec-2020.) | ||||||||||||||||||||||
⊢ (∀𝑥 ∈ ω 𝐵 ≼ ω → ∪ 𝑥 ∈ ω 𝐵 ≼ ω) | ||||||||||||||||||||||||
Theorem | domalom 34821* | A class which dominates every natural number is not finite. (Contributed by ML, 14-Dec-2020.) | ||||||||||||||||||||||
⊢ (∀𝑛 ∈ ω 𝑛 ≼ 𝐴 → ¬ 𝐴 ∈ Fin) | ||||||||||||||||||||||||
Theorem | isinf2 34822* | The converse of isinf 8715. Any set that is not finite is literally infinite, in the sense that it contains subsets of arbitrarily large finite cardinality. (It cannot be proven that the set has countably infinite subsets unless AC is invoked.) The proof does not require the Axiom of Infinity. (Contributed by ML, 14-Dec-2020.) | ||||||||||||||||||||||
⊢ (∀𝑛 ∈ ω ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝑥 ≈ 𝑛) → ¬ 𝐴 ∈ Fin) | ||||||||||||||||||||||||
Theorem | ctbssinf 34823* | Using the axiom of choice, any infinite class has a countable subset. (Contributed by ML, 14-Dec-2020.) | ||||||||||||||||||||||
⊢ (¬ 𝐴 ∈ Fin → ∃𝑥(𝑥 ⊆ 𝐴 ∧ 𝑥 ≈ ω)) | ||||||||||||||||||||||||
Theorem | ralssiun 34824* | The index set of an indexed union is a subset of the union when each 𝐵 contains its index. (Contributed by ML, 16-Dec-2020.) | ||||||||||||||||||||||
⊢ (∀𝑥 ∈ 𝐴 𝑥 ∈ 𝐵 → 𝐴 ⊆ ∪ 𝑥 ∈ 𝐴 𝐵) | ||||||||||||||||||||||||
Theorem | nlpineqsn 34825* | For every point 𝑝 of a subset 𝐴 of 𝑋 with no limit points, there exists an open set 𝑛 that intersects 𝐴 only at 𝑝. (Contributed by ML, 23-Mar-2021.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 ⇒ ⊢ ((𝐽 ∈ Top ∧ 𝐴 ⊆ 𝑋 ∧ ((limPt‘𝐽)‘𝐴) = ∅) → ∀𝑝 ∈ 𝐴 ∃𝑛 ∈ 𝐽 (𝑝 ∈ 𝑛 ∧ (𝑛 ∩ 𝐴) = {𝑝})) | ||||||||||||||||||||||||
Theorem | nlpfvineqsn 34826* | Given a subset 𝐴 of 𝑋 with no limit points, there exists a function from each point 𝑝 of 𝐴 to an open set intersecting 𝐴 only at 𝑝. This proof uses the axiom of choice. (Contributed by ML, 23-Mar-2021.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 ⇒ ⊢ (𝐴 ∈ 𝑉 → ((𝐽 ∈ Top ∧ 𝐴 ⊆ 𝑋 ∧ ((limPt‘𝐽)‘𝐴) = ∅) → ∃𝑓(𝑓:𝐴⟶𝐽 ∧ ∀𝑝 ∈ 𝐴 ((𝑓‘𝑝) ∩ 𝐴) = {𝑝}))) | ||||||||||||||||||||||||
Theorem | fvineqsnf1 34827* | A theorem about functions where the image of every point intersects the domain only at that point. If 𝐽 is a topology and 𝐴 is a set with no limit points, then there exists an 𝐹 such that this antecedent is true. See nlpfvineqsn 34826 for a proof of this fact. (Contributed by ML, 23-Mar-2021.) | ||||||||||||||||||||||
⊢ ((𝐹:𝐴⟶𝐽 ∧ ∀𝑝 ∈ 𝐴 ((𝐹‘𝑝) ∩ 𝐴) = {𝑝}) → 𝐹:𝐴–1-1→𝐽) | ||||||||||||||||||||||||
Theorem | fvineqsneu 34828* | A theorem about functions where the image of every point intersects the domain only at that point. (Contributed by ML, 27-Mar-2021.) | ||||||||||||||||||||||
⊢ ((𝐹 Fn 𝐴 ∧ ∀𝑝 ∈ 𝐴 ((𝐹‘𝑝) ∩ 𝐴) = {𝑝}) → ∀𝑞 ∈ 𝐴 ∃!𝑥 ∈ ran 𝐹 𝑞 ∈ 𝑥) | ||||||||||||||||||||||||
Theorem | fvineqsneq 34829* | A theorem about functions where the image of every point intersects the domain only at that point. (Contributed by ML, 28-Mar-2021.) | ||||||||||||||||||||||
⊢ (((𝐹 Fn 𝐴 ∧ ∀𝑝 ∈ 𝐴 ((𝐹‘𝑝) ∩ 𝐴) = {𝑝}) ∧ (𝑍 ⊆ ran 𝐹 ∧ 𝐴 ⊆ ∪ 𝑍)) → 𝑍 = ran 𝐹) | ||||||||||||||||||||||||
This section contains a few proofs of theorems found in the pi-base database. The pi-base site can be found at <https://topology.pi-base.org/>. Definitions of topological properties are theorems labeled pibpN, where N is the property number in pi-base. For example, pibp19 34831 defines countably compact topologies. Proofs of theorems are similarly labelled pibtN, for example pibt2 34834. | ||||||||||||||||||||||||
Theorem | pibp16 34830* | Property P000016 of pi-base. The class of compact topologies. A space 𝑋 is compact if every open cover of 𝑋 has a finite subcover. This theorem is just a relabelled copy of iscmp 21993. (Contributed by ML, 8-Dec-2020.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 ⇒ ⊢ (𝐽 ∈ Comp ↔ (𝐽 ∈ Top ∧ ∀𝑦 ∈ 𝒫 𝐽(𝑋 = ∪ 𝑦 → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)𝑋 = ∪ 𝑧))) | ||||||||||||||||||||||||
Theorem | pibp19 34831* | Property P000019 of pi-base. The class of countably compact topologies. A space 𝑋 is countably compact if every countable open cover of 𝑋 has a finite subcover. (Contributed by ML, 8-Dec-2020.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 & ⊢ 𝐶 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ 𝒫 𝑥((∪ 𝑥 = ∪ 𝑦 ∧ 𝑦 ≼ ω) → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)∪ 𝑥 = ∪ 𝑧)} ⇒ ⊢ (𝐽 ∈ 𝐶 ↔ (𝐽 ∈ Top ∧ ∀𝑦 ∈ 𝒫 𝐽((𝑋 = ∪ 𝑦 ∧ 𝑦 ≼ ω) → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)𝑋 = ∪ 𝑧))) | ||||||||||||||||||||||||
Theorem | pibp21 34832* | Property P000021 of pi-base. The class of weakly countably compact topologies, or limit point compact topologies. A space 𝑋 is weakly countably compact if every infinite subset of 𝑋 has a limit point. (Contributed by ML, 9-Dec-2020.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 & ⊢ 𝑊 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ (𝒫 ∪ 𝑥 ∖ Fin)∃𝑧 ∈ ∪ 𝑥𝑧 ∈ ((limPt‘𝑥)‘𝑦)} ⇒ ⊢ (𝐽 ∈ 𝑊 ↔ (𝐽 ∈ Top ∧ ∀𝑦 ∈ (𝒫 𝑋 ∖ Fin)∃𝑧 ∈ 𝑋 𝑧 ∈ ((limPt‘𝐽)‘𝑦))) | ||||||||||||||||||||||||
Theorem | pibt1 34833* | Theorem T000001 of pi-base. A compact topology is also countably compact. See pibp16 34830 and pibp19 34831 for the definitions of the relevant properties. (Contributed by ML, 8-Dec-2020.) | ||||||||||||||||||||||
⊢ 𝐶 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ 𝒫 𝑥((∪ 𝑥 = ∪ 𝑦 ∧ 𝑦 ≼ ω) → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)∪ 𝑥 = ∪ 𝑧)} ⇒ ⊢ (𝐽 ∈ Comp → 𝐽 ∈ 𝐶) | ||||||||||||||||||||||||
Theorem | pibt2 34834* | Theorem T000002 of pi-base, a countably compact topology is also weakly countably compact. See pibp19 34831 and pibp21 34832 for the definitions of the relevant properties. This proof uses the axiom of choice. (Contributed by ML, 30-Mar-2021.) | ||||||||||||||||||||||
⊢ 𝑋 = ∪ 𝐽 & ⊢ 𝐶 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ 𝒫 𝑥((∪ 𝑥 = ∪ 𝑦 ∧ 𝑦 ≼ ω) → ∃𝑧 ∈ (𝒫 𝑦 ∩ Fin)∪ 𝑥 = ∪ 𝑧)} & ⊢ 𝑊 = {𝑥 ∈ Top ∣ ∀𝑦 ∈ (𝒫 ∪ 𝑥 ∖ Fin)∃𝑧 ∈ ∪ 𝑥𝑧 ∈ ((limPt‘𝑥)‘𝑦)} ⇒ ⊢ (𝐽 ∈ 𝐶 → 𝐽 ∈ 𝑊) | ||||||||||||||||||||||||
Theorem | wl-section-prop 34835 |
Intuitionistic logic is now developed separately, so we need not first
focus on intuitionally valid axioms ax-1 6 and
ax-2 7
any longer.
Alternatively, I start from Jan Lukasiewicz's axiom system here, i.e. ax-mp 5, ax-luk1 34836, ax-luk2 34837 and ax-luk3 34838. I rather copy this system than use luk-1 1657 to luk-3 1659, since the latter are theorems, while we need axioms here. (Contributed by Wolf Lammen, 23-Feb-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||
Axiom | ax-luk1 34836 |
1 of 3 axioms for propositional calculus due to Lukasiewicz. Copy of
luk-1 1657 and imim1 83, but introduced as an axiom. It
focuses on a basic
property of a valid implication, namely that the consequent has to be true
whenever the antecedent is. So if 𝜑 and 𝜓 are somehow
parametrized expressions, then 𝜑 → 𝜓 states that 𝜑 strengthen
𝜓, in that 𝜑 holds only for a (often
proper) subset of those
parameters making 𝜓 true. We easily accept, that when
𝜓 is
stronger than 𝜒 and, at the same time 𝜑 is
stronger than
𝜓, then 𝜑 must be stronger than
𝜒.
This transitivity is
expressed in this axiom.
A particular result of this strengthening property comes into play if the antecedent holds unconditionally. Then the consequent must hold unconditionally as well. This specialization is the foundational idea behind logical conclusion. Such conclusion is best expressed in so-called immediate versions of this axiom like imim1i 63 or syl 17. Note that these forms are weaker replacements (i.e. just frequent specialization) of the closed form presented here, hence a mere convenience. We can identify in this axiom up to three antecedents, followed by a consequent. The number of antecedents is not really fixed; the fewer we are willing to "see", the more complex the consequent grows. On the other side, since 𝜒 is a variable capable of assuming an implication itself, we might find even more antecedents after some substitution of 𝜒. This shows that the ideas of antecedent and consequent in expressions like this depends on, and can adapt to, our current interpretation of the whole expression. In this axiom, up to two antecedents happen to be of complex nature themselves, i.e. are an embedded implication. Logically, this axiom is a compact notion of simpler expressions, which I will later coin implication chains. Herein all antecedents and the consequent appear as simple variables, or their negation. Any propositional expression is equivalent to a set of such chains. This axiom, for example, is dissected into following chains, from which it can be recovered losslessly: (𝜓 → (𝜒 → (𝜑 → 𝜒))); (¬ 𝜑 → (𝜒 → (𝜑 → 𝜒))); (𝜓 → (¬ 𝜓 → (𝜑 → 𝜒))); (¬ 𝜑 → (¬ 𝜓 → (𝜑 → 𝜒))). (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) | ||||||||||||||||||||||
⊢ ((𝜑 → 𝜓) → ((𝜓 → 𝜒) → (𝜑 → 𝜒))) | ||||||||||||||||||||||||
Axiom | ax-luk2 34837 |
2 of 3 axioms for propositional calculus due to Lukasiewicz. Copy of
luk-2 1658 or pm2.18 128, but introduced as an axiom. The core idea
behind
this axiom is, that if something can be implied from both an antecedent,
and separately from its negation, then the antecedent is irrelevant to the
consequent, and can safely be dropped. This is perhaps better seen from
the following slightly extended version (related to pm2.65 196):
((𝜑 → 𝜑) → ((¬ 𝜑 → 𝜑) → 𝜑)). (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) | ||||||||||||||||||||||
⊢ ((¬ 𝜑 → 𝜑) → 𝜑) | ||||||||||||||||||||||||
Axiom | ax-luk3 34838 |
3 of 3 axioms for propositional calculus due to Lukasiewicz. Copy of
luk-3 1659 and pm2.24 124, but introduced as an axiom.
One might think that the similar pm2.21 123 (¬ 𝜑 → (𝜑 → 𝜓)) is
a valid replacement for this axiom. But this is not true, ax-3 8 is not
derivable from this modification.
This can be shown by designing carefully operators ¬ and → on a
finite set of primitive statements. In propositional logic such
statements are ⊤ and ⊥, but we can assume more and other
primitives in our universe of statements. So we denote our primitive
statements as phi0 , phi1 and phi2. The actual meaning of the statements
are not important in this context, it rather counts how they behave under
our operations ¬ and →, and which of them we assume to hold
unconditionally (phi1, phi2). For our disproving model, I give that
information in tabular form below. The interested reader may check by
hand, that all possible interpretations of ax-mp 5, ax-luk1 34836, ax-luk2 34837
and pm2.21 123 result in phi1 or phi2, meaning they always hold. But for
wl-luk-ax3 34850 we can find a counter example resulting in phi0, not a
statement always true.
The verification of a particular set of axioms in a given model is tedious
and error prone, so I wrote a computer program, first checking this for
me, and second, hunting for a counter example. Here is the result, after
9165 fruitlessly computer generated models:
ax-3 fails for phi2, phi2 number of statements: 3 always true phi1 phi2 Negation is defined as ----------------------------------------------------------------------
Implication is defined as ----------------------------------------------------------------------
(Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (¬ 𝜑 → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-section-boot 34839 | In this section, I provide the first steps needed for convenient proving. The presented theorems follow no common concept other than being useful in themselves, and apt to rederive ax-1 6, ax-2 7 and ax-3 8. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||
Theorem | wl-luk-imim1i 34840 | Inference adding common consequents in an implication, thereby interchanging the original antecedent and consequent. Copy of imim1i 63 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜓 → 𝜒) → (𝜑 → 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-luk-syl 34841 | An inference version of the transitive laws for implication luk-1 1657. Copy of syl 17 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) & ⊢ (𝜓 → 𝜒) ⇒ ⊢ (𝜑 → 𝜒) | ||||||||||||||||||||||||
Theorem | wl-luk-imtrid 34842 | A syllogism rule of inference. The first premise is used to replace the second antecedent of the second premise. Copy of syl5 34 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) & ⊢ (𝜒 → (𝜓 → 𝜃)) ⇒ ⊢ (𝜒 → (𝜑 → 𝜃)) | ||||||||||||||||||||||||
Theorem | wl-luk-pm2.18d 34843 | Deduction based on reductio ad absurdum. Copy of pm2.18d 127 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (¬ 𝜓 → 𝜓)) ⇒ ⊢ (𝜑 → 𝜓) | ||||||||||||||||||||||||
Theorem | wl-luk-con4i 34844 | Inference rule. Copy of con4i 114 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (¬ 𝜑 → ¬ 𝜓) ⇒ ⊢ (𝜓 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-luk-pm2.24i 34845 | Inference rule. Copy of pm2.24i 153 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ (¬ 𝜑 → 𝜓) | ||||||||||||||||||||||||
Theorem | wl-luk-a1i 34846 | Inference rule. Copy of a1i 11 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ (𝜓 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-luk-mpi 34847 | A nested modus ponens inference. Copy of mpi 20 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜓 & ⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → 𝜒) | ||||||||||||||||||||||||
Theorem | wl-luk-imim2i 34848 | Inference adding common antecedents in an implication. Copy of imim2i 16 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜒 → 𝜑) → (𝜒 → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-luk-imtrdi 34849 | A syllogism rule of inference. The second premise is used to replace the consequent of the first premise. Copy of syl6 35 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (𝜓 → 𝜒)) & ⊢ (𝜒 → 𝜃) ⇒ ⊢ (𝜑 → (𝜓 → 𝜃)) | ||||||||||||||||||||||||
Theorem | wl-luk-ax3 34850 | ax-3 8 proved from Lukasiewicz's axioms. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ ((¬ 𝜑 → ¬ 𝜓) → (𝜓 → 𝜑)) | ||||||||||||||||||||||||
Theorem | wl-luk-ax1 34851 | ax-1 6 proved from Lukasiewicz's axioms. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (𝜓 → 𝜑)) | ||||||||||||||||||||||||
Theorem | wl-luk-pm2.27 34852 | This theorem, called "Assertion", can be thought of as closed form of modus ponens ax-mp 5. Theorem *2.27 of [WhiteheadRussell] p. 104. Copy of pm2.27 42 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → ((𝜑 → 𝜓) → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-luk-com12 34853 | Inference that swaps (commutes) antecedents in an implication. Copy of com12 32 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜓 → (𝜑 → 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-luk-pm2.21 34854 | From a wff and its negation, anything follows. Theorem *2.21 of [WhiteheadRussell] p. 104. Also called the Duns Scotus law. Copy of pm2.21 123 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (¬ 𝜑 → (𝜑 → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-luk-con1i 34855 | A contraposition inference. Copy of con1i 149 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (¬ 𝜑 → 𝜓) ⇒ ⊢ (¬ 𝜓 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-luk-ja 34856 | Inference joining the antecedents of two premises. Copy of ja 189 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (¬ 𝜑 → 𝜒) & ⊢ (𝜓 → 𝜒) ⇒ ⊢ ((𝜑 → 𝜓) → 𝜒) | ||||||||||||||||||||||||
Theorem | wl-luk-imim2 34857 | A closed form of syllogism (see syl 17). Theorem *2.05 of [WhiteheadRussell] p. 100. Copy of imim2 58 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ ((𝜑 → 𝜓) → ((𝜒 → 𝜑) → (𝜒 → 𝜓))) | ||||||||||||||||||||||||
Theorem | wl-luk-a1d 34858 | Deduction introducing an embedded antecedent. Copy of imim2 58 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) ⇒ ⊢ (𝜑 → (𝜒 → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-luk-ax2 34859 | ax-2 7 proved from Lukasiewicz's axioms. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ ((𝜑 → (𝜓 → 𝜒)) → ((𝜑 → 𝜓) → (𝜑 → 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-luk-id 34860 | Principle of identity. Theorem *2.08 of [WhiteheadRussell] p. 101. Copy of id 22 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-luk-notnotr 34861 | Converse of double negation. Theorem *2.14 of [WhiteheadRussell] p. 102. In classical logic (our logic) this is always true. In intuitionistic logic this is not always true; in intuitionistic logic, when this is true for some 𝜑, then 𝜑 is stable. Copy of notnotr 132 with a different proof. (Contributed by Wolf Lammen, 17-Dec-2018.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (¬ ¬ 𝜑 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-luk-pm2.04 34862 | Swap antecedents. Theorem *2.04 of [WhiteheadRussell] p. 100. This was the third axiom in Frege's logic system, specifically Proposition 8 of [Frege1879] p. 35. Copy of pm2.04 90 with a different proof. (Contributed by Wolf Lammen, 7-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ ((𝜑 → (𝜓 → 𝜒)) → (𝜓 → (𝜑 → 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-section-impchain 34863 |
An implication like (𝜓 → 𝜑) with one antecedent can easily be
extended by prepending more and more antecedents, as in
(𝜒
→ (𝜓 → 𝜑)) or (𝜃 → (𝜒 → (𝜓 → 𝜑))). I
call these expressions implication chains, and the number of antecedents
(number of nodes minus one) denotes their length. A given length often
marks just a required minimum value, since the consequent 𝜑 itself
may represent an implication, or even an implication chain, such hiding
part of the whole chain. As an extension, it is useful to consider a
single variable 𝜑 as a degenerate implication chain of
length zero.
Implication chains play a particular role in logic, as all propositional expressions turn out to be convertible to one or more implication chains, their nodes as simple as a variable, or its negation. So there is good reason to focus on implication chains as a sort of normalized expressions, and build some general theorems around them, with proofs using recursive patterns. This allows for theorems referring to longer and longer implication chains in an automated way. The theorem names in this section contain the text fragment 'impchain' to point out their relevance to implication chains, followed by a number indicating the (minimal) length of the longest chain involved. (Contributed by Wolf Lammen, 6-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||
Theorem | wl-impchain-mp-x 34864 | This series of theorems provide a means of exchanging the consequent of an implication chain via a simple implication. In the main part, the theorems ax-mp 5, syl 17, syl6 35, syl8 76 form the beginning of this series. These theorems are replicated here, but with proofs that aim at a recursive scheme, allowing to base a proof on that of the previous one in the series. (Contributed by Wolf Lammen, 17-Nov-2019.) | ||||||||||||||||||||||
⊢ ⊤ | ||||||||||||||||||||||||
Theorem | wl-impchain-mp-0 34865 |
This theorem is the start of a proof recursion scheme where we replace
the consequent of an implication chain. The number '0' in the theorem
name indicates that the modified chain has no antecedents.
This theorem is in fact a copy of ax-mp 5, and is repeated here to emphasize the recursion using similar theorem names. (Contributed by Wolf Lammen, 6-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜓 & ⊢ (𝜓 → 𝜑) ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||
Theorem | wl-impchain-mp-1 34866 | This theorem is in fact a copy of wl-luk-syl 34841, and repeated here to demonstrate a recursive proof scheme. The number '1' in the theorem name indicates that a chain of length 1 is modified. (Contributed by Wolf Lammen, 6-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜒 → 𝜓) & ⊢ (𝜓 → 𝜑) ⇒ ⊢ (𝜒 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-impchain-mp-2 34867 | This theorem is in fact a copy of wl-luk-imtrdi 34849, and repeated here to demonstrate a recursive proof scheme. The number '2' in the theorem name indicates that a chain of length 2 is modified. (Contributed by Wolf Lammen, 6-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜃 → (𝜒 → 𝜓)) & ⊢ (𝜓 → 𝜑) ⇒ ⊢ (𝜃 → (𝜒 → 𝜑)) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-1.x 34868 |
It is often convenient to have the antecedent under focus in first
position, so we can apply immediate theorem forms (as opposed to
deduction, tautology form). This series of theorems swaps the first with
the last antecedent in an implication chain. This kind of swapping is
self-inverse, whence we prefer it over, say, rotating theorems. A
consequent can hide a tail of a longer chain, so theorems of this series
appear as swapping a pair of antecedents with fixed offsets. This form of
swapping antecedents is flexible enough to allow for any permutation of
antecedents in an implication chain.
The first elements of this series correspond to com12 32, com13 88, com14 96 and com15 101 in the main part. The proofs of this series aim at automated proving using a simple recursive scheme. It employs the previous theorem in the series along with a sample from the wl-impchain-mp-x 34864 series developed before. (Contributed by Wolf Lammen, 17-Nov-2019.) | ||||||||||||||||||||||
⊢ ⊤ | ||||||||||||||||||||||||
Theorem | wl-impchain-com-1.1 34869 |
A degenerate form of antecedent swapping. The number '1' in the theorem
name indicates that it handles a chain of length 1.
Since there is just one antecedent in the chain, there is nothing to swap. Nondegenerated forms begin with wl-impchain-com-1.2 34870, for more see there. (Contributed by Wolf Lammen, 7-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜓 → 𝜑) ⇒ ⊢ (𝜓 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-1.2 34870 |
This theorem is in fact a copy of wl-luk-com12 34853, and repeated here to
demonstrate a simple proof scheme. The number '2' in the theorem name
indicates that a chain of length 2 is modified.
See wl-impchain-com-1.x 34868 for more information how this proof is generated. (Contributed by Wolf Lammen, 7-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜒 → (𝜓 → 𝜑)) ⇒ ⊢ (𝜓 → (𝜒 → 𝜑)) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-1.3 34871 |
This theorem is in fact a copy of com13 88, and repeated here to
demonstrate a simple proof scheme. The number '3' in the theorem name
indicates that a chain of length 3 is modified.
See wl-impchain-com-1.x 34868 for more information how this proof is generated. (Contributed by Wolf Lammen, 7-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜃 → (𝜒 → (𝜓 → 𝜑))) ⇒ ⊢ (𝜓 → (𝜒 → (𝜃 → 𝜑))) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-1.4 34872 |
This theorem is in fact a copy of com14 96, and repeated here to
demonstrate a simple proof scheme. The number '4' in the theorem name
indicates that a chain of length 4 is modified.
See wl-impchain-com-1.x 34868 for more information how this proof is generated. (Contributed by Wolf Lammen, 7-Jul-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜂 → (𝜃 → (𝜒 → (𝜓 → 𝜑)))) ⇒ ⊢ (𝜓 → (𝜃 → (𝜒 → (𝜂 → 𝜑)))) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-n.m 34873 |
This series of theorems allow swapping any two antecedents in an
implication chain. The theorem names follow a pattern wl-impchain-com-n.m
with integral numbers n < m, that swaps the m-th antecedent with n-th
one
in an implication chain. It is sufficient to restrict the length of the
chain to m, too, since the consequent can be assumed to be the tail right
of the m-th antecedent of any arbitrary sized implication chain. We
further assume n > 1, since the wl-impchain-com-1.x 34868 series already
covers the special case n = 1.
Being able to swap any two antecedents in an implication chain lays the foundation of permuting its antecedents arbitrarily. The proofs of this series aim at automated proofing using a simple scheme. Any instance of this series is a triple step of swapping the first and n-th antecedent, then the first and the m-th, then the first and the n-th antecedent again. Each of these steps is an instance of the wl-impchain-com-1.x 34868 series. (Contributed by Wolf Lammen, 17-Nov-2019.) | ||||||||||||||||||||||
⊢ ⊤ | ||||||||||||||||||||||||
Theorem | wl-impchain-com-2.3 34874 | This theorem is in fact a copy of com23 86. It starts a series of theorems named after wl-impchain-com-n.m 34873. For more information see there. (Contributed by Wolf Lammen, 12-Nov-2019.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜃 → (𝜒 → (𝜓 → 𝜑))) ⇒ ⊢ (𝜃 → (𝜓 → (𝜒 → 𝜑))) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-2.4 34875 | This theorem is in fact a copy of com24 95. It is another instantiation of theorems named after wl-impchain-com-n.m 34873. For more information see there. (Contributed by Wolf Lammen, 17-Nov-2019.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||
⊢ (𝜂 → (𝜃 → (𝜒 → (𝜓 → 𝜑)))) ⇒ ⊢ (𝜂 → (𝜓 → (𝜒 → (𝜃 → 𝜑)))) | ||||||||||||||||||||||||
Theorem | wl-impchain-com-3.2.1 34876 | This theorem is in fact a copy of com3r 87. The proof is an example of how to arrive at arbitrary permutations of antecedents, using only swapping theorems. The recursion principle is to first swap the correct antecedent to the position just before the consequent, and then employ a theorem handling an implication chain of length one less to reorder the others. (Contributed by Wolf Lammen, 17-Nov-2019.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||
⊢ (𝜃 → (𝜒 → (𝜓 → 𝜑))) ⇒ ⊢ (𝜓 → (𝜃 → (𝜒 → 𝜑))) | ||||||||||||||||||||||||
Theorem | wl-impchain-a1-x 34877 |
If an implication chain is assumed (hypothesis) or proven (theorem) to
hold, then we may add any extra antecedent to it, without changing its
truth. This is expressed in its simplest form in wl-luk-a1i 34846, that
allows us prepending an arbitrary antecedent to an implication chain.
Using our antecedent swapping theorems described in
wl-impchain-com-n.m 34873, we may then move such a prepended
antecedent to
any desired location within all antecedents. The first series of theorems
of this kind adds a single antecedent somewhere to an implication chain.
The appended number in the theorem name indicates its position within all
antecedents, 1 denoting the head position. A second theorem series
extends this idea to multiple additions (TODO).
Adding antecedents to an implication chain usually weakens their universality. The consequent afterwards dependends on more conditions than before, which renders the implication chain less versatile. So you find this proof technique mostly when you adjust a chain to a hypothesis of a rule. A common case are syllogisms merging two implication chains into one. The first elements of the first series correspond to a1i 11, a1d 25 and a1dd 50 in the main part. The proofs of this series aim at automated proving using a simple recursive scheme. It employs the previous theorem in the series along with a sample from the wl-impchain-com-1.x 34868 series developed before. (Contributed by Wolf Lammen, 20-Jun-2020.) | ||||||||||||||||||||||
⊢ ⊤ | ||||||||||||||||||||||||
Theorem | wl-impchain-a1-1 34878 | Inference rule, a copy of a1i 11. Head start of a recursive proof pattern. (Contributed by Wolf Lammen, 20-Jun-2020.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ (𝜓 → 𝜑) | ||||||||||||||||||||||||
Theorem | wl-impchain-a1-2 34879 | Inference rule, a copy of a1d 25. First recursive proof based on the previous instance. (Contributed by Wolf Lammen, 20-Jun-2020.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → 𝜓) ⇒ ⊢ (𝜑 → (𝜒 → 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-impchain-a1-3 34880 | Inference rule, a copy of a1dd 50. A recursive proof depending on previous instances, and demonstrating the proof pattern. (Contributed by Wolf Lammen, 20-Jun-2020.) (New usage is discouraged.) (Proof modification is discouraged.) | ||||||||||||||||||||||
⊢ (𝜑 → (𝜓 → 𝜒)) ⇒ ⊢ (𝜑 → (𝜓 → (𝜃 → 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-ifp-ncond1 34881 | If one case of an if- condition is false, the other automatically follows. (Contributed by Wolf Lammen, 21-Jul-2024.) | ||||||||||||||||||||||
⊢ (¬ 𝜓 → (if-(𝜑, 𝜓, 𝜒) ↔ (¬ 𝜑 ∧ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-ifp-ncond2 34882 | If one case of an if- condition is false, the other automatically follows. (Contributed by Wolf Lammen, 21-Jul-2024.) | ||||||||||||||||||||||
⊢ (¬ 𝜒 → (if-(𝜑, 𝜓, 𝜒) ↔ (𝜑 ∧ 𝜓))) | ||||||||||||||||||||||||
Theorem | wl-ifpimpr 34883 | If one case of an if- condition is a consequence of the other, the expression in df-ifp 1059 can be shortened. (Contributed by Wolf Lammen, 12-Jun-2024.) | ||||||||||||||||||||||
⊢ ((𝜒 → 𝜓) → (if-(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ∧ 𝜓) ∨ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-ifp4impr 34884 | If one case of an if- condition is a consequence of the other, the expression in dfifp4 1062 can be shortened. (Contributed by Wolf Lammen, 18-Jun-2024.) | ||||||||||||||||||||||
⊢ ((𝜒 → 𝜓) → (if-(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ∨ 𝜒) ∧ 𝜓))) | ||||||||||||||||||||||||
Theorem | wl-df-3xor 34885 |
Alternative definition of whad 1594 based on hadifp 1607. See df-had 1595 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 what a binary single-bit
addition with carry-in yields in the low bit of their sum.
The core meaning is to check whether an odd number of three inputs are true. The ⊻ operation tests this for two inputs. So, if the first input is true, the two remaining inputs need to amount to an even (or: not an odd) number, else to an odd number. The idea of an odd number of inputs being true carries over to other than 3 inputs by recursion: In an informal notation we depend the case with n+1 inputs, 𝜑 being the additional one, recursively on that of n inputs: "(n+1)-xor" ↔ if-(𝜑, ¬ "n-xor" , "n-xor" ). The base case is "0-xor" being ⊥, because zero inputs never contain an odd number among them. Then we find, after simplifying, in our informal notation: "2-xor" (𝜑, 𝜓) ↔ (𝜑 ⊻ 𝜓) (see wl-2xor 34900). Our definition here follows exactly the above pattern. In microprocessor technology an addition limited to a range (a one-bit range in our case) is called a "wrap-around operation". The name "had", as in df-had 1595, by contrast, is somehow suggestive of a "half adder" instead. Such a circuit, for one, takes two inputs only, no carry-in, and then yields two outputs - both sum and carry. That's why we use "3xor" instead of "had" here. (Contributed by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ if-(𝜑, ¬ (𝜓 ⊻ 𝜒), (𝜓 ⊻ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-df3xor2 34886 | Alternative definition of wl-df-3xor 34885, using triple exclusive disjunction, or XOR3. You can add more input by appending each one with a ⊻. Copy of hadass 1598. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 1-May-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜑 ⊻ (𝜓 ⊻ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-df3xor3 34887 | Alternative form of wl-df3xor2 34886. Copy of df-had 1595. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 1-May-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ⊻ 𝜓) ⊻ 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-3xortru 34888 | If the first input is true, then triple xor is equivalent to the biconditionality of the other two inputs. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (𝜑 → (hadd(𝜑, 𝜓, 𝜒) ↔ ¬ (𝜓 ⊻ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-3xorfal 34889 | If the first input is false, then triple xor is equivalent to the exclusive disjunction of the other two inputs. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 29-Apr-2024.) | ||||||||||||||||||||||
⊢ (¬ 𝜑 → (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜓 ⊻ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-3xorbi 34890 | Triple xor can be replaced with a triple biconditional. Unlike ⊻, you cannot add more inputs by simply stacking up more biconditionals, and still express an "odd number of inputs". (Contributed by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ (𝜑 ↔ (𝜓 ↔ 𝜒))) | ||||||||||||||||||||||||
Theorem | wl-3xorbi2 34891 | Alternative form of wl-3xorbi 34890. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ ((𝜑 ↔ 𝜓) ↔ 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-3xorbi123d 34892 | Equivalence theorem for triple xor. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → (𝜃 ↔ 𝜏)) & ⊢ (𝜑 → (𝜂 ↔ 𝜁)) ⇒ ⊢ (𝜑 → (hadd(𝜓, 𝜃, 𝜂) ↔ hadd(𝜒, 𝜏, 𝜁))) | ||||||||||||||||||||||||
Theorem | wl-3xorbi123i 34893 | Equivalence theorem for triple xor. Copy of hadbi123i 1597. (Contributed by Mario Carneiro, 4-Sep-2016.) | ||||||||||||||||||||||
⊢ (𝜓 ↔ 𝜒) & ⊢ (𝜃 ↔ 𝜏) & ⊢ (𝜂 ↔ 𝜁) ⇒ ⊢ (hadd(𝜓, 𝜃, 𝜂) ↔ hadd(𝜒, 𝜏, 𝜁)) | ||||||||||||||||||||||||
Theorem | wl-3xorrot 34894 | Rotation law for triple xor. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ hadd(𝜓, 𝜒, 𝜑)) | ||||||||||||||||||||||||
Theorem | wl-3xorcoma 34895 | Commutative law for triple xor. Copy of hadcoma 1600. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 17-Dec-2023.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ hadd(𝜓, 𝜑, 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-3xorcomb 34896 | Commutative law for triple xor. (Contributed by Mario Carneiro, 4-Sep-2016.) df-had redefined. (Revised by Wolf Lammen, 24-Apr-2024.) | ||||||||||||||||||||||
⊢ (hadd(𝜑, 𝜓, 𝜒) ↔ hadd(𝜑, 𝜒, 𝜓)) | ||||||||||||||||||||||||
Theorem | wl-3xornot1 34897 | Flipping the first input flips the triple xor. wl-3xorrot 34894 can rotate any input to the front, so flipping any one of them does the same. (Contributed by Wolf Lammen, 1-May-2024.) | ||||||||||||||||||||||
⊢ (¬ hadd(𝜑, 𝜓, 𝜒) ↔ hadd(¬ 𝜑, 𝜓, 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-3xornot 34898 | Triple xor distributes over negation. Copy of hadnot 1604. (Contributed by Mario Carneiro, 4-Sep-2016.) (Proof shortened by Wolf Lammen, 11-Jul-2020.) | ||||||||||||||||||||||
⊢ (¬ hadd(𝜑, 𝜓, 𝜒) ↔ hadd(¬ 𝜑, ¬ 𝜓, ¬ 𝜒)) | ||||||||||||||||||||||||
Theorem | wl-1xor 34899 |
In the recursive scheme
"(n+1)-xor" ↔ if-(𝜑, ¬ "n-xor" , "n-xor" ) we set n = 0 to formally arrive at an expression for "1-xor". The base case "0-xor" is replaced with ⊥, as a sequence of 0 inputs never has an odd number being part of it. (Contributed by Wolf Lammen, 11-May-2024.) | ||||||||||||||||||||||
⊢ (if-(𝜓, ¬ ⊥, ⊥) ↔ 𝜓) | ||||||||||||||||||||||||
Theorem | wl-2xor 34900 |
In the recursive scheme
"(n+1)-xor" ↔ if-(𝜑, ¬ "n-xor" , "n-xor" ) we set n = 1 to formally arrive at an expression for "2-xor". It is based on "1-xor", that is known to be equivalent to its only input (see wl-1xor 34899). (Contributed by Wolf Lammen, 11-May-2024.) | ||||||||||||||||||||||
⊢ (if-(𝜑, ¬ 𝜓, 𝜓) ↔ (𝜑 ⊻ 𝜓)) |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |