Home | Intuitionistic Logic Explorer Theorem List (p. 29 of 131) | < 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 | elabg 2801* | Membership in a class abstraction, using implicit substitution. Compare Theorem 6.13 of [Quine] p. 44. (Contributed by NM, 14-Apr-1995.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ 𝜓)) | ||
Theorem | elab2g 2802* | Membership in a class abstraction, using implicit substitution. (Contributed by NM, 13-Sep-1995.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝐵 = {𝑥 ∣ 𝜑} ⇒ ⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ 𝐵 ↔ 𝜓)) | ||
Theorem | elab2 2803* | Membership in a class abstraction, using implicit substitution. (Contributed by NM, 13-Sep-1995.) |
⊢ 𝐴 ∈ V & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝐵 = {𝑥 ∣ 𝜑} ⇒ ⊢ (𝐴 ∈ 𝐵 ↔ 𝜓) | ||
Theorem | elab4g 2804* | Membership in a class abstraction, using implicit substitution. (Contributed by NM, 17-Oct-2012.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝐵 = {𝑥 ∣ 𝜑} ⇒ ⊢ (𝐴 ∈ 𝐵 ↔ (𝐴 ∈ V ∧ 𝜓)) | ||
Theorem | elab3gf 2805 | Membership in a class abstraction, with a weaker antecedent than elabgf 2798. (Contributed by NM, 6-Sep-2011.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝜓 → 𝐴 ∈ 𝐵) → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ 𝜓)) | ||
Theorem | elab3g 2806* | Membership in a class abstraction, with a weaker antecedent than elabg 2801. (Contributed by NM, 29-Aug-2006.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝜓 → 𝐴 ∈ 𝐵) → (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ 𝜓)) | ||
Theorem | elab3 2807* | Membership in a class abstraction using implicit substitution. (Contributed by NM, 10-Nov-2000.) |
⊢ (𝜓 → 𝐴 ∈ V) & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∣ 𝜑} ↔ 𝜓) | ||
Theorem | elrabi 2808* | Implication for the membership in a restricted class abstraction. (Contributed by Alexander van der Vekens, 31-Dec-2017.) |
⊢ (𝐴 ∈ {𝑥 ∈ 𝑉 ∣ 𝜑} → 𝐴 ∈ 𝑉) | ||
Theorem | elrabf 2809 | Membership in a restricted class abstraction, using implicit substitution. This version has bound-variable hypotheses in place of distinct variable restrictions. (Contributed by NM, 21-Sep-2003.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝐵 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜑} ↔ (𝐴 ∈ 𝐵 ∧ 𝜓)) | ||
Theorem | elrab3t 2810* | Membership in a restricted class abstraction, using implicit substitution. (Closed theorem version of elrab3 2812.) (Contributed by Thierry Arnoux, 31-Aug-2017.) |
⊢ ((∀𝑥(𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ∧ 𝐴 ∈ 𝐵) → (𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜑} ↔ 𝜓)) | ||
Theorem | elrab 2811* | Membership in a restricted class abstraction, using implicit substitution. (Contributed by NM, 21-May-1999.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜑} ↔ (𝐴 ∈ 𝐵 ∧ 𝜓)) | ||
Theorem | elrab3 2812* | Membership in a restricted class abstraction, using implicit substitution. (Contributed by NM, 5-Oct-2006.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝐴 ∈ 𝐵 → (𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜑} ↔ 𝜓)) | ||
Theorem | elrabd 2813* | Membership in a restricted class abstraction, using implicit substitution. Deduction version of elrab 2811. (Contributed by Glauco Siliprandi, 23-Oct-2021.) |
⊢ (𝑥 = 𝐴 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → 𝐴 ∈ 𝐵) & ⊢ (𝜑 → 𝜒) ⇒ ⊢ (𝜑 → 𝐴 ∈ {𝑥 ∈ 𝐵 ∣ 𝜓}) | ||
Theorem | elrab2 2814* | Membership in a class abstraction, using implicit substitution. (Contributed by NM, 2-Nov-2006.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ 𝐶 = {𝑥 ∈ 𝐵 ∣ 𝜑} ⇒ ⊢ (𝐴 ∈ 𝐶 ↔ (𝐴 ∈ 𝐵 ∧ 𝜓)) | ||
Theorem | ralab 2815* | Universal quantification over a class abstraction. (Contributed by Jeff Madsen, 10-Jun-2010.) |
⊢ (𝑦 = 𝑥 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∣ 𝜑}𝜒 ↔ ∀𝑥(𝜓 → 𝜒)) | ||
Theorem | ralrab 2816* | Universal quantification over a restricted class abstraction. (Contributed by Jeff Madsen, 10-Jun-2010.) |
⊢ (𝑦 = 𝑥 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∈ 𝐴 ∣ 𝜑}𝜒 ↔ ∀𝑥 ∈ 𝐴 (𝜓 → 𝜒)) | ||
Theorem | rexab 2817* | Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 23-Jan-2014.) (Revised by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑦 = 𝑥 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∣ 𝜑}𝜒 ↔ ∃𝑥(𝜓 ∧ 𝜒)) | ||
Theorem | rexrab 2818* | Existential quantification over a class abstraction. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑦 = 𝑥 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∈ 𝐴 ∣ 𝜑}𝜒 ↔ ∃𝑥 ∈ 𝐴 (𝜓 ∧ 𝜒)) | ||
Theorem | ralab2 2819* | Universal quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑥 = 𝑦 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∣ 𝜑}𝜓 ↔ ∀𝑦(𝜑 → 𝜒)) | ||
Theorem | ralrab2 2820* | Universal quantification over a restricted class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑥 = 𝑦 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (∀𝑥 ∈ {𝑦 ∈ 𝐴 ∣ 𝜑}𝜓 ↔ ∀𝑦 ∈ 𝐴 (𝜑 → 𝜒)) | ||
Theorem | rexab2 2821* | Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑥 = 𝑦 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∣ 𝜑}𝜓 ↔ ∃𝑦(𝜑 ∧ 𝜒)) | ||
Theorem | rexrab2 2822* | Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |
⊢ (𝑥 = 𝑦 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (∃𝑥 ∈ {𝑦 ∈ 𝐴 ∣ 𝜑}𝜓 ↔ ∃𝑦 ∈ 𝐴 (𝜑 ∧ 𝜒)) | ||
Theorem | abidnf 2823* | Identity used to create closed-form versions of bound-variable hypothesis builders for class expressions. (Contributed by NM, 10-Nov-2005.) (Proof shortened by Mario Carneiro, 12-Oct-2016.) |
⊢ (Ⅎ𝑥𝐴 → {𝑧 ∣ ∀𝑥 𝑧 ∈ 𝐴} = 𝐴) | ||
Theorem | dedhb 2824* | A deduction theorem for converting the inference ⊢ Ⅎ𝑥𝐴 => ⊢ 𝜑 into a closed theorem. Use nfa1 1504 and nfab 2261 to eliminate the hypothesis of the substitution instance 𝜓 of the inference. For converting the inference form into a deduction form, abidnf 2823 is useful. (Contributed by NM, 8-Dec-2006.) |
⊢ (𝐴 = {𝑧 ∣ ∀𝑥 𝑧 ∈ 𝐴} → (𝜑 ↔ 𝜓)) & ⊢ 𝜓 ⇒ ⊢ (Ⅎ𝑥𝐴 → 𝜑) | ||
Theorem | eqeu 2825* | A condition which implies existential uniqueness. (Contributed by Jeff Hankins, 8-Sep-2009.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝐴 ∈ 𝐵 ∧ 𝜓 ∧ ∀𝑥(𝜑 → 𝑥 = 𝐴)) → ∃!𝑥𝜑) | ||
Theorem | eueq 2826* | Equality has existential uniqueness. (Contributed by NM, 25-Nov-1994.) |
⊢ (𝐴 ∈ V ↔ ∃!𝑥 𝑥 = 𝐴) | ||
Theorem | eueq1 2827* | Equality has existential uniqueness. (Contributed by NM, 5-Apr-1995.) |
⊢ 𝐴 ∈ V ⇒ ⊢ ∃!𝑥 𝑥 = 𝐴 | ||
Theorem | eueq2dc 2828* | Equality has existential uniqueness (split into 2 cases). (Contributed by NM, 5-Apr-1995.) |
⊢ 𝐴 ∈ V & ⊢ 𝐵 ∈ V ⇒ ⊢ (DECID 𝜑 → ∃!𝑥((𝜑 ∧ 𝑥 = 𝐴) ∨ (¬ 𝜑 ∧ 𝑥 = 𝐵))) | ||
Theorem | eueq3dc 2829* | Equality has existential uniqueness (split into 3 cases). (Contributed by NM, 5-Apr-1995.) (Proof shortened by Mario Carneiro, 28-Sep-2015.) |
⊢ 𝐴 ∈ V & ⊢ 𝐵 ∈ V & ⊢ 𝐶 ∈ V & ⊢ ¬ (𝜑 ∧ 𝜓) ⇒ ⊢ (DECID 𝜑 → (DECID 𝜓 → ∃!𝑥((𝜑 ∧ 𝑥 = 𝐴) ∨ (¬ (𝜑 ∨ 𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓 ∧ 𝑥 = 𝐶)))) | ||
Theorem | moeq 2830* | There is at most one set equal to a class. (Contributed by NM, 8-Mar-1995.) |
⊢ ∃*𝑥 𝑥 = 𝐴 | ||
Theorem | moeq3dc 2831* | "At most one" property of equality (split into 3 cases). (Contributed by Jim Kingdon, 7-Jul-2018.) |
⊢ 𝐴 ∈ V & ⊢ 𝐵 ∈ V & ⊢ 𝐶 ∈ V & ⊢ ¬ (𝜑 ∧ 𝜓) ⇒ ⊢ (DECID 𝜑 → (DECID 𝜓 → ∃*𝑥((𝜑 ∧ 𝑥 = 𝐴) ∨ (¬ (𝜑 ∨ 𝜓) ∧ 𝑥 = 𝐵) ∨ (𝜓 ∧ 𝑥 = 𝐶)))) | ||
Theorem | mosubt 2832* | "At most one" remains true after substitution. (Contributed by Jim Kingdon, 18-Jan-2019.) |
⊢ (∀𝑦∃*𝑥𝜑 → ∃*𝑥∃𝑦(𝑦 = 𝐴 ∧ 𝜑)) | ||
Theorem | mosub 2833* | "At most one" remains true after substitution. (Contributed by NM, 9-Mar-1995.) |
⊢ ∃*𝑥𝜑 ⇒ ⊢ ∃*𝑥∃𝑦(𝑦 = 𝐴 ∧ 𝜑) | ||
Theorem | mo2icl 2834* | Theorem for inferring "at most one." (Contributed by NM, 17-Oct-1996.) |
⊢ (∀𝑥(𝜑 → 𝑥 = 𝐴) → ∃*𝑥𝜑) | ||
Theorem | mob2 2835* | Consequence of "at most one." (Contributed by NM, 2-Jan-2015.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝐴 ∈ 𝐵 ∧ ∃*𝑥𝜑 ∧ 𝜑) → (𝑥 = 𝐴 ↔ 𝜓)) | ||
Theorem | moi2 2836* | Consequence of "at most one." (Contributed by NM, 29-Jun-2008.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (((𝐴 ∈ 𝐵 ∧ ∃*𝑥𝜑) ∧ (𝜑 ∧ 𝜓)) → 𝑥 = 𝐴) | ||
Theorem | mob 2837* | Equality implied by "at most one." (Contributed by NM, 18-Feb-2006.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜒)) ⇒ ⊢ (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐷) ∧ ∃*𝑥𝜑 ∧ 𝜓) → (𝐴 = 𝐵 ↔ 𝜒)) | ||
Theorem | moi 2838* | Equality implied by "at most one." (Contributed by NM, 18-Feb-2006.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜒)) ⇒ ⊢ (((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐷) ∧ ∃*𝑥𝜑 ∧ (𝜓 ∧ 𝜒)) → 𝐴 = 𝐵) | ||
Theorem | morex 2839* | Derive membership from uniqueness. (Contributed by Jeff Madsen, 2-Sep-2009.) |
⊢ 𝐵 ∈ V & ⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((∃𝑥 ∈ 𝐴 𝜑 ∧ ∃*𝑥𝜑) → (𝜓 → 𝐵 ∈ 𝐴)) | ||
Theorem | euxfr2dc 2840* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 14-Nov-2004.) |
⊢ 𝐴 ∈ V & ⊢ ∃*𝑦 𝑥 = 𝐴 ⇒ ⊢ (DECID ∃𝑦∃𝑥(𝑥 = 𝐴 ∧ 𝜑) → (∃!𝑥∃𝑦(𝑥 = 𝐴 ∧ 𝜑) ↔ ∃!𝑦𝜑)) | ||
Theorem | euxfrdc 2841* | Transfer existential uniqueness from a variable 𝑥 to another variable 𝑦 contained in expression 𝐴. (Contributed by NM, 14-Nov-2004.) |
⊢ 𝐴 ∈ V & ⊢ ∃!𝑦 𝑥 = 𝐴 & ⊢ (𝑥 = 𝐴 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (DECID ∃𝑦∃𝑥(𝑥 = 𝐴 ∧ 𝜓) → (∃!𝑥𝜑 ↔ ∃!𝑦𝜓)) | ||
Theorem | euind 2842* | Existential uniqueness via an indirect equality. (Contributed by NM, 11-Oct-2010.) |
⊢ 𝐵 ∈ V & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦((𝜑 ∧ 𝜓) → 𝐴 = 𝐵) ∧ ∃𝑥𝜑) → ∃!𝑧∀𝑥(𝜑 → 𝑧 = 𝐴)) | ||
Theorem | reu2 2843* | A way to express restricted uniqueness. (Contributed by NM, 22-Nov-1994.) |
⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦))) | ||
Theorem | reu6 2844* | A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.) |
⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 ↔ 𝑥 = 𝑦)) | ||
Theorem | reu3 2845* | A way to express restricted uniqueness. (Contributed by NM, 24-Oct-2006.) |
⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑦 ∈ 𝐴 ∀𝑥 ∈ 𝐴 (𝜑 → 𝑥 = 𝑦))) | ||
Theorem | reu6i 2846* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |
⊢ ((𝐵 ∈ 𝐴 ∧ ∀𝑥 ∈ 𝐴 (𝜑 ↔ 𝑥 = 𝐵)) → ∃!𝑥 ∈ 𝐴 𝜑) | ||
Theorem | eqreu 2847* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |
⊢ (𝑥 = 𝐵 → (𝜑 ↔ 𝜓)) ⇒ ⊢ ((𝐵 ∈ 𝐴 ∧ 𝜓 ∧ ∀𝑥 ∈ 𝐴 (𝜑 → 𝑥 = 𝐵)) → ∃!𝑥 ∈ 𝐴 𝜑) | ||
Theorem | rmo4 2848* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by NM, 16-Jun-2017.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) | ||
Theorem | reu4 2849* | Restricted uniqueness using implicit substitution. (Contributed by NM, 23-Nov-1994.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦))) | ||
Theorem | reu7 2850* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ (∃𝑥 ∈ 𝐴 𝜑 ∧ ∃𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
Theorem | reu8 2851* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃!𝑥 ∈ 𝐴 𝜑 ↔ ∃𝑥 ∈ 𝐴 (𝜑 ∧ ∀𝑦 ∈ 𝐴 (𝜓 → 𝑥 = 𝑦))) | ||
Theorem | rmo3f 2852* | Restricted "at most one" using explicit substitution. (Contributed by NM, 4-Nov-2012.) (Revised by NM, 16-Jun-2017.) (Revised by Thierry Arnoux, 8-Oct-2017.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑦𝐴 & ⊢ Ⅎ𝑦𝜑 ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ [𝑦 / 𝑥]𝜑) → 𝑥 = 𝑦)) | ||
Theorem | rmo4f 2853* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by Thierry Arnoux, 11-Oct-2016.) (Revised by Thierry Arnoux, 8-Mar-2017.) (Revised by Thierry Arnoux, 8-Oct-2017.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑦𝐴 & ⊢ Ⅎ𝑥𝜓 & ⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜑 ↔ ∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 ((𝜑 ∧ 𝜓) → 𝑥 = 𝑦)) | ||
Theorem | reueq 2854* | Equality has existential uniqueness. (Contributed by Mario Carneiro, 1-Sep-2015.) |
⊢ (𝐵 ∈ 𝐴 ↔ ∃!𝑥 ∈ 𝐴 𝑥 = 𝐵) | ||
Theorem | rmoan 2855 | Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.) |
⊢ (∃*𝑥 ∈ 𝐴 𝜑 → ∃*𝑥 ∈ 𝐴 (𝜓 ∧ 𝜑)) | ||
Theorem | rmoim 2856 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
⊢ (∀𝑥 ∈ 𝐴 (𝜑 → 𝜓) → (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑)) | ||
Theorem | rmoimia 2857 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
⊢ (𝑥 ∈ 𝐴 → (𝜑 → 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐴 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
Theorem | rmoimi2 2858 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
⊢ ∀𝑥((𝑥 ∈ 𝐴 ∧ 𝜑) → (𝑥 ∈ 𝐵 ∧ 𝜓)) ⇒ ⊢ (∃*𝑥 ∈ 𝐵 𝜓 → ∃*𝑥 ∈ 𝐴 𝜑) | ||
Theorem | 2reuswapdc 2859* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.) |
⊢ (DECID ∃𝑥∃𝑦(𝑥 ∈ 𝐴 ∧ (𝑦 ∈ 𝐵 ∧ 𝜑)) → (∀𝑥 ∈ 𝐴 ∃*𝑦 ∈ 𝐵 𝜑 → (∃!𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∃!𝑦 ∈ 𝐵 ∃𝑥 ∈ 𝐴 𝜑))) | ||
Theorem | reuind 2860* | Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.) |
⊢ (𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ (𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ ((∀𝑥∀𝑦(((𝐴 ∈ 𝐶 ∧ 𝜑) ∧ (𝐵 ∈ 𝐶 ∧ 𝜓)) → 𝐴 = 𝐵) ∧ ∃𝑥(𝐴 ∈ 𝐶 ∧ 𝜑)) → ∃!𝑧 ∈ 𝐶 ∀𝑥((𝐴 ∈ 𝐶 ∧ 𝜑) → 𝑧 = 𝐴)) | ||
Theorem | 2rmorex 2861* | Double restricted quantification with "at most one," analogous to 2moex 2061. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |
⊢ (∃*𝑥 ∈ 𝐴 ∃𝑦 ∈ 𝐵 𝜑 → ∀𝑦 ∈ 𝐵 ∃*𝑥 ∈ 𝐴 𝜑) | ||
Theorem | nelrdva 2862* | Deduce negative membership from an implication. (Contributed by Thierry Arnoux, 27-Nov-2017.) |
⊢ ((𝜑 ∧ 𝑥 ∈ 𝐴) → 𝑥 ≠ 𝐵) ⇒ ⊢ (𝜑 → ¬ 𝐵 ∈ 𝐴) | ||
This is a very useless definition, which "abbreviates" (𝑥 = 𝑦 → 𝜑) as CondEq(𝑥 = 𝑦 → 𝜑). What this display hides, though, is that the first expression, even though it has a shorter constant string, is actually much more complicated in its parse tree: it is parsed as (wi (wceq (cv vx) (cv vy)) wph), while the CondEq version is parsed as (wcdeq vx vy wph). It also allows us to give a name to the specific ternary operation (𝑥 = 𝑦 → 𝜑). This is all used as part of a metatheorem: we want to say that ⊢ (𝑥 = 𝑦 → (𝜑(𝑥) ↔ 𝜑(𝑦))) and ⊢ (𝑥 = 𝑦 → 𝐴(𝑥) = 𝐴(𝑦)) are provable, for any expressions 𝜑(𝑥) or 𝐴(𝑥) in the language. The proof is by induction, so the base case is each of the primitives, which is why you will see a theorem for each of the set.mm primitive operations. The metatheorem comes with a disjoint variables condition: every variable in 𝜑(𝑥) is assumed disjoint from 𝑥 except 𝑥 itself. For such a proof by induction, we must consider each of the possible forms of 𝜑(𝑥). If it is a variable other than 𝑥, then we have CondEq(𝑥 = 𝑦 → 𝐴 = 𝐴) or CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜑)), which is provable by cdeqth 2867 and reflexivity. Since we are only working with class and wff expressions, it can't be 𝑥 itself in set.mm, but if it was we'd have to also prove CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) (where set equality is being used on the right). Otherwise, it is a primitive operation applied to smaller expressions. In these cases, for each setvar variable parameter to the operation, we must consider if it is equal to 𝑥 or not, which yields 2^n proof obligations. Luckily, all primitive operations in set.mm have either zero or one set variable, so we only need to prove one statement for the non-set constructors (like implication) and two for the constructors taking a set (the forall and the class builder). In each of the primitive proofs, we are allowed to assume that 𝑦 is disjoint from 𝜑(𝑥) and vice versa, because this is maintained through the induction. This is how we satisfy the disjoint variable conditions of cdeqab1 2872 and cdeqab 2870. | ||
Syntax | wcdeq 2863 | Extend wff notation to include conditional equality. This is a technical device used in the proof that Ⅎ is the not-free predicate, and that definitions are conservative as a result. |
wff CondEq(𝑥 = 𝑦 → 𝜑) | ||
Definition | df-cdeq 2864 | Define conditional equality. All the notation to the left of the ↔ is fake; the parentheses and arrows are all part of the notation, which could equally well be written CondEq𝑥𝑦𝜑. On the right side is the actual implication arrow. The reason for this definition is to "flatten" the structure on the right side (whose tree structure is something like (wi (wceq (cv vx) (cv vy)) wph) ) into just (wcdeq vx vy wph). (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ (CondEq(𝑥 = 𝑦 → 𝜑) ↔ (𝑥 = 𝑦 → 𝜑)) | ||
Theorem | cdeqi 2865 | Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ (𝑥 = 𝑦 → 𝜑) ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
Theorem | cdeqri 2866 | Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → 𝜑) ⇒ ⊢ (𝑥 = 𝑦 → 𝜑) | ||
Theorem | cdeqth 2867 | Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ 𝜑 ⇒ ⊢ CondEq(𝑥 = 𝑦 → 𝜑) | ||
Theorem | cdeqnot 2868 | Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (¬ 𝜑 ↔ ¬ 𝜓)) | ||
Theorem | cdeqal 2869* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑧𝜑 ↔ ∀𝑧𝜓)) | ||
Theorem | cdeqab 2870* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑧 ∣ 𝜑} = {𝑧 ∣ 𝜓}) | ||
Theorem | cdeqal1 2871* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (∀𝑥𝜑 ↔ ∀𝑦𝜓)) | ||
Theorem | cdeqab1 2872* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → {𝑥 ∣ 𝜑} = {𝑦 ∣ 𝜓}) | ||
Theorem | cdeqim 2873 | Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) & ⊢ CondEq(𝑥 = 𝑦 → (𝜒 ↔ 𝜃)) ⇒ ⊢ CondEq(𝑥 = 𝑦 → ((𝜑 → 𝜒) ↔ (𝜓 → 𝜃))) | ||
Theorem | cdeqcv 2874 | Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → 𝑥 = 𝑦) | ||
Theorem | cdeqeq 2875 | Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 = 𝐶 ↔ 𝐵 = 𝐷)) | ||
Theorem | cdeqel 2876 | Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) & ⊢ CondEq(𝑥 = 𝑦 → 𝐶 = 𝐷) ⇒ ⊢ CondEq(𝑥 = 𝑦 → (𝐴 ∈ 𝐶 ↔ 𝐵 ∈ 𝐷)) | ||
Theorem | nfcdeq 2877* | If we have a conditional equality proof, where 𝜑 is 𝜑(𝑥) and 𝜓 is 𝜑(𝑦), and 𝜑(𝑥) in fact does not have 𝑥 free in it according to Ⅎ, then 𝜑(𝑥) ↔ 𝜑(𝑦) unconditionally. This proves that Ⅎ𝑥𝜑 is actually a not-free predicate. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ Ⅎ𝑥𝜑 & ⊢ CondEq(𝑥 = 𝑦 → (𝜑 ↔ 𝜓)) ⇒ ⊢ (𝜑 ↔ 𝜓) | ||
Theorem | nfccdeq 2878* | Variation of nfcdeq 2877 for classes. (Contributed by Mario Carneiro, 11-Aug-2016.) |
⊢ Ⅎ𝑥𝐴 & ⊢ CondEq(𝑥 = 𝑦 → 𝐴 = 𝐵) ⇒ ⊢ 𝐴 = 𝐵 | ||
Theorem | ru 2879 |
Russell's Paradox. Proposition 4.14 of [TakeutiZaring] p. 14.
In the late 1800s, Frege's Axiom of (unrestricted) Comprehension, expressed in our notation as 𝐴 ∈ V, asserted that any collection of sets 𝐴 is a set i.e. belongs to the universe V of all sets. In particular, by substituting {𝑥 ∣ 𝑥 ∉ 𝑥} (the "Russell class") for 𝐴, it asserted {𝑥 ∣ 𝑥 ∉ 𝑥} ∈ V, meaning that the "collection of all sets which are not members of themselves" is a set. However, here we prove {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V. This contradiction was discovered by Russell in 1901 (published in 1903), invalidating the Comprehension Axiom and leading to the collapse of Frege's system. In 1908, Zermelo rectified this fatal flaw by replacing Comprehension with a weaker Subset (or Separation) Axiom asserting that 𝐴 is a set only when it is smaller than some other set 𝐵. The intuitionistic set theory IZF includes such a separation axiom, Axiom 6 of [Crosilla] p. "Axioms of CZF and IZF", which we include as ax-sep 4014. (Contributed by NM, 7-Aug-1994.) |
⊢ {𝑥 ∣ 𝑥 ∉ 𝑥} ∉ V | ||
Syntax | wsbc 2880 | Extend wff notation to include the proper substitution of a class for a set. Read this notation as "the proper substitution of class 𝐴 for setvar variable 𝑥 in wff 𝜑." |
wff [𝐴 / 𝑥]𝜑 | ||
Definition | df-sbc 2881 |
Define the proper substitution of a class for a set.
When 𝐴 is a proper class, our definition evaluates to false. This is somewhat arbitrary: we could have, instead, chosen the conclusion of sbc6 2905 for our definition, which always evaluates to true for proper classes. Our definition also does not produce the same results as discussed in the proof of Theorem 6.6 of [Quine] p. 42 (although Theorem 6.6 itself does hold, as shown by dfsbcq 2882 below). Unfortunately, Quine's definition requires a recursive syntactical breakdown of 𝜑, and it does not seem possible to express it with a single closed formula. If we did not want to commit to any specific proper class behavior, we could use this definition only to prove theorem dfsbcq 2882, which holds for both our definition and Quine's, and from which we can derive a weaker version of df-sbc 2881 in the form of sbc8g 2887. However, the behavior of Quine's definition at proper classes is similarly arbitrary, and for practical reasons (to avoid having to prove sethood of 𝐴 in every use of this definition) we allow direct reference to df-sbc 2881 and assert that [𝐴 / 𝑥]𝜑 is always false when 𝐴 is a proper class. The related definition df-csb defines proper substitution into a class variable (as opposed to a wff variable). (Contributed by NM, 14-Apr-1995.) (Revised by NM, 25-Dec-2016.) |
⊢ ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑}) | ||
Theorem | dfsbcq 2882 |
This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds
under both our definition and Quine's, provides us with a weak definition
of the proper substitution of a class for a set. Since our df-sbc 2881 does
not result in the same behavior as Quine's for proper classes, if we
wished to avoid conflict with Quine's definition we could start with this
theorem and dfsbcq2 2883 instead of df-sbc 2881. (dfsbcq2 2883 is needed because
unlike Quine we do not overload the df-sb 1719 syntax.) As a consequence of
these theorems, we can derive sbc8g 2887, which is a weaker version of
df-sbc 2881 that leaves substitution undefined when 𝐴 is a
proper class.
However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 2887, so we will allow direct use of df-sbc 2881. Proper substiution with a proper class is rarely needed, and when it is, we can simply use the expansion of Quine's definition. (Contributed by NM, 14-Apr-1995.) |
⊢ (𝐴 = 𝐵 → ([𝐴 / 𝑥]𝜑 ↔ [𝐵 / 𝑥]𝜑)) | ||
Theorem | dfsbcq2 2883 | This theorem, which is similar to Theorem 6.7 of [Quine] p. 42 and holds under both our definition and Quine's, relates logic substitution df-sb 1719 and substitution for class variables df-sbc 2881. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 2882. (Contributed by NM, 31-Dec-2016.) |
⊢ (𝑦 = 𝐴 → ([𝑦 / 𝑥]𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
Theorem | sbsbc 2884 | Show that df-sb 1719 and df-sbc 2881 are equivalent when the class term 𝐴 in df-sbc 2881 is a setvar variable. This theorem lets us reuse theorems based on df-sb 1719 for proofs involving df-sbc 2881. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.) |
⊢ ([𝑦 / 𝑥]𝜑 ↔ [𝑦 / 𝑥]𝜑) | ||
Theorem | sbceq1d 2885 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → ([𝐴 / 𝑥]𝜓 ↔ [𝐵 / 𝑥]𝜓)) | ||
Theorem | sbceq1dd 2886 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) ⇒ ⊢ (𝜑 → [𝐵 / 𝑥]𝜓) | ||
Theorem | sbc8g 2887 | This is the closest we can get to df-sbc 2881 if we start from dfsbcq 2882 (see its comments) and dfsbcq2 2883. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.) |
⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝜑 ↔ 𝐴 ∈ {𝑥 ∣ 𝜑})) | ||
Theorem | sbcex 2888 | By our definition of proper substitution, it can only be true if the substituted expression is a set. (Contributed by Mario Carneiro, 13-Oct-2016.) |
⊢ ([𝐴 / 𝑥]𝜑 → 𝐴 ∈ V) | ||
Theorem | sbceq1a 2889 | Equality theorem for class substitution. Class version of sbequ12 1727. (Contributed by NM, 26-Sep-2003.) |
⊢ (𝑥 = 𝐴 → (𝜑 ↔ [𝐴 / 𝑥]𝜑)) | ||
Theorem | sbceq2a 2890 | Equality theorem for class substitution. Class version of sbequ12r 1728. (Contributed by NM, 4-Jan-2017.) |
⊢ (𝐴 = 𝑥 → ([𝐴 / 𝑥]𝜑 ↔ 𝜑)) | ||
Theorem | spsbc 2891 | Specialization: if a formula is true for all sets, it is true for any class which is a set. Similar to Theorem 6.11 of [Quine] p. 44. See also stdpc4 1731 and rspsbc 2961. (Contributed by NM, 16-Jan-2004.) |
⊢ (𝐴 ∈ 𝑉 → (∀𝑥𝜑 → [𝐴 / 𝑥]𝜑)) | ||
Theorem | spsbcd 2892 | Specialization: if a formula is true for all sets, it is true for any class which is a set. Similar to Theorem 6.11 of [Quine] p. 44. See also stdpc4 1731 and rspsbc 2961. (Contributed by Mario Carneiro, 9-Feb-2017.) |
⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → ∀𝑥𝜓) ⇒ ⊢ (𝜑 → [𝐴 / 𝑥]𝜓) | ||
Theorem | sbcth 2893 | A substitution into a theorem remains true (when 𝐴 is a set). (Contributed by NM, 5-Nov-2005.) |
⊢ 𝜑 ⇒ ⊢ (𝐴 ∈ 𝑉 → [𝐴 / 𝑥]𝜑) | ||
Theorem | sbcthdv 2894* | Deduction version of sbcth 2893. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |
⊢ (𝜑 → 𝜓) ⇒ ⊢ ((𝜑 ∧ 𝐴 ∈ 𝑉) → [𝐴 / 𝑥]𝜓) | ||
Theorem | sbcid 2895 | An identity theorem for substitution. See sbid 1730. (Contributed by Mario Carneiro, 18-Feb-2017.) |
⊢ ([𝑥 / 𝑥]𝜑 ↔ 𝜑) | ||
Theorem | nfsbc1d 2896 | Deduction version of nfsbc1 2897. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.) |
⊢ (𝜑 → Ⅎ𝑥𝐴) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑥]𝜓) | ||
Theorem | nfsbc1 2897 | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
⊢ Ⅎ𝑥𝐴 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
Theorem | nfsbc1v 2898* | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |
⊢ Ⅎ𝑥[𝐴 / 𝑥]𝜑 | ||
Theorem | nfsbcd 2899 | Deduction version of nfsbc 2900. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.) |
⊢ Ⅎ𝑦𝜑 & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝜓) ⇒ ⊢ (𝜑 → Ⅎ𝑥[𝐴 / 𝑦]𝜓) | ||
Theorem | nfsbc 2900 | Bound-variable hypothesis builder for class substitution. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.) |
⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝜑 ⇒ ⊢ Ⅎ𝑥[𝐴 / 𝑦]𝜑 |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |