![]() |
Metamath
Proof Explorer Theorem List (p. 44 of 437) | < Previous Next > |
Bad symbols? Try the
GIF version. |
||
Mirrors > Metamath Home Page > MPE Home Page > Theorem List Contents > Recent Proofs This page: Page List |
Color key: | ![]() (1-28351) |
![]() (28352-29876) |
![]() (29877-43667) |
Type | Label | Description |
---|---|---|
Statement | ||
Theorem | ralnralall 4301* | A contradiction concerning restricted generalization for a nonempty set implies anything. (Contributed by Alexander van der Vekens, 4-Sep-2018.) |
⊢ (𝐴 ≠ ∅ → ((∀𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑥 ∈ 𝐴 ¬ 𝜑) → 𝜓)) | ||
Theorem | falseral0 4302* | A false statement can only be true for elements of an empty set. (Contributed by AV, 30-Oct-2020.) |
⊢ ((∀𝑥 ¬ 𝜑 ∧ ∀𝑥 ∈ 𝐴 𝜑) → 𝐴 = ∅) | ||
Theorem | raaan 4303* | Rearrange restricted quantifiers. (Contributed by NM, 26-Oct-2010.) |
⊢ Ⅎ𝑦𝜑 & ⊢ Ⅎ𝑥𝜓 ⇒ ⊢ (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝜑 ∧ 𝜓) ↔ (∀𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑦 ∈ 𝐴 𝜓)) | ||
Theorem | raaanv 4304* | Rearrange restricted quantifiers. (Contributed by NM, 11-Mar-1997.) |
⊢ (∀𝑥 ∈ 𝐴 ∀𝑦 ∈ 𝐴 (𝜑 ∧ 𝜓) ↔ (∀𝑥 ∈ 𝐴 𝜑 ∧ ∀𝑦 ∈ 𝐴 𝜓)) | ||
Theorem | sbss 4305* | Set substitution into the first argument of a subset relation. (Contributed by Rodolfo Medina, 7-Jul-2010.) (Proof shortened by Mario Carneiro, 14-Nov-2016.) |
⊢ ([𝑦 / 𝑥]𝑥 ⊆ 𝐴 ↔ 𝑦 ⊆ 𝐴) | ||
Theorem | sbcssg 4306 | Distribute proper substitution through a subclass relation. (Contributed by Alan Sare, 22-Jul-2012.) (Proof shortened by Alexander van der Vekens, 23-Jul-2017.) |
⊢ (𝐴 ∈ 𝑉 → ([𝐴 / 𝑥]𝐵 ⊆ 𝐶 ↔ ⦋𝐴 / 𝑥⦌𝐵 ⊆ ⦋𝐴 / 𝑥⦌𝐶)) | ||
This subsection introduces the conditional operator for classes, denoted by if(𝜑, 𝐴, 𝐵) (see df-if 4308). It is the analogue for classes of the conditional operator for propositions, denoted by if-(𝜑, 𝜓, 𝜒) (see df-ifp 1047). | ||
Syntax | cif 4307 | Extend class notation to include the conditional operator for classes. |
class if(𝜑, 𝐴, 𝐵) | ||
Definition | df-if 4308* |
Definition of the conditional operator for classes. The expression
if(𝜑,
𝐴, 𝐵) is read "if 𝜑 then
𝐴
else 𝐵". See
iftrue 4313 and iffalse 4316 for its values. In the mathematical
literature,
this operator is rarely defined formally but is implicit in informal
definitions such as "let f(x)=0 if x=0 and 1/x otherwise".
An important use for us is in conjunction with the weak deduction theorem, which is described in the next section, beginning at dedth 4363. (Contributed by NM, 15-May-1999.) |
⊢ if(𝜑, 𝐴, 𝐵) = {𝑥 ∣ ((𝑥 ∈ 𝐴 ∧ 𝜑) ∨ (𝑥 ∈ 𝐵 ∧ ¬ 𝜑))} | ||
Theorem | dfif2 4309* | An alternate definition of the conditional operator df-if 4308 with one fewer connectives (but probably less intuitive to understand). (Contributed by NM, 30-Jan-2006.) |
⊢ if(𝜑, 𝐴, 𝐵) = {𝑥 ∣ ((𝑥 ∈ 𝐵 → 𝜑) → (𝑥 ∈ 𝐴 ∧ 𝜑))} | ||
Theorem | dfif6 4310* | An alternate definition of the conditional operator df-if 4308 as a simple class abstraction. (Contributed by Mario Carneiro, 8-Sep-2013.) |
⊢ if(𝜑, 𝐴, 𝐵) = ({𝑥 ∈ 𝐴 ∣ 𝜑} ∪ {𝑥 ∈ 𝐵 ∣ ¬ 𝜑}) | ||
Theorem | ifeq1 4311 | Equality theorem for conditional operator. (Contributed by NM, 1-Sep-2004.) (Revised by Mario Carneiro, 8-Sep-2013.) |
⊢ (𝐴 = 𝐵 → if(𝜑, 𝐴, 𝐶) = if(𝜑, 𝐵, 𝐶)) | ||
Theorem | ifeq2 4312 | Equality theorem for conditional operator. (Contributed by NM, 1-Sep-2004.) (Revised by Mario Carneiro, 8-Sep-2013.) |
⊢ (𝐴 = 𝐵 → if(𝜑, 𝐶, 𝐴) = if(𝜑, 𝐶, 𝐵)) | ||
Theorem | iftrue 4313 | Value of the conditional operator when its first argument is true. (Contributed by NM, 15-May-1999.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) |
⊢ (𝜑 → if(𝜑, 𝐴, 𝐵) = 𝐴) | ||
Theorem | iftruei 4314 | Inference associated with iftrue 4313. (Contributed by BJ, 7-Oct-2018.) |
⊢ 𝜑 ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = 𝐴 | ||
Theorem | iftrued 4315 | Value of the conditional operator when its first argument is true. (Contributed by Glauco Siliprandi, 11-Dec-2019.) |
⊢ (𝜑 → 𝜒) ⇒ ⊢ (𝜑 → if(𝜒, 𝐴, 𝐵) = 𝐴) | ||
Theorem | iffalse 4316 | Value of the conditional operator when its first argument is false. (Contributed by NM, 14-Aug-1999.) |
⊢ (¬ 𝜑 → if(𝜑, 𝐴, 𝐵) = 𝐵) | ||
Theorem | iffalsei 4317 | Inference associated with iffalse 4316. (Contributed by BJ, 7-Oct-2018.) |
⊢ ¬ 𝜑 ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = 𝐵 | ||
Theorem | iffalsed 4318 | Value of the conditional operator when its first argument is false. (Contributed by Glauco Siliprandi, 11-Dec-2019.) |
⊢ (𝜑 → ¬ 𝜒) ⇒ ⊢ (𝜑 → if(𝜒, 𝐴, 𝐵) = 𝐵) | ||
Theorem | ifnefalse 4319 | When values are unequal, but an "if" condition checks if they are equal, then the "false" branch results. This is a simple utility to provide a slight shortening and simplification of proofs versus applying iffalse 4316 directly in this case. It happens, e.g., in oevn0 7881. (Contributed by David A. Wheeler, 15-May-2015.) |
⊢ (𝐴 ≠ 𝐵 → if(𝐴 = 𝐵, 𝐶, 𝐷) = 𝐷) | ||
Theorem | ifsb 4320 | Distribute a function over an if-clause. (Contributed by Mario Carneiro, 14-Aug-2013.) |
⊢ (if(𝜑, 𝐴, 𝐵) = 𝐴 → 𝐶 = 𝐷) & ⊢ (if(𝜑, 𝐴, 𝐵) = 𝐵 → 𝐶 = 𝐸) ⇒ ⊢ 𝐶 = if(𝜑, 𝐷, 𝐸) | ||
Theorem | dfif3 4321* | Alternate definition of the conditional operator df-if 4308. Note that 𝜑 is independent of 𝑥 i.e. a constant true or false. (Contributed by NM, 25-Aug-2013.) (Revised by Mario Carneiro, 8-Sep-2013.) |
⊢ 𝐶 = {𝑥 ∣ 𝜑} ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = ((𝐴 ∩ 𝐶) ∪ (𝐵 ∩ (V ∖ 𝐶))) | ||
Theorem | dfif4 4322* | Alternate definition of the conditional operator df-if 4308. Note that 𝜑 is independent of 𝑥 i.e. a constant true or false. (Contributed by NM, 25-Aug-2013.) |
⊢ 𝐶 = {𝑥 ∣ 𝜑} ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = ((𝐴 ∪ 𝐵) ∩ ((𝐴 ∪ (V ∖ 𝐶)) ∩ (𝐵 ∪ 𝐶))) | ||
Theorem | dfif5 4323* | Alternate definition of the conditional operator df-if 4308. Note that 𝜑 is independent of 𝑥 i.e. a constant true or false (see also ab0orv 4184). (Contributed by Gérard Lang, 18-Aug-2013.) |
⊢ 𝐶 = {𝑥 ∣ 𝜑} ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = ((𝐴 ∩ 𝐵) ∪ (((𝐴 ∖ 𝐵) ∩ 𝐶) ∪ ((𝐵 ∖ 𝐴) ∩ (V ∖ 𝐶)))) | ||
Theorem | ifeq12 4324 | Equality theorem for conditional operators. (Contributed by NM, 1-Sep-2004.) |
⊢ ((𝐴 = 𝐵 ∧ 𝐶 = 𝐷) → if(𝜑, 𝐴, 𝐶) = if(𝜑, 𝐵, 𝐷)) | ||
Theorem | ifeq1d 4325 | Equality deduction for conditional operator. (Contributed by NM, 16-Feb-2005.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐶) = if(𝜓, 𝐵, 𝐶)) | ||
Theorem | ifeq2d 4326 | Equality deduction for conditional operator. (Contributed by NM, 16-Feb-2005.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐶, 𝐴) = if(𝜓, 𝐶, 𝐵)) | ||
Theorem | ifeq12d 4327 | Equality deduction for conditional operator. (Contributed by NM, 24-Mar-2015.) |
⊢ (𝜑 → 𝐴 = 𝐵) & ⊢ (𝜑 → 𝐶 = 𝐷) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐶) = if(𝜓, 𝐵, 𝐷)) | ||
Theorem | ifbi 4328 | Equivalence theorem for conditional operators. (Contributed by Raph Levien, 15-Jan-2004.) |
⊢ ((𝜑 ↔ 𝜓) → if(𝜑, 𝐴, 𝐵) = if(𝜓, 𝐴, 𝐵)) | ||
Theorem | ifbid 4329 | Equivalence deduction for conditional operators. (Contributed by NM, 18-Apr-2005.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) = if(𝜒, 𝐴, 𝐵)) | ||
Theorem | ifbieq1d 4330 | Equivalence/equality deduction for conditional operators. (Contributed by JJ, 25-Sep-2018.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐶) = if(𝜒, 𝐵, 𝐶)) | ||
Theorem | ifbieq2i 4331 | Equivalence/equality inference for conditional operators. (Contributed by Paul Chapman, 22-Jun-2011.) |
⊢ (𝜑 ↔ 𝜓) & ⊢ 𝐴 = 𝐵 ⇒ ⊢ if(𝜑, 𝐶, 𝐴) = if(𝜓, 𝐶, 𝐵) | ||
Theorem | ifbieq2d 4332 | Equivalence/equality deduction for conditional operators. (Contributed by Paul Chapman, 22-Jun-2011.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐶, 𝐴) = if(𝜒, 𝐶, 𝐵)) | ||
Theorem | ifbieq12i 4333 | Equivalence deduction for conditional operators. (Contributed by NM, 18-Mar-2013.) |
⊢ (𝜑 ↔ 𝜓) & ⊢ 𝐴 = 𝐶 & ⊢ 𝐵 = 𝐷 ⇒ ⊢ if(𝜑, 𝐴, 𝐵) = if(𝜓, 𝐶, 𝐷) | ||
Theorem | ifbieq12d 4334 | Equivalence deduction for conditional operators. (Contributed by Jeff Madsen, 2-Sep-2009.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ (𝜑 → 𝐴 = 𝐶) & ⊢ (𝜑 → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) = if(𝜒, 𝐶, 𝐷)) | ||
Theorem | nfifd 4335 | Deduction form of nfif 4336. (Contributed by NM, 15-Feb-2013.) (Revised by Mario Carneiro, 13-Oct-2016.) |
⊢ (𝜑 → Ⅎ𝑥𝜓) & ⊢ (𝜑 → Ⅎ𝑥𝐴) & ⊢ (𝜑 → Ⅎ𝑥𝐵) ⇒ ⊢ (𝜑 → Ⅎ𝑥if(𝜓, 𝐴, 𝐵)) | ||
Theorem | nfif 4336 | Bound-variable hypothesis builder for a conditional operator. (Contributed by NM, 16-Feb-2005.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) |
⊢ Ⅎ𝑥𝜑 & ⊢ Ⅎ𝑥𝐴 & ⊢ Ⅎ𝑥𝐵 ⇒ ⊢ Ⅎ𝑥if(𝜑, 𝐴, 𝐵) | ||
Theorem | ifeq1da 4337 | Conditional equality. (Contributed by Jeff Madsen, 2-Sep-2009.) |
⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐶) = if(𝜓, 𝐵, 𝐶)) | ||
Theorem | ifeq2da 4338 | Conditional equality. (Contributed by Jeff Madsen, 2-Sep-2009.) |
⊢ ((𝜑 ∧ ¬ 𝜓) → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → if(𝜓, 𝐶, 𝐴) = if(𝜓, 𝐶, 𝐵)) | ||
Theorem | ifeq12da 4339 | Equivalence deduction for conditional operators. (Contributed by Wolf Lammen, 24-Jun-2021.) |
⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) & ⊢ ((𝜑 ∧ ¬ 𝜓) → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) = if(𝜓, 𝐶, 𝐷)) | ||
Theorem | ifbieq12d2 4340 | Equivalence deduction for conditional operators. (Contributed by Thierry Arnoux, 14-Feb-2017.) (Proof shortened by Wolf Lammen, 24-Jun-2021.) |
⊢ (𝜑 → (𝜓 ↔ 𝜒)) & ⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) & ⊢ ((𝜑 ∧ ¬ 𝜓) → 𝐵 = 𝐷) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) = if(𝜒, 𝐶, 𝐷)) | ||
Theorem | ifclda 4341 | Conditional closure. (Contributed by Jeff Madsen, 2-Sep-2009.) |
⊢ ((𝜑 ∧ 𝜓) → 𝐴 ∈ 𝐶) & ⊢ ((𝜑 ∧ ¬ 𝜓) → 𝐵 ∈ 𝐶) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) ∈ 𝐶) | ||
Theorem | ifeqda 4342 | Separation of the values of the conditional operator. (Contributed by Alexander van der Vekens, 13-Apr-2018.) |
⊢ ((𝜑 ∧ 𝜓) → 𝐴 = 𝐶) & ⊢ ((𝜑 ∧ ¬ 𝜓) → 𝐵 = 𝐶) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) = 𝐶) | ||
Theorem | elimif 4343 | Elimination of a conditional operator contained in a wff 𝜓. (Contributed by NM, 15-Feb-2005.) (Proof shortened by NM, 25-Apr-2019.) |
⊢ (if(𝜑, 𝐴, 𝐵) = 𝐴 → (𝜓 ↔ 𝜒)) & ⊢ (if(𝜑, 𝐴, 𝐵) = 𝐵 → (𝜓 ↔ 𝜃)) ⇒ ⊢ (𝜓 ↔ ((𝜑 ∧ 𝜒) ∨ (¬ 𝜑 ∧ 𝜃))) | ||
Theorem | ifbothda 4344 | A wff 𝜃 containing a conditional operator is true when both of its cases are true. (Contributed by NM, 15-Feb-2015.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜓 ↔ 𝜃)) & ⊢ (𝐵 = if(𝜑, 𝐴, 𝐵) → (𝜒 ↔ 𝜃)) & ⊢ ((𝜂 ∧ 𝜑) → 𝜓) & ⊢ ((𝜂 ∧ ¬ 𝜑) → 𝜒) ⇒ ⊢ (𝜂 → 𝜃) | ||
Theorem | ifboth 4345 | A wff 𝜃 containing a conditional operator is true when both of its cases are true. (Contributed by NM, 3-Sep-2006.) (Revised by Mario Carneiro, 15-Feb-2015.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜓 ↔ 𝜃)) & ⊢ (𝐵 = if(𝜑, 𝐴, 𝐵) → (𝜒 ↔ 𝜃)) ⇒ ⊢ ((𝜓 ∧ 𝜒) → 𝜃) | ||
Theorem | ifid 4346 | Identical true and false arguments in the conditional operator. (Contributed by NM, 18-Apr-2005.) |
⊢ if(𝜑, 𝐴, 𝐴) = 𝐴 | ||
Theorem | eqif 4347 | Expansion of an equality with a conditional operator. (Contributed by NM, 14-Feb-2005.) |
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) ↔ ((𝜑 ∧ 𝐴 = 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 = 𝐶))) | ||
Theorem | ifval 4348 | Another expression of the value of the if predicate, analogous to eqif 4347. See also the more specialized iftrue 4313 and iffalse 4316. (Contributed by BJ, 6-Apr-2019.) |
⊢ (𝐴 = if(𝜑, 𝐵, 𝐶) ↔ ((𝜑 → 𝐴 = 𝐵) ∧ (¬ 𝜑 → 𝐴 = 𝐶))) | ||
Theorem | elif 4349 | Membership in a conditional operator. (Contributed by NM, 14-Feb-2005.) |
⊢ (𝐴 ∈ if(𝜑, 𝐵, 𝐶) ↔ ((𝜑 ∧ 𝐴 ∈ 𝐵) ∨ (¬ 𝜑 ∧ 𝐴 ∈ 𝐶))) | ||
Theorem | ifel 4350 | Membership of a conditional operator. (Contributed by NM, 10-Sep-2005.) |
⊢ (if(𝜑, 𝐴, 𝐵) ∈ 𝐶 ↔ ((𝜑 ∧ 𝐴 ∈ 𝐶) ∨ (¬ 𝜑 ∧ 𝐵 ∈ 𝐶))) | ||
Theorem | ifcl 4351 | Membership (closure) of a conditional operator. (Contributed by NM, 4-Apr-2005.) |
⊢ ((𝐴 ∈ 𝐶 ∧ 𝐵 ∈ 𝐶) → if(𝜑, 𝐴, 𝐵) ∈ 𝐶) | ||
Theorem | ifcld 4352 | Membership (closure) of a conditional operator, deduction form. (Contributed by SO, 16-Jul-2018.) |
⊢ (𝜑 → 𝐴 ∈ 𝐶) & ⊢ (𝜑 → 𝐵 ∈ 𝐶) ⇒ ⊢ (𝜑 → if(𝜓, 𝐴, 𝐵) ∈ 𝐶) | ||
Theorem | ifcli 4353 | Inference associated with ifcl 4351. Membership (closure) of a conditional operator. Also usable to keep a membership hypothesis for the weak deduction theorem dedth 4363 when the special case 𝐵 ∈ 𝐶 is provable. (Contributed by NM, 14-Aug-1999.) (Proof shortened by BJ, 1-Sep-2022.) |
⊢ 𝐴 ∈ 𝐶 & ⊢ 𝐵 ∈ 𝐶 ⇒ ⊢ if(𝜑, 𝐴, 𝐵) ∈ 𝐶 | ||
Theorem | ifexg 4354 | Conditional operator existence. (Contributed by NM, 21-Mar-2011.) (Proof shortened by BJ, 1-Sep-2022.) |
⊢ ((𝐴 ∈ 𝑉 ∧ 𝐵 ∈ 𝑊) → if(𝜑, 𝐴, 𝐵) ∈ V) | ||
Theorem | ifex 4355 | Conditional operator existence. (Contributed by NM, 2-Sep-2004.) |
⊢ 𝐴 ∈ V & ⊢ 𝐵 ∈ V ⇒ ⊢ if(𝜑, 𝐴, 𝐵) ∈ V | ||
Theorem | ifeqor 4356 | The possible values of a conditional operator. (Contributed by NM, 17-Jun-2007.) (Proof shortened by Andrew Salmon, 26-Jun-2011.) |
⊢ (if(𝜑, 𝐴, 𝐵) = 𝐴 ∨ if(𝜑, 𝐴, 𝐵) = 𝐵) | ||
Theorem | ifnot 4357 | Negating the first argument swaps the last two arguments of a conditional operator. (Contributed by NM, 21-Jun-2007.) |
⊢ if(¬ 𝜑, 𝐴, 𝐵) = if(𝜑, 𝐵, 𝐴) | ||
Theorem | ifan 4358 | Rewrite a conjunction in a conditional as two nested conditionals. (Contributed by Mario Carneiro, 28-Jul-2014.) |
⊢ if((𝜑 ∧ 𝜓), 𝐴, 𝐵) = if(𝜑, if(𝜓, 𝐴, 𝐵), 𝐵) | ||
Theorem | ifor 4359 | Rewrite a disjunction in a conditional as two nested conditionals. (Contributed by Mario Carneiro, 28-Jul-2014.) |
⊢ if((𝜑 ∨ 𝜓), 𝐴, 𝐵) = if(𝜑, 𝐴, if(𝜓, 𝐴, 𝐵)) | ||
Theorem | 2if2 4360 | Resolve two nested conditionals. (Contributed by Alexander van der Vekens, 27-Mar-2018.) |
⊢ ((𝜑 ∧ 𝜓) → 𝐷 = 𝐴) & ⊢ ((𝜑 ∧ ¬ 𝜓 ∧ 𝜃) → 𝐷 = 𝐵) & ⊢ ((𝜑 ∧ ¬ 𝜓 ∧ ¬ 𝜃) → 𝐷 = 𝐶) ⇒ ⊢ (𝜑 → 𝐷 = if(𝜓, 𝐴, if(𝜃, 𝐵, 𝐶))) | ||
Theorem | ifcomnan 4361 | Commute the conditions in two nested conditionals if both conditions are not simultaneously true. (Contributed by SO, 15-Jul-2018.) |
⊢ (¬ (𝜑 ∧ 𝜓) → if(𝜑, 𝐴, if(𝜓, 𝐵, 𝐶)) = if(𝜓, 𝐵, if(𝜑, 𝐴, 𝐶))) | ||
Theorem | csbif 4362 | Distribute proper substitution through the conditional operator. (Contributed by NM, 24-Feb-2013.) (Revised by NM, 19-Aug-2018.) |
⊢ ⦋𝐴 / 𝑥⦌if(𝜑, 𝐵, 𝐶) = if([𝐴 / 𝑥]𝜑, ⦋𝐴 / 𝑥⦌𝐵, ⦋𝐴 / 𝑥⦌𝐶) | ||
This subsection contains a few results related to the weak deduction theorem in set theory. For the weak deduction theorem in propositional calculus, see the section beginning with elimh 1064. For more information on the weak deduction theorem, see the Weak Deduction Theorem page mmdeduction.html. In a Hilbert system of logic (which consists of a set of axioms, modus ponens, and the generalization rule), converting a deduction to a proof using the Deduction Theorem (taught in introductory logic books) involves an exponential increase of the number of steps as hypotheses are successively eliminated. Here is a trick that is not as general as the Deduction Theorem but requires only a linear increase in the number of steps. The general problem: We want to convert a deduction P |- Q into a proof of the theorem |- P -> Q i.e., we want to eliminate the hypothesis P. Normally this is done using the Deduction (meta)Theorem, which looks at the microscopic steps of the deduction and usually doubles or triples the number of these microscopic steps for each hypothesis that is eliminated. We will look at a special case of this problem, without appealing to the Deduction Theorem. We assume ZF with class notation. A and B are arbitrary (possibly proper) classes. P, Q, R, S and T are wffs. We define the conditional operator, if(P, A, B), as follows: if(P, A, B) =def= { x | (x \in A & P) v (x \in B & -. P) } (where x does not occur in A, B, or P). Lemma 1. A = if(P, A, B) -> (P <-> R), B = if(P, A, B) -> (S <-> R), S |- R Proof: Logic and Axiom of Extensionality. Lemma 2. A = if(P, A, B) -> (Q <-> T), T |- P -> Q Proof: Logic and Axiom of Extensionality. Here is a simple example that illustrates how it works. Suppose we have a deduction Ord A |- Tr A which means, "Assume A is an ordinal class. Then A is a transitive class." Note that A is a class variable that may be substituted with any class expression, so this is really a deduction scheme. We want to convert this to a proof of the theorem (scheme) |- Ord A -> Tr A. The catch is that we must be able to prove "Ord A" for at least one object A (and this is what makes it weaker than the ordinary Deduction Theorem). However, it is easy to prove |- Ord 0 (the empty set is ordinal). (For a typical textbook "theorem", i.e., deduction, there is usually at least one object satisfying each hypothesis, otherwise the theorem would not be very useful. We can always go back to the standard Deduction Theorem for those hypotheses where this is not the case.) Continuing with the example: Equality axioms (and Extensionality) yield |- A = if(Ord A, A, 0) -> (Ord A <-> Ord if(Ord A, A, 0)) (1) |- 0 = if(Ord A, A, 0) -> (Ord 0 <-> Ord if(Ord A, A, 0)) (2) From (1), (2) and |- Ord 0, Lemma 1 yields |- Ord if(Ord A, A, 0) (3) From (3) and substituting if(Ord A, A, 0) for A in the original deduction, |- Tr if(Ord A, A, 0) (4) Equality axioms (and Extensionality) yield |- A = if(Ord A, A, 0) -> (Tr A <-> Tr if(Ord A, A, 0)) (5) From (4) and (5), Lemma 2 yields |- Ord A -> Tr A (Q.E.D.) | ||
Theorem | dedth 4363 | Weak deduction theorem that eliminates a hypothesis 𝜑, making it become an antecedent. We assume that a proof exists for 𝜑 when the class variable 𝐴 is replaced with a specific class 𝐵. The hypothesis 𝜒 should be assigned to the inference, and the inference hypothesis eliminated with elimhyp 4370. If the inference has other hypotheses with class variable 𝐴, these can be kept by assigning keephyp 4376 to them. For more information, see the Weak Deduction Theorem page mmdeduction.html. (Contributed by NM, 15-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜓 ↔ 𝜒)) & ⊢ 𝜒 ⇒ ⊢ (𝜑 → 𝜓) | ||
Theorem | dedth2h 4364 | Weak deduction theorem eliminating two hypotheses. This theorem is simpler to use than dedth2v 4367 but requires that each hypothesis have exactly one class variable. See also comments in dedth 4363. (Contributed by NM, 15-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐶) → (𝜒 ↔ 𝜃)) & ⊢ (𝐵 = if(𝜓, 𝐵, 𝐷) → (𝜃 ↔ 𝜏)) & ⊢ 𝜏 ⇒ ⊢ ((𝜑 ∧ 𝜓) → 𝜒) | ||
Theorem | dedth3h 4365 | Weak deduction theorem eliminating three hypotheses. See comments in dedth2h 4364. (Contributed by NM, 15-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐷) → (𝜃 ↔ 𝜏)) & ⊢ (𝐵 = if(𝜓, 𝐵, 𝑅) → (𝜏 ↔ 𝜂)) & ⊢ (𝐶 = if(𝜒, 𝐶, 𝑆) → (𝜂 ↔ 𝜁)) & ⊢ 𝜁 ⇒ ⊢ ((𝜑 ∧ 𝜓 ∧ 𝜒) → 𝜃) | ||
Theorem | dedth4h 4366 | Weak deduction theorem eliminating four hypotheses. See comments in dedth2h 4364. (Contributed by NM, 16-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝑅) → (𝜏 ↔ 𝜂)) & ⊢ (𝐵 = if(𝜓, 𝐵, 𝑆) → (𝜂 ↔ 𝜁)) & ⊢ (𝐶 = if(𝜒, 𝐶, 𝐹) → (𝜁 ↔ 𝜎)) & ⊢ (𝐷 = if(𝜃, 𝐷, 𝐺) → (𝜎 ↔ 𝜌)) & ⊢ 𝜌 ⇒ ⊢ (((𝜑 ∧ 𝜓) ∧ (𝜒 ∧ 𝜃)) → 𝜏) | ||
Theorem | dedth2v 4367 | Weak deduction theorem for eliminating a hypothesis with 2 class variables. Note: if the hypothesis can be separated into two hypotheses, each with one class variable, then dedth2h 4364 is simpler to use. See also comments in dedth 4363. (Contributed by NM, 13-Aug-1999.) (Proof shortened by Eric Schmidt, 28-Jul-2009.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐶) → (𝜓 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝐷) → (𝜒 ↔ 𝜃)) & ⊢ 𝜃 ⇒ ⊢ (𝜑 → 𝜓) | ||
Theorem | dedth3v 4368 | Weak deduction theorem for eliminating a hypothesis with 3 class variables. See comments in dedth2v 4367. (Contributed by NM, 13-Aug-1999.) (Proof shortened by Eric Schmidt, 28-Jul-2009.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐷) → (𝜓 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝑅) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐶, 𝑆) → (𝜃 ↔ 𝜏)) & ⊢ 𝜏 ⇒ ⊢ (𝜑 → 𝜓) | ||
Theorem | dedth4v 4369 | Weak deduction theorem for eliminating a hypothesis with 4 class variables. See comments in dedth2v 4367. (Contributed by NM, 21-Apr-2007.) (Proof shortened by Eric Schmidt, 28-Jul-2009.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝑅) → (𝜓 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝑆) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐶, 𝑇) → (𝜃 ↔ 𝜏)) & ⊢ (𝐷 = if(𝜑, 𝐷, 𝑈) → (𝜏 ↔ 𝜂)) & ⊢ 𝜂 ⇒ ⊢ (𝜑 → 𝜓) | ||
Theorem | elimhyp 4370 | Eliminate a hypothesis containing class variable 𝐴 when it is known for a specific class 𝐵. For more information, see comments in dedth 4363. (Contributed by NM, 15-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜑 ↔ 𝜓)) & ⊢ (𝐵 = if(𝜑, 𝐴, 𝐵) → (𝜒 ↔ 𝜓)) & ⊢ 𝜒 ⇒ ⊢ 𝜓 | ||
Theorem | elimhyp2v 4371 | Eliminate a hypothesis containing 2 class variables. (Contributed by NM, 14-Aug-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐶) → (𝜑 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝐷) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐴, 𝐶) → (𝜏 ↔ 𝜂)) & ⊢ (𝐷 = if(𝜑, 𝐵, 𝐷) → (𝜂 ↔ 𝜃)) & ⊢ 𝜏 ⇒ ⊢ 𝜃 | ||
Theorem | elimhyp3v 4372 | Eliminate a hypothesis containing 3 class variables. (Contributed by NM, 14-Aug-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐷) → (𝜑 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝑅) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐶, 𝑆) → (𝜃 ↔ 𝜏)) & ⊢ (𝐷 = if(𝜑, 𝐴, 𝐷) → (𝜂 ↔ 𝜁)) & ⊢ (𝑅 = if(𝜑, 𝐵, 𝑅) → (𝜁 ↔ 𝜎)) & ⊢ (𝑆 = if(𝜑, 𝐶, 𝑆) → (𝜎 ↔ 𝜏)) & ⊢ 𝜂 ⇒ ⊢ 𝜏 | ||
Theorem | elimhyp4v 4373 | Eliminate a hypothesis containing 4 class variables (for use with the weak deduction theorem dedth 4363). (Contributed by NM, 16-Apr-2005.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐷) → (𝜑 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝑅) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐶, 𝑆) → (𝜃 ↔ 𝜏)) & ⊢ (𝐹 = if(𝜑, 𝐹, 𝐺) → (𝜏 ↔ 𝜓)) & ⊢ (𝐷 = if(𝜑, 𝐴, 𝐷) → (𝜂 ↔ 𝜁)) & ⊢ (𝑅 = if(𝜑, 𝐵, 𝑅) → (𝜁 ↔ 𝜎)) & ⊢ (𝑆 = if(𝜑, 𝐶, 𝑆) → (𝜎 ↔ 𝜌)) & ⊢ (𝐺 = if(𝜑, 𝐹, 𝐺) → (𝜌 ↔ 𝜓)) & ⊢ 𝜂 ⇒ ⊢ 𝜓 | ||
Theorem | elimel 4374 | Eliminate a membership hypothesis for weak deduction theorem, when special case 𝐵 ∈ 𝐶 is provable. (Contributed by NM, 15-May-1999.) |
⊢ 𝐵 ∈ 𝐶 ⇒ ⊢ if(𝐴 ∈ 𝐶, 𝐴, 𝐵) ∈ 𝐶 | ||
Theorem | elimdhyp 4375 | Version of elimhyp 4370 where the hypothesis is deduced from the final antecedent. See divalg 15537 for an example of its use. (Contributed by Paul Chapman, 25-Mar-2008.) |
⊢ (𝜑 → 𝜓) & ⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜓 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐴, 𝐵) → (𝜃 ↔ 𝜒)) & ⊢ 𝜃 ⇒ ⊢ 𝜒 | ||
Theorem | keephyp 4376 | Transform a hypothesis 𝜓 that we want to keep (but contains the same class variable 𝐴 used in the eliminated hypothesis) for use with the weak deduction theorem. (Contributed by NM, 15-May-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐵) → (𝜓 ↔ 𝜃)) & ⊢ (𝐵 = if(𝜑, 𝐴, 𝐵) → (𝜒 ↔ 𝜃)) & ⊢ 𝜓 & ⊢ 𝜒 ⇒ ⊢ 𝜃 | ||
Theorem | keephyp2v 4377 | Keep a hypothesis containing 2 class variables (for use with the weak deduction theorem dedth 4363). (Contributed by NM, 16-Apr-2005.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐶) → (𝜓 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝐷) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐴, 𝐶) → (𝜏 ↔ 𝜂)) & ⊢ (𝐷 = if(𝜑, 𝐵, 𝐷) → (𝜂 ↔ 𝜃)) & ⊢ 𝜓 & ⊢ 𝜏 ⇒ ⊢ 𝜃 | ||
Theorem | keephyp3v 4378 | Keep a hypothesis containing 3 class variables. (Contributed by NM, 27-Sep-1999.) |
⊢ (𝐴 = if(𝜑, 𝐴, 𝐷) → (𝜌 ↔ 𝜒)) & ⊢ (𝐵 = if(𝜑, 𝐵, 𝑅) → (𝜒 ↔ 𝜃)) & ⊢ (𝐶 = if(𝜑, 𝐶, 𝑆) → (𝜃 ↔ 𝜏)) & ⊢ (𝐷 = if(𝜑, 𝐴, 𝐷) → (𝜂 ↔ 𝜁)) & ⊢ (𝑅 = if(𝜑, 𝐵, 𝑅) → (𝜁 ↔ 𝜎)) & ⊢ (𝑆 = if(𝜑, 𝐶, 𝑆) → (𝜎 ↔ 𝜏)) & ⊢ 𝜌 & ⊢ 𝜂 ⇒ ⊢ 𝜏 | ||
Syntax | cpw 4379 | Extend class notation to include power class. (The tilde in the Metamath token is meant to suggest the calligraphic font of the P.) |
class 𝒫 𝐴 | ||
Theorem | pwjust 4380* | Soundness justification theorem for df-pw 4381. (Contributed by Rodolfo Medina, 28-Apr-2010.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) |
⊢ {𝑥 ∣ 𝑥 ⊆ 𝐴} = {𝑦 ∣ 𝑦 ⊆ 𝐴} | ||
Definition | df-pw 4381* | Define power class. Definition 5.10 of [TakeutiZaring] p. 17, but we also let it apply to proper classes, i.e. those that are not members of V. When applied to a set, this produces its power set. A power set of S is the set of all subsets of S, including the empty set and S itself. For example, if 𝐴 = {3, 5, 7}, then 𝒫 𝐴 = {∅, {3}, {5}, {7}, {3, 5}, {3, 7}, {5, 7}, {3, 5, 7}} (ex-pw 27865). We will later introduce the Axiom of Power Sets ax-pow 5079, which can be expressed in class notation per pwexg 5092. Still later we will prove, in hashpw 13541, that the size of the power set of a finite set is 2 raised to the power of the size of the set. (Contributed by NM, 24-Jun-1993.) |
⊢ 𝒫 𝐴 = {𝑥 ∣ 𝑥 ⊆ 𝐴} | ||
Theorem | pweq 4382 | Equality theorem for power class. (Contributed by NM, 21-Jun-1993.) |
⊢ (𝐴 = 𝐵 → 𝒫 𝐴 = 𝒫 𝐵) | ||
Theorem | pweqi 4383 | Equality inference for power class. (Contributed by NM, 27-Nov-2013.) |
⊢ 𝐴 = 𝐵 ⇒ ⊢ 𝒫 𝐴 = 𝒫 𝐵 | ||
Theorem | pweqd 4384 | Equality deduction for power class. (Contributed by NM, 27-Nov-2013.) |
⊢ (𝜑 → 𝐴 = 𝐵) ⇒ ⊢ (𝜑 → 𝒫 𝐴 = 𝒫 𝐵) | ||
Theorem | elpw 4385 | Membership in a power class. Theorem 86 of [Suppes] p. 47. (Contributed by NM, 31-Dec-1993.) |
⊢ 𝐴 ∈ V ⇒ ⊢ (𝐴 ∈ 𝒫 𝐵 ↔ 𝐴 ⊆ 𝐵) | ||
Theorem | selpw 4386* | Setvar variable membership in a power class. See elpw 4385. (Contributed by David A. Wheeler, 8-Dec-2018.) |
⊢ (𝑥 ∈ 𝒫 𝐴 ↔ 𝑥 ⊆ 𝐴) | ||
Theorem | elpwg 4387 | Membership in a power class. Theorem 86 of [Suppes] p. 47. See also elpw2g 5063. (Contributed by NM, 6-Aug-2000.) |
⊢ (𝐴 ∈ 𝑉 → (𝐴 ∈ 𝒫 𝐵 ↔ 𝐴 ⊆ 𝐵)) | ||
Theorem | elpwd 4388 | Membership in a power class. (Contributed by Glauco Siliprandi, 11-Oct-2020.) |
⊢ (𝜑 → 𝐴 ∈ 𝑉) & ⊢ (𝜑 → 𝐴 ⊆ 𝐵) ⇒ ⊢ (𝜑 → 𝐴 ∈ 𝒫 𝐵) | ||
Theorem | elpwi 4389 | Subset relation implied by membership in a power class. (Contributed by NM, 17-Feb-2007.) |
⊢ (𝐴 ∈ 𝒫 𝐵 → 𝐴 ⊆ 𝐵) | ||
Theorem | elpwb 4390 | Characterization of the elements of a power class. (Contributed by BJ, 29-Apr-2021.) |
⊢ (𝐴 ∈ 𝒫 𝐵 ↔ (𝐴 ∈ V ∧ 𝐴 ⊆ 𝐵)) | ||
Theorem | elpwid 4391 | An element of a power class is a subclass. Deduction form of elpwi 4389. (Contributed by David Moews, 1-May-2017.) |
⊢ (𝜑 → 𝐴 ∈ 𝒫 𝐵) ⇒ ⊢ (𝜑 → 𝐴 ⊆ 𝐵) | ||
Theorem | elelpwi 4392 | If 𝐴 belongs to a part of 𝐶 then 𝐴 belongs to 𝐶. (Contributed by FL, 3-Aug-2009.) |
⊢ ((𝐴 ∈ 𝐵 ∧ 𝐵 ∈ 𝒫 𝐶) → 𝐴 ∈ 𝐶) | ||
Theorem | nfpw 4393 | Bound-variable hypothesis builder for power class. (Contributed by NM, 28-Oct-2003.) (Revised by Mario Carneiro, 13-Oct-2016.) |
⊢ Ⅎ𝑥𝐴 ⇒ ⊢ Ⅎ𝑥𝒫 𝐴 | ||
Theorem | pwidg 4394 | Membership of the original in a power set. (Contributed by Stefan O'Rear, 1-Feb-2015.) |
⊢ (𝐴 ∈ 𝑉 → 𝐴 ∈ 𝒫 𝐴) | ||
Theorem | pwid 4395 | A set is a member of its power class. Theorem 87 of [Suppes] p. 47. (Contributed by NM, 5-Aug-1993.) |
⊢ 𝐴 ∈ V ⇒ ⊢ 𝐴 ∈ 𝒫 𝐴 | ||
Theorem | pwss 4396* | Subclass relationship for power class. (Contributed by NM, 21-Jun-2009.) |
⊢ (𝒫 𝐴 ⊆ 𝐵 ↔ ∀𝑥(𝑥 ⊆ 𝐴 → 𝑥 ∈ 𝐵)) | ||
Theorem | snjust 4397* | Soundness justification theorem for df-sn 4399. (Contributed by Rodolfo Medina, 28-Apr-2010.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) |
⊢ {𝑥 ∣ 𝑥 = 𝐴} = {𝑦 ∣ 𝑦 = 𝐴} | ||
Syntax | csn 4398 | Extend class notation to include singleton. |
class {𝐴} | ||
Definition | df-sn 4399* | Define the singleton of a class. Definition 7.1 of [Quine] p. 48. For convenience, it is well-defined for proper classes, i.e., those that are not elements of V, see snprc 4484. For an alternate definition see dfsn2 4411. (Contributed by NM, 21-Jun-1993.) |
⊢ {𝐴} = {𝑥 ∣ 𝑥 = 𝐴} | ||
Syntax | cpr 4400 | Extend class notation to include unordered pair. |
class {𝐴, 𝐵} |
< Previous Next > |
Copyright terms: Public domain | < Previous Next > |