Home | Intuitionistic Logic Explorer Theorem List (p. 137 of 140) | < Previous Next > |
Bad symbols? Try the
GIF version. |
||
Mirrors > Metamath Home Page > ILE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
Type | Label | Description | ||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Statement | ||||||||||||||||||||||||||
Theorem | 2sqlem10 13601* | Lemma for 2sq . Every factor of a "proper" sum of two squares (where the summands are coprime) is a sum of two squares. (Contributed by Mario Carneiro, 19-Jun-2015.) | ||||||||||||||||||||||||
⊢ 𝑆 = ran (𝑤 ∈ ℤ[i] ↦ ((abs‘𝑤)↑2)) & ⊢ 𝑌 = {𝑧 ∣ ∃𝑥 ∈ ℤ ∃𝑦 ∈ ℤ ((𝑥 gcd 𝑦) = 1 ∧ 𝑧 = ((𝑥↑2) + (𝑦↑2)))} ⇒ ⊢ ((𝐴 ∈ 𝑌 ∧ 𝐵 ∈ ℕ ∧ 𝐵 ∥ 𝐴) → 𝐵 ∈ 𝑆) | ||||||||||||||||||||||||||
This section describes the conventions we use. These conventions often refer to existing mathematical practices, which are discussed in more detail in other references. The following sources lay out how mathematics is developed without the law of the excluded middle. Of course, there are a greater number of sources which assume excluded middle and most of what is in them applies here too (especially in a treatment such as ours which is built on first-order logic and set theory, rather than, say, type theory). Studying how a topic is treated in the Metamath Proof Explorer and the references therein is often a good place to start (and is easy to compare with the Intuitionistic Logic Explorer). The textbooks provide a motivation for what we are doing, whereas Metamath lets you see in detail all hidden and implicit steps. Most standard theorems are accompanied by citations. Some closely followed texts include the following:
| ||||||||||||||||||||||||||
Theorem | conventions 13602 |
Unless there is a reason to diverge, we follow the conventions of the
Metamath Proof Explorer (MPE, set.mm). This list of conventions is
intended to be read in conjunction with the corresponding conventions in
the Metamath Proof Explorer, and only the differences are described
below.
Label naming conventions Here are a few of the label naming conventions:
The following table shows some commonly-used abbreviations in labels which are not found in the Metamath Proof Explorer, in alphabetical order. For each abbreviation we provide a mnenomic to help you remember it, the source theorem/assumption defining it, an expression showing what it looks like, whether or not it is a "syntax fragment" (an abbreviation that indicates a particular kind of syntax), and hyperlinks to label examples that use the abbreviation. The abbreviation is bolded if there is a df-NAME definition but the label fragment is not NAME. For the "g" abbreviation, this is related to the set.mm usage, in which "is a set" conditions are converted from hypotheses to antecedents, but is also used where "is a set" conditions are added relative to similar set.mm theorems.
(Contributed by Jim Kingdon, 24-Feb-2020.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||||
Theorem | ex-or 13603 | Example for ax-io 699. Example by David A. Wheeler. (Contributed by Mario Carneiro, 9-May-2015.) | ||||||||||||||||||||||||
⊢ (2 = 3 ∨ 4 = 4) | ||||||||||||||||||||||||||
Theorem | ex-an 13604 | Example for ax-ia1 105. Example by David A. Wheeler. (Contributed by Mario Carneiro, 9-May-2015.) | ||||||||||||||||||||||||
⊢ (2 = 2 ∧ 3 = 3) | ||||||||||||||||||||||||||
Theorem | 1kp2ke3k 13605 |
Example for df-dec 9323, 1000 + 2000 = 3000.
This proof disproves (by counterexample) the assertion of Hao Wang, who stated, "There is a theorem in the primitive notation of set theory that corresponds to the arithmetic theorem 1000 + 2000 = 3000. The formula would be forbiddingly long... even if (one) knows the definitions and is asked to simplify the long formula according to them, chances are he will make errors and arrive at some incorrect result." (Hao Wang, "Theory and practice in mathematics" , In Thomas Tymoczko, editor, New Directions in the Philosophy of Mathematics, pp 129-152, Birkauser Boston, Inc., Boston, 1986. (QA8.6.N48). The quote itself is on page 140.) This is noted in Metamath: A Computer Language for Pure Mathematics by Norman Megill (2007) section 1.1.3. Megill then states, "A number of writers have conveyed the impression that the kind of absolute rigor provided by Metamath is an impossible dream, suggesting that a complete, formal verification of a typical theorem would take millions of steps in untold volumes of books... These writers assume, however, that in order to achieve the kind of complete formal verification they desire one must break down a proof into individual primitive steps that make direct reference to the axioms. This is not necessary. There is no reason not to make use of previously proved theorems rather than proving them over and over... A hierarchy of theorems and definitions permits an exponential growth in the formula sizes and primitive proof steps to be described with only a linear growth in the number of symbols used. Of course, this is how ordinary informal mathematics is normally done anyway, but with Metamath it can be done with absolute rigor and precision." The proof here starts with (2 + 1) = 3, commutes it, and repeatedly multiplies both sides by ten. This is certainly longer than traditional mathematical proofs, e.g., there are a number of steps explicitly shown here to show that we're allowed to do operations such as multiplication. However, while longer, the proof is clearly a manageable size - even though every step is rigorously derived all the way back to the primitive notions of set theory and logic. And while there's a risk of making errors, the many independent verifiers make it much less likely that an incorrect result will be accepted. This proof heavily relies on the decimal constructor df-dec 9323 developed by Mario Carneiro in 2015. The underlying Metamath language has an intentionally very small set of primitives; it doesn't even have a built-in construct for numbers. Instead, the digits are defined using these primitives, and the decimal constructor is used to make it easy to express larger numbers as combinations of digits. (Contributed by David A. Wheeler, 29-Jun-2016.) (Shortened by Mario Carneiro using the arithmetic algorithm in mmj2, 30-Jun-2016.) | ||||||||||||||||||||||||
⊢ (;;;1000 + ;;;2000) = ;;;3000 | ||||||||||||||||||||||||||
Theorem | ex-fl 13606 | Example for df-fl 10205. Example by David A. Wheeler. (Contributed by Mario Carneiro, 18-Jun-2015.) | ||||||||||||||||||||||||
⊢ ((⌊‘(3 / 2)) = 1 ∧ (⌊‘-(3 / 2)) = -2) | ||||||||||||||||||||||||||
Theorem | ex-ceil 13607 | Example for df-ceil 10206. (Contributed by AV, 4-Sep-2021.) | ||||||||||||||||||||||||
⊢ ((⌈‘(3 / 2)) = 2 ∧ (⌈‘-(3 / 2)) = -1) | ||||||||||||||||||||||||||
Theorem | ex-exp 13608 | Example for df-exp 10455. (Contributed by AV, 4-Sep-2021.) | ||||||||||||||||||||||||
⊢ ((5↑2) = ;25 ∧ (-3↑-2) = (1 / 9)) | ||||||||||||||||||||||||||
Theorem | ex-fac 13609 | Example for df-fac 10639. (Contributed by AV, 4-Sep-2021.) | ||||||||||||||||||||||||
⊢ (!‘5) = ;;120 | ||||||||||||||||||||||||||
Theorem | ex-bc 13610 | Example for df-bc 10661. (Contributed by AV, 4-Sep-2021.) | ||||||||||||||||||||||||
⊢ (5C3) = ;10 | ||||||||||||||||||||||||||
Theorem | ex-dvds 13611 | Example for df-dvds 11728: 3 divides into 6. (Contributed by David A. Wheeler, 19-May-2015.) | ||||||||||||||||||||||||
⊢ 3 ∥ 6 | ||||||||||||||||||||||||||
Theorem | ex-gcd 13612 | Example for df-gcd 11876. (Contributed by AV, 5-Sep-2021.) | ||||||||||||||||||||||||
⊢ (-6 gcd 9) = 3 | ||||||||||||||||||||||||||
Theorem | mathbox 13613 |
(This theorem is a dummy placeholder for these guidelines. The label
of this theorem, "mathbox", is hard-coded into the Metamath
program to
identify the start of the mathbox section for web page generation.)
A "mathbox" is a user-contributed section that is maintained by its contributor independently from the main part of iset.mm. For contributors: By making a contribution, you agree to release it into the public domain, according to the statement at the beginning of iset.mm. Guidelines: Mathboxes in iset.mm follow the same practices as in set.mm, so refer to the mathbox guidelines there for more details. (Contributed by NM, 20-Feb-2007.) (Revised by the Metamath team, 9-Sep-2023.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ 𝜑 ⇒ ⊢ 𝜑 | ||||||||||||||||||||||||||
Theorem | bj-nnsn 13614 | As far as implying a negated formula is concerned, a formula is equivalent to its double negation. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ ((𝜑 → ¬ 𝜓) ↔ (¬ ¬ 𝜑 → ¬ 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-nnor 13615 | Double negation of a disjunction in terms of implication. (Contributed by BJ, 9-Oct-2019.) | ||||||||||||||||||||||||
⊢ (¬ ¬ (𝜑 ∨ 𝜓) ↔ (¬ 𝜑 → ¬ ¬ 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-nnim 13616 | The double negation of an implication implies the implication with the consequent doubly negated. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ ¬ (𝜑 → 𝜓) → (𝜑 → ¬ ¬ 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-nnan 13617 | The double negation of a conjunction implies the conjunction of the double negations. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ ¬ (𝜑 ∧ 𝜓) → (¬ ¬ 𝜑 ∧ ¬ ¬ 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-nnclavius 13618 | Clavius law with doubly negated consequent. (Contributed by BJ, 4-Dec-2023.) | ||||||||||||||||||||||||
⊢ ((¬ 𝜑 → 𝜑) → ¬ ¬ 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-imnimnn 13619 | If a formula is implied by both a formula and its negation, then it is not refutable. There is another proof using the inference associated with bj-nnclavius 13618 as its last step. (Contributed by BJ, 27-Oct-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝜓) & ⊢ (¬ 𝜑 → 𝜓) ⇒ ⊢ ¬ ¬ 𝜓 | ||||||||||||||||||||||||||
Some of the following theorems, like bj-sttru 13621 or bj-stfal 13623 could be deduced from their analogues for decidability, but stability is not provable from decidability in minimal calculus, so direct proofs have their interest. | ||||||||||||||||||||||||||
Theorem | bj-trst 13620 | A provable formula is stable. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (𝜑 → STAB 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-sttru 13621 | The true truth value is stable. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ STAB ⊤ | ||||||||||||||||||||||||||
Theorem | bj-fast 13622 | A refutable formula is stable. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ 𝜑 → STAB 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-stfal 13623 | The false truth value is stable. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ STAB ⊥ | ||||||||||||||||||||||||||
Theorem | bj-nnst 13624 | Double negation of stability of a formula. Intuitionistic logic refutes unstability (but does not prove stability) of any formula. This theorem can also be proved in classical refutability calculus (see https://us.metamath.org/mpeuni/bj-peircestab.html) but not in minimal calculus (see https://us.metamath.org/mpeuni/bj-stabpeirce.html). See nnnotnotr 13872 for the version not using the definition of stability. (Contributed by BJ, 9-Oct-2019.) Prove it in ( → , ¬ ) -intuitionistic calculus with definitions (uses of ax-ia1 105, ax-ia2 106, ax-ia3 107 are via sylibr 133, necessary for definition unpackaging), and in ( → , ↔ , ¬ )-intuitionistic calculus, following a discussion with Jim Kingdon. (Revised by BJ, 27-Oct-2024.) | ||||||||||||||||||||||||
⊢ ¬ ¬ STAB 𝜑 | ||||||||||||||||||||||||||
Theorem | bj-nnbist 13625 | If a formula is not refutable, then it is stable if and only if it is provable. By double-negation translation, if 𝜑 is a classical tautology, then ¬ ¬ 𝜑 is an intuitionistic tautology. Therefore, if 𝜑 is a classical tautology, then 𝜑 is intuitionistically equivalent to its stability (and to its decidability, see bj-nnbidc 13638). (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ ¬ 𝜑 → (STAB 𝜑 ↔ 𝜑)) | ||||||||||||||||||||||||||
Theorem | bj-stst 13626 | Stability of a proposition is stable if and only if that proposition is stable. STAB is idempotent. (Contributed by BJ, 9-Oct-2019.) | ||||||||||||||||||||||||
⊢ (STAB STAB 𝜑 ↔ STAB 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-stim 13627 | A conjunction with a stable consequent is stable. See stabnot 823 for negation , bj-stan 13628 for conjunction , and bj-stal 13630 for universal quantification. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (STAB 𝜓 → STAB (𝜑 → 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-stan 13628 | The conjunction of two stable formulas is stable. See bj-stim 13627 for implication, stabnot 823 for negation, and bj-stal 13630 for universal quantification. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ ((STAB 𝜑 ∧ STAB 𝜓) → STAB (𝜑 ∧ 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-stand 13629 | The conjunction of two stable formulas is stable. Deduction form of bj-stan 13628. Its proof is shorter (when counting all steps, including syntactic steps), so one could prove it first and then bj-stan 13628 from it, the usual way. (Contributed by BJ, 24-Nov-2023.) (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ (𝜑 → STAB 𝜓) & ⊢ (𝜑 → STAB 𝜒) ⇒ ⊢ (𝜑 → STAB (𝜓 ∧ 𝜒)) | ||||||||||||||||||||||||||
Theorem | bj-stal 13630 | The universal quantification of a stable formula is stable. See bj-stim 13627 for implication, stabnot 823 for negation, and bj-stan 13628 for conjunction. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (∀𝑥STAB 𝜑 → STAB ∀𝑥𝜑) | ||||||||||||||||||||||||||
Theorem | bj-pm2.18st 13631 | Clavius law for stable formulas. See pm2.18dc 845. (Contributed by BJ, 4-Dec-2023.) | ||||||||||||||||||||||||
⊢ (STAB 𝜑 → ((¬ 𝜑 → 𝜑) → 𝜑)) | ||||||||||||||||||||||||||
Theorem | bj-con1st 13632 | Contraposition when the antecedent is a negated stable proposition. See con1dc 846. (Contributed by BJ, 11-Nov-2024.) | ||||||||||||||||||||||||
⊢ (STAB 𝜑 → ((¬ 𝜑 → 𝜓) → (¬ 𝜓 → 𝜑))) | ||||||||||||||||||||||||||
Theorem | bj-trdc 13633 | A provable formula is decidable. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (𝜑 → DECID 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-dctru 13634 | The true truth value is decidable. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ DECID ⊤ | ||||||||||||||||||||||||||
Theorem | bj-fadc 13635 | A refutable formula is decidable. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ 𝜑 → DECID 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-dcfal 13636 | The false truth value is decidable. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ DECID ⊥ | ||||||||||||||||||||||||||
Theorem | bj-dcstab 13637 | A decidable formula is stable. (Contributed by BJ, 24-Nov-2023.) (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ (DECID 𝜑 → STAB 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-nnbidc 13638 | If a formula is not refutable, then it is decidable if and only if it is provable. See also comment of bj-nnbist 13625. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (¬ ¬ 𝜑 → (DECID 𝜑 ↔ 𝜑)) | ||||||||||||||||||||||||||
Theorem | bj-nndcALT 13639 | Alternate proof of nndc 841. (Proof modification is discouraged.) (New usage is discouraged.) (Contributed by BJ, 9-Oct-2019.) | ||||||||||||||||||||||||
⊢ ¬ ¬ DECID 𝜑 | ||||||||||||||||||||||||||
Theorem | bj-dcdc 13640 | Decidability of a proposition is decidable if and only if that proposition is decidable. DECID is idempotent. (Contributed by BJ, 9-Oct-2019.) | ||||||||||||||||||||||||
⊢ (DECID DECID 𝜑 ↔ DECID 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-stdc 13641 | Decidability of a proposition is stable if and only if that proposition is decidable. In particular, the assumption that every formula is stable implies that every formula is decidable, hence classical logic. (Contributed by BJ, 9-Oct-2019.) | ||||||||||||||||||||||||
⊢ (STAB DECID 𝜑 ↔ DECID 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-dcst 13642 | Stability of a proposition is decidable if and only if that proposition is stable. (Contributed by BJ, 24-Nov-2023.) | ||||||||||||||||||||||||
⊢ (DECID STAB 𝜑 ↔ STAB 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-ex 13643* | Existential generalization. (Contributed by BJ, 8-Dec-2019.) Proof modification is discouraged because there are shorter proofs, but using less basic results (like exlimiv 1586 and 19.9ht 1629 or 19.23ht 1485). (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ (∃𝑥𝜑 → 𝜑) | ||||||||||||||||||||||||||
Theorem | bj-hbalt 13644 | Closed form of hbal 1465 (copied from set.mm). (Contributed by BJ, 2-May-2019.) | ||||||||||||||||||||||||
⊢ (∀𝑦(𝜑 → ∀𝑥𝜑) → (∀𝑦𝜑 → ∀𝑥∀𝑦𝜑)) | ||||||||||||||||||||||||||
Theorem | bj-nfalt 13645 | Closed form of nfal 1564 (copied from set.mm). (Contributed by BJ, 2-May-2019.) (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ (∀𝑥Ⅎ𝑦𝜑 → Ⅎ𝑦∀𝑥𝜑) | ||||||||||||||||||||||||||
Theorem | spimd 13646 | Deduction form of spim 1726. (Contributed by BJ, 17-Oct-2019.) | ||||||||||||||||||||||||
⊢ (𝜑 → Ⅎ𝑥𝜒) & ⊢ (𝜑 → ∀𝑥(𝑥 = 𝑦 → (𝜓 → 𝜒))) ⇒ ⊢ (𝜑 → (∀𝑥𝜓 → 𝜒)) | ||||||||||||||||||||||||||
Theorem | 2spim 13647* | Double substitution, as in spim 1726. (Contributed by BJ, 17-Oct-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜒 & ⊢ Ⅎ𝑧𝜒 & ⊢ ((𝑥 = 𝑦 ∧ 𝑧 = 𝑡) → (𝜓 → 𝜒)) ⇒ ⊢ (∀𝑧∀𝑥𝜓 → 𝜒) | ||||||||||||||||||||||||||
Theorem | ch2var 13648* | Implicit substitution of 𝑦 for 𝑥 and 𝑡 for 𝑧 into a theorem. (Contributed by BJ, 17-Oct-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ Ⅎ𝑧𝜓 & ⊢ ((𝑥 = 𝑦 ∧ 𝑧 = 𝑡) → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||||||||||||||||||||||||||
Theorem | ch2varv 13649* | Version of ch2var 13648 with nonfreeness hypotheses replaced with disjoint variable conditions. (Contributed by BJ, 17-Oct-2019.) | ||||||||||||||||||||||||
⊢ ((𝑥 = 𝑦 ∧ 𝑧 = 𝑡) → (𝜑 ↔ 𝜓)) & ⊢ 𝜑 ⇒ ⊢ 𝜓 | ||||||||||||||||||||||||||
Theorem | bj-exlimmp 13650 | Lemma for bj-vtoclgf 13657. (Contributed by BJ, 21-Nov-2019.) (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → 𝜑) ⇒ ⊢ (∀𝑥(𝜒 → (𝜑 → 𝜓)) → (∃𝑥𝜒 → 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-exlimmpi 13651 | Lemma for bj-vtoclgf 13657. (Contributed by BJ, 21-Nov-2019.) (Proof modification is discouraged.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ (𝜒 → 𝜑) & ⊢ (𝜒 → (𝜑 → 𝜓)) ⇒ ⊢ (∃𝑥𝜒 → 𝜓) | ||||||||||||||||||||||||||
Theorem | bj-sbimedh 13652 | A strengthening of sbiedh 1775 (same proof). (Contributed by BJ, 16-Dec-2019.) | ||||||||||||||||||||||||
⊢ (𝜑 → ∀𝑥𝜑) & ⊢ (𝜑 → (𝜒 → ∀𝑥𝜒)) & ⊢ (𝜑 → (𝑥 = 𝑦 → (𝜓 → 𝜒))) ⇒ ⊢ (𝜑 → ([𝑦 / 𝑥]𝜓 → 𝜒)) | ||||||||||||||||||||||||||
Theorem | bj-sbimeh 13653 | A strengthening of sbieh 1778 (same proof). (Contributed by BJ, 16-Dec-2019.) | ||||||||||||||||||||||||
⊢ (𝜓 → ∀𝑥𝜓) & ⊢ (𝑥 = 𝑦 → (𝜑 → 𝜓)) ⇒ ⊢ ([𝑦 / 𝑥]𝜑 → 𝜓) | ||||||||||||||||||||||||||
Theorem | bj-sbime 13654 | A strengthening of sbie 1779 (same proof). (Contributed by BJ, 16-Dec-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 → 𝜓)) ⇒ ⊢ ([𝑦 / 𝑥]𝜑 → 𝜓) | ||||||||||||||||||||||||||
Theorem | bj-el2oss1o 13655 | Shorter proof of el2oss1o 6411 using more axioms. (Contributed by BJ, 21-Jan-2024.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ (𝐴 ∈ 2o → 𝐴 ⊆ 1o) | ||||||||||||||||||||||||||
Various utility theorems using FOL and extensionality. | ||||||||||||||||||||||||||
Theorem | bj-vtoclgft 13656 | Weakening two hypotheses of vtoclgf 2784. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → 𝜑) ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → (𝜑 → 𝜓)) → (𝐴 ∈ 𝑉 → 𝜓)) | ||||||||||||||||||||||||||
Theorem | bj-vtoclgf 13657 | Weakening two hypotheses of vtoclgf 2784. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → 𝜑) & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → 𝜓) | ||||||||||||||||||||||||||
Theorem | elabgf0 13658 | Lemma for elabgf 2868. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ (𝑥 = 𝐴 → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ 𝜑)) | ||||||||||||||||||||||||||
Theorem | elabgft1 13659 | One implication of elabgf 2868, in closed form. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → (𝜑 → 𝜓)) → (𝐴 ∈ {𝑥 ∣ 𝜑} → 𝜓)) | ||||||||||||||||||||||||||
Theorem | elabgf1 13660 | One implication of elabgf 2868. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} → 𝜓) | ||||||||||||||||||||||||||
Theorem | elabgf2 13661 | One implication of elabgf 2868. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜓 → 𝜑)) ⇒ ⊢ (𝐴 ∈ 𝐵 → (𝜓 → 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||||||||||||||||||||||||||
Theorem | elabf1 13662* | One implication of elabf 2869. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} → 𝜓) | ||||||||||||||||||||||||||
Theorem | elabf2 13663* | One implication of elabf 2869. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜓 & ⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜓 → 𝜑)) ⇒ ⊢ (𝜓 → 𝐴 ∈ {𝑥 ∣ 𝜑}) | ||||||||||||||||||||||||||
Theorem | elab1 13664* | One implication of elab 2870. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} → 𝜓) | ||||||||||||||||||||||||||
Theorem | elab2a 13665* | One implication of elab 2870. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜓 → 𝜑)) ⇒ ⊢ (𝜓 → 𝐴 ∈ {𝑥 ∣ 𝜑}) | ||||||||||||||||||||||||||
Theorem | elabg2 13666* | One implication of elabg 2872. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ (𝑥 = 𝐴 → (𝜓 → 𝜑)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (𝜓 → 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||||||||||||||||||||||||||
Theorem | bj-rspgt 13667 | Restricted specialization, generalized. Weakens a hypothesis of rspccv 2827 and seems to have a shorter proof. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝐵 & ⊢ Ⅎ𝑥𝜓 ⇒ ⊢ (∀𝑥(𝑥 = 𝐴 → (𝜑 → 𝜓)) → (∀𝑥 ∈ 𝐵 𝜑 → (𝐴 ∈ 𝐵 → 𝜓))) | ||||||||||||||||||||||||||
Theorem | bj-rspg 13668 | Restricted specialization, generalized. Weakens a hypothesis of rspccv 2827 and seems to have a shorter proof. (Contributed by BJ, 21-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝐵 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (∀𝑥 ∈ 𝐵 𝜑 → (𝐴 ∈ 𝐵 → 𝜓)) | ||||||||||||||||||||||||||
Theorem | cbvrald 13669* | Rule used to change bound variables, using implicit substitution. (Contributed by BJ, 22-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑦𝜓) & ⊢ (𝜑 → Ⅎ𝑥𝜒) & ⊢ (𝜑 → (𝑥 = 𝑦 → (𝜓 ↔ 𝜒))) ⇒ ⊢ (𝜑 → (∀𝑥 ∈ 𝐴 𝜓 ↔ ∀𝑦 ∈ 𝐴 𝜒)) | ||||||||||||||||||||||||||
Theorem | bj-intabssel 13670 | Version of intss1 3839 using a class abstraction and explicit substitution. (Contributed by BJ, 29-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 → ∩ {𝑥 ∣ 𝜑} ⊆ 𝐴)) | ||||||||||||||||||||||||||
Theorem | bj-intabssel1 13671 | Version of intss1 3839 using a class abstraction and implicit substitution. Closed form of intmin3 3851. (Contributed by BJ, 29-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜓 → 𝜑)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (𝜓 → ∩ {𝑥 ∣ 𝜑} ⊆ 𝐴)) | ||||||||||||||||||||||||||
Theorem | bj-elssuniab 13672 | Version of elssuni 3817 using a class abstraction and explicit substitution. (Contributed by BJ, 29-Nov-2019.) | ||||||||||||||||||||||||
⊢ Ⅎ𝑥𝐴 ⇒ ⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 → 𝐴 ⊆ ∪ {𝑥 ∣ 𝜑})) | ||||||||||||||||||||||||||
Theorem | bj-sseq 13673 | If two converse inclusions are characterized each by a formula, then equality is characterized by the conjunction of these formulas. (Contributed by BJ, 30-Nov-2019.) | ||||||||||||||||||||||||
⊢ (𝜑 → (𝜓 ↔ 𝐴 ⊆ 𝐵)) & ⊢ (𝜑 → (𝜒 ↔ 𝐵 ⊆ 𝐴)) ⇒ ⊢ (𝜑 → ((𝜓 ∧ 𝜒) ↔ 𝐴 = 𝐵)) | ||||||||||||||||||||||||||
The question of decidability is essential in intuitionistic logic. In intuitionistic set theories, it is natural to define decidability of a set (or class) as decidability of membership in it. One can parameterize this notion with another set (or class) since it is often important to assess decidability of membership in one class among elements of another class. Namely, one will say that "𝐴 is decidable in 𝐵 " if ∀𝑥 ∈ 𝐵DECID 𝑥 ∈ 𝐴 (see df-dcin 13675). Note the similarity with the definition of a bounded class as a class for which membership in it is a bounded proposition (df-bdc 13723). | ||||||||||||||||||||||||||
Syntax | wdcin 13674 | Syntax for decidability of a class in another. | ||||||||||||||||||||||||
wff 𝐴 DECIDin 𝐵 | ||||||||||||||||||||||||||
Definition | df-dcin 13675* | Define decidability of a class in another. (Contributed by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝐴 DECIDin 𝐵 ↔ ∀𝑥 ∈ 𝐵 DECID 𝑥 ∈ 𝐴) | ||||||||||||||||||||||||||
Theorem | decidi 13676 | Property of being decidable in another class. (Contributed by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝐴 DECIDin 𝐵 → (𝑋 ∈ 𝐵 → (𝑋 ∈ 𝐴 ∨ ¬ 𝑋 ∈ 𝐴))) | ||||||||||||||||||||||||||
Theorem | decidr 13677* | Sufficient condition for being decidable in another class. (Contributed by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝜑 → (𝑥 ∈ 𝐵 → (𝑥 ∈ 𝐴 ∨ ¬ 𝑥 ∈ 𝐴))) ⇒ ⊢ (𝜑 → 𝐴 DECIDin 𝐵) | ||||||||||||||||||||||||||
Theorem | decidin 13678 | If A is a decidable subclass of B (meaning: it is a subclass of B and it is decidable in B), and B is decidable in C, then A is decidable in C. (Contributed by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐴 ⊆ 𝐵) & ⊢ (𝜑 → 𝐴 DECIDin 𝐵) & ⊢ (𝜑 → 𝐵 DECIDin 𝐶) ⇒ ⊢ (𝜑 → 𝐴 DECIDin 𝐶) | ||||||||||||||||||||||||||
Theorem | uzdcinzz 13679 | An upperset of integers is decidable in the integers. Reformulation of eluzdc 9548. (Contributed by Jim Kingdon, 18-Apr-2020.) (Revised by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝑀 ∈ ℤ → (ℤ≥‘𝑀) DECIDin ℤ) | ||||||||||||||||||||||||||
Theorem | sumdc2 13680* | Alternate proof of sumdc 11299, without disjoint variable condition on 𝑁, 𝑥 (longer because the statement is taylored to the proof sumdc 11299). (Contributed by BJ, 19-Feb-2022.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝑀 ∈ ℤ) & ⊢ (𝜑 → 𝐴 ⊆ (ℤ≥‘𝑀)) & ⊢ (𝜑 → ∀𝑥 ∈ (ℤ≥‘𝑀)DECID 𝑥 ∈ 𝐴) & ⊢ (𝜑 → 𝑁 ∈ ℤ) ⇒ ⊢ (𝜑 → DECID 𝑁 ∈ 𝐴) | ||||||||||||||||||||||||||
Theorem | djucllem 13681* | Lemma for djulcl 7016 and djurcl 7017. (Contributed by BJ, 4-Jul-2022.) | ||||||||||||||||||||||||
⊢ 𝑋 ∈ V & ⊢ 𝐹 = (𝑥 ∈ V ↦ 〈𝑋, 𝑥〉) ⇒ ⊢ (𝐴 ∈ 𝐵 → ((𝐹 ↾ 𝐵)‘𝐴) ∈ ({𝑋} × 𝐵)) | ||||||||||||||||||||||||||
Theorem | djulclALT 13682 | Shortening of djulcl 7016 using djucllem 13681. (Contributed by BJ, 4-Jul-2022.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ (𝐶 ∈ 𝐴 → ((inl ↾ 𝐴)‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||||||||||||||||||||||||||
Theorem | djurclALT 13683 | Shortening of djurcl 7017 using djucllem 13681. (Contributed by BJ, 4-Jul-2022.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ (𝐶 ∈ 𝐵 → ((inr ↾ 𝐵)‘𝐶) ∈ (𝐴 ⊔ 𝐵)) | ||||||||||||||||||||||||||
Theorem | 2ssom 13684 | The ordinal 2 is included in the set of natural number ordinals. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ 2o ⊆ ω | ||||||||||||||||||||||||||
Theorem | funmptd 13685 |
The maps-to notation defines a function (deduction form).
Note: one should similarly prove a deduction form of funopab4 5225, then prove funmptd 13685 from it, and then prove funmpt 5226 from that: this would reduce global proof length. (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐹 = (𝑥 ∈ 𝐴 ↦ 𝐵)) ⇒ ⊢ (𝜑 → Fun 𝐹) | ||||||||||||||||||||||||||
Theorem | fnmptd 13686* | The maps-to notation defines a function with domain (deduction form). (Contributed by BJ, 5-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐹 = (𝑥 ∈ 𝐴 ↦ 𝐵)) & ⊢ ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝐵 ∈ 𝑉) ⇒ ⊢ (𝜑 → 𝐹 Fn 𝐴) | ||||||||||||||||||||||||||
Theorem | if0ab 13687* |
Expression of a conditional class as a class abstraction when the False
alternative is the empty class: in that case, the conditional class is
the extension, in the True alternative, of the condition.
Remark: a consequence which could be formalized is the inclusion ⊢ if(𝜑, 𝐴, ∅) ⊆ 𝐴 and therefore, using elpwg 3567, ⊢ (𝐴 ∈ 𝑉 → if(𝜑, 𝐴, ∅) ∈ 𝒫 𝐴), from which fmelpw1o 13688 could be derived, yielding an alternative proof. (Contributed by BJ, 16-Aug-2024.) | ||||||||||||||||||||||||
⊢ if(𝜑, 𝐴, ∅) = {𝑥 ∈ 𝐴 ∣ 𝜑} | ||||||||||||||||||||||||||
Theorem | fmelpw1o 13688 |
With a formula 𝜑 one can associate an element of
𝒫 1o, which
can therefore be thought of as the set of "truth values" (but
recall that
there are no other genuine truth values than ⊤ and ⊥, by
nndc 841, which translate to 1o and ∅
respectively by iftrue 3525
and iffalse 3528, giving pwtrufal 13877).
As proved in if0ab 13687, the associated element of 𝒫 1o is the extension, in 𝒫 1o, of the formula 𝜑. (Contributed by BJ, 15-Aug-2024.) | ||||||||||||||||||||||||
⊢ if(𝜑, 1o, ∅) ∈ 𝒫 1o | ||||||||||||||||||||||||||
Theorem | bj-charfun 13689* | Properties of the characteristic function on the class 𝑋 of the class 𝐴. (Contributed by BJ, 15-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐹 = (𝑥 ∈ 𝑋 ↦ if(𝑥 ∈ 𝐴, 1o, ∅))) ⇒ ⊢ (𝜑 → ((𝐹:𝑋⟶𝒫 1o ∧ (𝐹 ↾ ((𝑋 ∩ 𝐴) ∪ (𝑋 ∖ 𝐴))):((𝑋 ∩ 𝐴) ∪ (𝑋 ∖ 𝐴))⟶2o) ∧ (∀𝑥 ∈ (𝑋 ∩ 𝐴)(𝐹‘𝑥) = 1o ∧ ∀𝑥 ∈ (𝑋 ∖ 𝐴)(𝐹‘𝑥) = ∅))) | ||||||||||||||||||||||||||
Theorem | bj-charfundc 13690* | Properties of the characteristic function on the class 𝑋 of the class 𝐴, provided membership in 𝐴 is decidable in 𝑋. (Contributed by BJ, 6-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐹 = (𝑥 ∈ 𝑋 ↦ if(𝑥 ∈ 𝐴, 1o, ∅))) & ⊢ (𝜑 → ∀𝑥 ∈ 𝑋 DECID 𝑥 ∈ 𝐴) ⇒ ⊢ (𝜑 → (𝐹:𝑋⟶2o ∧ (∀𝑥 ∈ (𝑋 ∩ 𝐴)(𝐹‘𝑥) = 1o ∧ ∀𝑥 ∈ (𝑋 ∖ 𝐴)(𝐹‘𝑥) = ∅))) | ||||||||||||||||||||||||||
Theorem | bj-charfundcALT 13691* | Alternate proof of bj-charfundc 13690. It was expected to be much shorter since it uses bj-charfun 13689 for the main part of the proof and the rest is basic computations, but these turn out to be lengthy, maybe because of the limited library of available lemmas. (Contributed by BJ, 15-Aug-2024.) (Proof modification is discouraged.) (New usage is discouraged.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝐹 = (𝑥 ∈ 𝑋 ↦ if(𝑥 ∈ 𝐴, 1o, ∅))) & ⊢ (𝜑 → ∀𝑥 ∈ 𝑋 DECID 𝑥 ∈ 𝐴) ⇒ ⊢ (𝜑 → (𝐹:𝑋⟶2o ∧ (∀𝑥 ∈ (𝑋 ∩ 𝐴)(𝐹‘𝑥) = 1o ∧ ∀𝑥 ∈ (𝑋 ∖ 𝐴)(𝐹‘𝑥) = ∅))) | ||||||||||||||||||||||||||
Theorem | bj-charfunr 13692* |
If a class 𝐴 has a "weak"
characteristic function on a class 𝑋,
then negated membership in 𝐴 is decidable (in other words,
membership in 𝐴 is testable) in 𝑋.
The hypothesis imposes that 𝑋 be a set. As usual, it could be formulated as ⊢ (𝜑 → (𝐹:𝑋⟶ω ∧ ...)) to deal with general classes, but that extra generality would not make the theorem much more useful. The theorem would still hold if the codomain of 𝑓 were any class with testable equality to the point where (𝑋 ∖ 𝐴) is sent. (Contributed by BJ, 6-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → ∃𝑓 ∈ (ω ↑𝑚 𝑋)(∀𝑥 ∈ (𝑋 ∩ 𝐴)(𝑓‘𝑥) ≠ ∅ ∧ ∀𝑥 ∈ (𝑋 ∖ 𝐴)(𝑓‘𝑥) = ∅)) ⇒ ⊢ (𝜑 → ∀𝑥 ∈ 𝑋 DECID ¬ 𝑥 ∈ 𝐴) | ||||||||||||||||||||||||||
Theorem | bj-charfunbi 13693* |
In an ambient set 𝑋, if membership in 𝐴 is
stable, then it is
decidable if and only if 𝐴 has a characteristic function.
This characterization can be applied to singletons when the set 𝑋 has stable equality, which is the case as soon as it has a tight apartness relation. (Contributed by BJ, 6-Aug-2024.) | ||||||||||||||||||||||||
⊢ (𝜑 → 𝑋 ∈ 𝑉) & ⊢ (𝜑 → ∀𝑥 ∈ 𝑋 STAB 𝑥 ∈ 𝐴) ⇒ ⊢ (𝜑 → (∀𝑥 ∈ 𝑋 DECID 𝑥 ∈ 𝐴 ↔ ∃𝑓 ∈ (2o ↑𝑚 𝑋)(∀𝑥 ∈ (𝑋 ∩ 𝐴)(𝑓‘𝑥) = 1o ∧ ∀𝑥 ∈ (𝑋 ∖ 𝐴)(𝑓‘𝑥) = ∅))) | ||||||||||||||||||||||||||
This section develops constructive Zermelo--Fraenkel set theory (CZF) on top of intuitionistic logic. It is a constructive theory in the sense that its logic is intuitionistic and it is predicative. "Predicative" means that new sets can be constructed only from already constructed sets. In particular, the axiom of separation ax-sep 4100 is not predicative (because we cannot allow all formulas to define a subset) and is replaced in CZF by bounded separation ax-bdsep 13766. Because this axiom is weaker than full separation, the axiom of replacement or collection ax-coll 4097 of ZF and IZF has to be strengthened in CZF to the axiom of strong collection ax-strcoll 13864 (which is a theorem of IZF), and the axiom of infinity needs a more precise version, the von Neumann axiom of infinity ax-infvn 13823. Similarly, the axiom of powerset ax-pow 4153 is not predicative (checking whether a set is included in another requires to universally quantifier over that "not yet constructed" set) and is replaced in CZF by the axiom of fullness or the axiom of subset collection ax-sscoll 13869. In an intuitionistic context, the axiom of regularity is stated in IZF as well as in CZF as the axiom of set induction ax-setind 4514. It is sometimes interesting to study the weakening of CZF where that axiom is replaced by bounded set induction ax-bdsetind 13850. For more details on CZF, a useful set of notes is Peter Aczel and Michael Rathjen, CST Book draft. (available at http://www1.maths.leeds.ac.uk/~rathjen/book.pdf 13850) and an interesting article is Michael Shulman, Comparing material and structural set theories, Annals of Pure and Applied Logic, Volume 170, Issue 4 (Apr. 2019), 465--504. https://doi.org/10.48550/arXiv.1808.05204 13850 I also thank Michael Rathjen and Michael Shulman for useful hints in the formulation of some results. | ||||||||||||||||||||||||||
The present definition of bounded formulas emerged from a discussion on GitHub between Jim Kingdon, Mario Carneiro and I, started 23-Sept-2019 (see https://github.com/metamath/set.mm/issues/1173 and links therein). In order to state certain axiom schemes of Constructive Zermelo–Fraenkel (CZF) set theory, like the axiom scheme of bounded (or restricted, or Δ0) separation, it is necessary to distinguish certain formulas, called bounded (or restricted, or Δ0) formulas. The necessity of considering bounded formulas also arises in several theories of bounded arithmetic, both classical or intuitionistic, for instance to state the axiom scheme of Δ0-induction. To formalize this in Metamath, there are several choices to make. A first choice is to either create a new type for bounded formulas, or to create a predicate on formulas that indicates whether they are bounded. In the first case, one creates a new type "wff0" with a new set of metavariables (ph0 ...) and an axiom "$a wff ph0 " ensuring that bounded formulas are formulas, so that one can reuse existing theorems, and then axioms take the form "$a wff0 ( ph0 -> ps0 )", etc. In the second case, one introduces a predicate "BOUNDED " with the intended meaning that "BOUNDED 𝜑 " is a formula meaning that 𝜑 is a bounded formula. We choose the second option, since the first would complicate the grammar, risking to make it ambiguous. (TODO: elaborate.) A second choice is to view "bounded" either as a syntactic or a semantic property. For instance, ∀𝑥⊤ is not syntactically bounded since it has an unbounded universal quantifier, but it is semantically bounded since it is equivalent to ⊤ which is bounded. We choose the second option, so that formulas using defined symbols can be proved bounded. A third choice is in the form of the axioms, either in closed form or in inference form. One cannot state all the axioms in closed form, especially ax-bd0 13695. Indeed, if we posited it in closed form, then we could prove for instance ⊢ (𝜑 → BOUNDED 𝜑) and ⊢ (¬ 𝜑 → BOUNDED 𝜑) which is problematic (with the law of excluded middle, this would entail that all formulas are bounded, but even without it, too many formulas could be proved bounded...). (TODO: elaborate.) Having ax-bd0 13695 in inference form ensures that a formula can be proved bounded only if it is equivalent *for all values of the free variables* to a syntactically bounded one. The other axioms (ax-bdim 13696 through ax-bdsb 13704) can be written either in closed or inference form. The fact that ax-bd0 13695 is an inference is enough to ensure that the closed forms cannot be "exploited" to prove that some unbounded formulas are bounded. (TODO: check.) However, we state all the axioms in inference form to make it clear that we do not exploit any over-permissiveness. Finally, note that our logic has no terms, only variables. Therefore, we cannot prove for instance that 𝑥 ∈ ω is a bounded formula. However, since ω can be defined as "the 𝑦 such that PHI" a proof using the fact that 𝑥 ∈ ω is bounded can be converted to a proof in iset.mm by replacing ω with 𝑦 everywhere and prepending the antecedent PHI, since 𝑥 ∈ 𝑦 is bounded by ax-bdel 13703. For a similar method, see bj-omtrans 13838. Note that one cannot add an axiom ⊢ BOUNDED 𝑥 ∈ 𝐴 since by bdph 13732 it would imply that every formula is bounded. | ||||||||||||||||||||||||||
Syntax | wbd 13694 | Syntax for the predicate BOUNDED. | ||||||||||||||||||||||||
wff BOUNDED 𝜑 | ||||||||||||||||||||||||||
Axiom | ax-bd0 13695 | If two formulas are equivalent, then boundedness of one implies boundedness of the other. (Contributed by BJ, 3-Oct-2019.) | ||||||||||||||||||||||||
⊢ (𝜑 ↔ 𝜓) ⇒ ⊢ (BOUNDED 𝜑 → BOUNDED 𝜓) | ||||||||||||||||||||||||||
Axiom | ax-bdim 13696 | An implication between two bounded formulas is bounded. (Contributed by BJ, 25-Sep-2019.) | ||||||||||||||||||||||||
⊢ BOUNDED 𝜑 & ⊢ BOUNDED 𝜓 ⇒ ⊢ BOUNDED (𝜑 → 𝜓) | ||||||||||||||||||||||||||
Axiom | ax-bdan 13697 | The conjunction of two bounded formulas is bounded. (Contributed by BJ, 25-Sep-2019.) | ||||||||||||||||||||||||
⊢ BOUNDED 𝜑 & ⊢ BOUNDED 𝜓 ⇒ ⊢ BOUNDED (𝜑 ∧ 𝜓) | ||||||||||||||||||||||||||
Axiom | ax-bdor 13698 | The disjunction of two bounded formulas is bounded. (Contributed by BJ, 25-Sep-2019.) | ||||||||||||||||||||||||
⊢ BOUNDED 𝜑 & ⊢ BOUNDED 𝜓 ⇒ ⊢ BOUNDED (𝜑 ∨ 𝜓) | ||||||||||||||||||||||||||
Axiom | ax-bdn 13699 | The negation of a bounded formula is bounded. (Contributed by BJ, 25-Sep-2019.) | ||||||||||||||||||||||||
⊢ BOUNDED 𝜑 ⇒ ⊢ BOUNDED ¬ 𝜑 | ||||||||||||||||||||||||||
Axiom | ax-bdal 13700* | A bounded universal quantification of a bounded formula is bounded. Note the disjoint variable condition on 𝑥, 𝑦. (Contributed by BJ, 25-Sep-2019.) | ||||||||||||||||||||||||
⊢ BOUNDED 𝜑 ⇒ ⊢ BOUNDED ∀𝑥 ∈ 𝑦 𝜑 |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |