HomeHome Intuitionistic Logic Explorer
Theorem List (p. 30 of 153)
< Previous  Next >
Browser slow? Try the
Unicode version.

Mirrors  >  Metamath Home Page  >  ILE Home Page  >  Theorem List Contents  >  Recent Proofs       This page: Page List

Theorem List for Intuitionistic Logic Explorer - 2901-3000   *Has distinct variable group(s)
TypeLabelDescription
Statement
 
Theoremelab4g 2901* Membership in a class abstraction, using implicit substitution. (Contributed by NM, 17-Oct-2012.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   &    |-  B  =  { x  |  ph }   =>    |-  ( A  e.  B  <->  ( A  e.  _V  /\  ps ) )
 
Theoremelab3gf 2902 Membership in a class abstraction, with a weaker antecedent than elabgf 2894. (Contributed by NM, 6-Sep-2011.)
 |-  F/_ x A   &    |-  F/ x ps   &    |-  ( x  =  A  ->  (
 ph 
 <->  ps ) )   =>    |-  ( ( ps 
 ->  A  e.  B ) 
 ->  ( A  e.  { x  |  ph }  <->  ps ) )
 
Theoremelab3g 2903* Membership in a class abstraction, with a weaker antecedent than elabg 2898. (Contributed by NM, 29-Aug-2006.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( ( ps 
 ->  A  e.  B ) 
 ->  ( A  e.  { x  |  ph }  <->  ps ) )
 
Theoremelab3 2904* Membership in a class abstraction using implicit substitution. (Contributed by NM, 10-Nov-2000.)
 |-  ( ps  ->  A  e.  _V )   &    |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( A  e.  { x  |  ph }  <->  ps )
 
Theoremelrabi 2905* Implication for the membership in a restricted class abstraction. (Contributed by Alexander van der Vekens, 31-Dec-2017.)
 |-  ( A  e.  { x  e.  V  |  ph
 }  ->  A  e.  V )
 
Theoremelrabf 2906 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.)
 |-  F/_ x A   &    |-  F/_ x B   &    |-  F/ x ps   &    |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( A  e.  { x  e.  B  |  ph
 } 
 <->  ( A  e.  B  /\  ps ) )
 
Theoremelrab3t 2907* Membership in a restricted class abstraction, using implicit substitution. (Closed theorem version of elrab3 2909.) (Contributed by Thierry Arnoux, 31-Aug-2017.)
 |-  ( ( A. x ( x  =  A  ->  ( ph  <->  ps ) )  /\  A  e.  B )  ->  ( A  e.  { x  e.  B  |  ph
 } 
 <->  ps ) )
 
Theoremelrab 2908* Membership in a restricted class abstraction, using implicit substitution. (Contributed by NM, 21-May-1999.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( A  e.  { x  e.  B  |  ph
 } 
 <->  ( A  e.  B  /\  ps ) )
 
Theoremelrab3 2909* Membership in a restricted class abstraction, using implicit substitution. (Contributed by NM, 5-Oct-2006.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( A  e.  B  ->  ( A  e.  { x  e.  B  |  ph
 } 
 <->  ps ) )
 
Theoremelrabd 2910* Membership in a restricted class abstraction, using implicit substitution. Deduction version of elrab 2908. (Contributed by Glauco Siliprandi, 23-Oct-2021.)
 |-  ( x  =  A  ->  ( ps  <->  ch ) )   &    |-  ( ph  ->  A  e.  B )   &    |-  ( ph  ->  ch )   =>    |-  ( ph  ->  A  e.  { x  e.  B  |  ps } )
 
Theoremelrab2 2911* Membership in a class abstraction, using implicit substitution. (Contributed by NM, 2-Nov-2006.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   &    |-  C  =  { x  e.  B  |  ph }   =>    |-  ( A  e.  C  <->  ( A  e.  B  /\  ps ) )
 
Theoremralab 2912* Universal quantification over a class abstraction. (Contributed by Jeff Madsen, 10-Jun-2010.)
 |-  ( y  =  x 
 ->  ( ph  <->  ps ) )   =>    |-  ( A. x  e.  { y  |  ph } ch  <->  A. x ( ps 
 ->  ch ) )
 
Theoremralrab 2913* Universal quantification over a restricted class abstraction. (Contributed by Jeff Madsen, 10-Jun-2010.)
 |-  ( y  =  x 
 ->  ( ph  <->  ps ) )   =>    |-  ( A. x  e.  { y  e.  A  |  ph } ch  <->  A. x  e.  A  ( ps  ->  ch )
 )
 
Theoremrexab 2914* Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 23-Jan-2014.) (Revised by Mario Carneiro, 3-Sep-2015.)
 |-  ( y  =  x 
 ->  ( ph  <->  ps ) )   =>    |-  ( E. x  e.  { y  |  ph } ch  <->  E. x ( ps 
 /\  ch ) )
 
Theoremrexrab 2915* Existential quantification over a class abstraction. (Contributed by Jeff Madsen, 17-Jun-2011.) (Revised by Mario Carneiro, 3-Sep-2015.)
 |-  ( y  =  x 
 ->  ( ph  <->  ps ) )   =>    |-  ( E. x  e.  { y  e.  A  |  ph } ch  <->  E. x  e.  A  ( ps  /\  ch )
 )
 
Theoremralab2 2916* Universal quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.)
 |-  ( x  =  y 
 ->  ( ps  <->  ch ) )   =>    |-  ( A. x  e.  { y  |  ph } ps  <->  A. y ( ph  ->  ch ) )
 
Theoremralrab2 2917* Universal quantification over a restricted class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.)
 |-  ( x  =  y 
 ->  ( ps  <->  ch ) )   =>    |-  ( A. x  e.  { y  e.  A  |  ph } ps  <->  A. y  e.  A  ( ph  ->  ch )
 )
 
Theoremrexab2 2918* Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.)
 |-  ( x  =  y 
 ->  ( ps  <->  ch ) )   =>    |-  ( E. x  e.  { y  |  ph } ps  <->  E. y ( ph  /\ 
 ch ) )
 
Theoremrexrab2 2919* Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.)
 |-  ( x  =  y 
 ->  ( ps  <->  ch ) )   =>    |-  ( E. x  e.  { y  e.  A  |  ph } ps  <->  E. y  e.  A  ( ph  /\  ch )
 )
 
Theoremabidnf 2920* 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.)
 |-  ( F/_ x A  ->  { z  |  A. x  z  e.  A }  =  A )
 
Theoremdedhb 2921* A deduction theorem for converting the inference  |- 
F/_ x A =>  |-  ph into a closed theorem. Use nfa1 1552 and nfab 2337 to eliminate the hypothesis of the substitution instance  ps of the inference. For converting the inference form into a deduction form, abidnf 2920 is useful. (Contributed by NM, 8-Dec-2006.)
 |-  ( A  =  {
 z  |  A. x  z  e.  A }  ->  ( ph  <->  ps ) )   &    |-  ps   =>    |-  ( F/_ x A  ->  ph )
 
Theoremeqeu 2922* A condition which implies existential uniqueness. (Contributed by Jeff Hankins, 8-Sep-2009.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( ( A  e.  B  /\  ps  /\ 
 A. x ( ph  ->  x  =  A ) )  ->  E! x ph )
 
Theoremeueq 2923* Equality has existential uniqueness. (Contributed by NM, 25-Nov-1994.)
 |-  ( A  e.  _V  <->  E! x  x  =  A )
 
Theoremeueq1 2924* Equality has existential uniqueness. (Contributed by NM, 5-Apr-1995.)
 |-  A  e.  _V   =>    |-  E! x  x  =  A
 
Theoremeueq2dc 2925* Equality has existential uniqueness (split into 2 cases). (Contributed by NM, 5-Apr-1995.)
 |-  A  e.  _V   &    |-  B  e.  _V   =>    |-  (DECID 
 ph  ->  E! x ( ( ph  /\  x  =  A )  \/  ( -.  ph  /\  x  =  B ) ) )
 
Theoremeueq3dc 2926* Equality has existential uniqueness (split into 3 cases). (Contributed by NM, 5-Apr-1995.) (Proof shortened by Mario Carneiro, 28-Sep-2015.)
 |-  A  e.  _V   &    |-  B  e.  _V   &    |-  C  e.  _V   &    |-  -.  ( ph  /\  ps )   =>    |-  (DECID  ph  ->  (DECID  ps 
 ->  E! x ( (
 ph  /\  x  =  A )  \/  ( -.  ( ph  \/  ps )  /\  x  =  B )  \/  ( ps  /\  x  =  C )
 ) ) )
 
Theoremmoeq 2927* There is at most one set equal to a class. (Contributed by NM, 8-Mar-1995.)
 |- 
 E* x  x  =  A
 
Theoremmoeq3dc 2928* "At most one" property of equality (split into 3 cases). (Contributed by Jim Kingdon, 7-Jul-2018.)
 |-  A  e.  _V   &    |-  B  e.  _V   &    |-  C  e.  _V   &    |-  -.  ( ph  /\  ps )   =>    |-  (DECID  ph  ->  (DECID  ps 
 ->  E* x ( (
 ph  /\  x  =  A )  \/  ( -.  ( ph  \/  ps )  /\  x  =  B )  \/  ( ps  /\  x  =  C )
 ) ) )
 
Theoremmosubt 2929* "At most one" remains true after substitution. (Contributed by Jim Kingdon, 18-Jan-2019.)
 |-  ( A. y E* x ph  ->  E* x E. y ( y  =  A  /\  ph )
 )
 
Theoremmosub 2930* "At most one" remains true after substitution. (Contributed by NM, 9-Mar-1995.)
 |- 
 E* x ph   =>    |- 
 E* x E. y
 ( y  =  A  /\  ph )
 
Theoremmo2icl 2931* Theorem for inferring "at most one". (Contributed by NM, 17-Oct-1996.)
 |-  ( A. x (
 ph  ->  x  =  A )  ->  E* x ph )
 
Theoremmob2 2932* Consequence of "at most one". (Contributed by NM, 2-Jan-2015.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( ( A  e.  B  /\  E* x ph  /\  ph )  ->  ( x  =  A  <->  ps ) )
 
Theoremmoi2 2933* Consequence of "at most one". (Contributed by NM, 29-Jun-2008.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   =>    |-  ( ( ( A  e.  B  /\  E* x ph )  /\  ( ph  /\  ps )
 )  ->  x  =  A )
 
Theoremmob 2934* Equality implied by "at most one". (Contributed by NM, 18-Feb-2006.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   &    |-  ( x  =  B  ->  (
 ph 
 <->  ch ) )   =>    |-  ( ( ( A  e.  C  /\  B  e.  D )  /\  E* x ph  /\  ps )  ->  ( A  =  B 
 <->  ch ) )
 
Theoremmoi 2935* Equality implied by "at most one". (Contributed by NM, 18-Feb-2006.)
 |-  ( x  =  A  ->  ( ph  <->  ps ) )   &    |-  ( x  =  B  ->  (
 ph 
 <->  ch ) )   =>    |-  ( ( ( A  e.  C  /\  B  e.  D )  /\  E* x ph  /\  ( ps  /\  ch ) ) 
 ->  A  =  B )
 
Theoremmorex 2936* Derive membership from uniqueness. (Contributed by Jeff Madsen, 2-Sep-2009.)
 |-  B  e.  _V   &    |-  ( x  =  B  ->  (
 ph 
 <->  ps ) )   =>    |-  ( ( E. x  e.  A  ph  /\  E* x ph )  ->  ( ps  ->  B  e.  A ) )
 
Theoremeuxfr2dc 2937* Transfer existential uniqueness from a variable  x to another variable  y contained in expression  A. (Contributed by NM, 14-Nov-2004.)
 |-  A  e.  _V   &    |-  E* y  x  =  A   =>    |-  (DECID  E. y E. x ( x  =  A  /\  ph )  ->  ( E! x E. y ( x  =  A  /\  ph )  <->  E! y ph ) )
 
Theoremeuxfrdc 2938* Transfer existential uniqueness from a variable  x to another variable  y contained in expression  A. (Contributed by NM, 14-Nov-2004.)
 |-  A  e.  _V   &    |-  E! y  x  =  A   &    |-  ( x  =  A  ->  (
 ph 
 <->  ps ) )   =>    |-  (DECID 
 E. y E. x ( x  =  A  /\  ps )  ->  ( E! x ph  <->  E! y ps )
 )
 
Theoremeuind 2939* Existential uniqueness via an indirect equality. (Contributed by NM, 11-Oct-2010.)
 |-  B  e.  _V   &    |-  ( x  =  y  ->  (
 ph 
 <->  ps ) )   &    |-  ( x  =  y  ->  A  =  B )   =>    |-  ( ( A. x A. y ( (
 ph  /\  ps )  ->  A  =  B ) 
 /\  E. x ph )  ->  E! z A. x ( ph  ->  z  =  A ) )
 
Theoremreu2 2940* A way to express restricted uniqueness. (Contributed by NM, 22-Nov-1994.)
 |-  ( E! x  e.  A  ph  <->  ( E. x  e.  A  ph  /\  A. x  e.  A  A. y  e.  A  ( ( ph  /\ 
 [ y  /  x ] ph )  ->  x  =  y ) ) )
 
Theoremreu6 2941* A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.)
 |-  ( E! x  e.  A  ph  <->  E. y  e.  A  A. x  e.  A  (
 ph 
 <->  x  =  y ) )
 
Theoremreu3 2942* A way to express restricted uniqueness. (Contributed by NM, 24-Oct-2006.)
 |-  ( E! x  e.  A  ph  <->  ( E. x  e.  A  ph  /\  E. y  e.  A  A. x  e.  A  ( ph  ->  x  =  y ) ) )
 
Theoremreu6i 2943* A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.)
 |-  ( ( B  e.  A  /\  A. x  e.  A  ( ph  <->  x  =  B ) )  ->  E! x  e.  A  ph )
 
Theoremeqreu 2944* A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.)
 |-  ( x  =  B  ->  ( ph  <->  ps ) )   =>    |-  ( ( B  e.  A  /\  ps  /\ 
 A. x  e.  A  ( ph  ->  x  =  B ) )  ->  E! x  e.  A  ph )
 
Theoremrmo4 2945* Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by NM, 16-Jun-2017.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E* x  e.  A  ph  <->  A. x  e.  A  A. y  e.  A  ( ( ph  /\  ps )  ->  x  =  y ) )
 
Theoremreu4 2946* Restricted uniqueness using implicit substitution. (Contributed by NM, 23-Nov-1994.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E! x  e.  A  ph  <->  ( E. x  e.  A  ph  /\  A. x  e.  A  A. y  e.  A  ( ( ph  /\ 
 ps )  ->  x  =  y ) ) )
 
Theoremreu7 2947* Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E! x  e.  A  ph  <->  ( E. x  e.  A  ph  /\  E. x  e.  A  A. y  e.  A  ( ps  ->  x  =  y ) ) )
 
Theoremreu8 2948* Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   =>    |-  ( E! x  e.  A  ph  <->  E. x  e.  A  ( ph  /\  A. y  e.  A  ( ps  ->  x  =  y ) ) )
 
Theoremrmo3f 2949* 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.)
 |-  F/_ x A   &    |-  F/_ y A   &    |-  F/ y ph   =>    |-  ( E* x  e.  A  ph  <->  A. x  e.  A  A. y  e.  A  ( ( ph  /\  [
 y  /  x ] ph )  ->  x  =  y ) )
 
Theoremrmo4f 2950* 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.)
 |-  F/_ x A   &    |-  F/_ y A   &    |-  F/ x ps   &    |-  ( x  =  y  ->  ( ph  <->  ps ) )   =>    |-  ( E* x  e.  A  ph  <->  A. x  e.  A  A. y  e.  A  ( ( ph  /\  ps )  ->  x  =  y ) )
 
Theoremreueq 2951* Equality has existential uniqueness. (Contributed by Mario Carneiro, 1-Sep-2015.)
 |-  ( B  e.  A  <->  E! x  e.  A  x  =  B )
 
Theoremrmoan 2952 Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.)
 |-  ( E* x  e.  A  ph  ->  E* x  e.  A  ( ps  /\  ph ) )
 
Theoremrmoim 2953 Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.)
 |-  ( A. x  e.  A  ( ph  ->  ps )  ->  ( E* x  e.  A  ps  ->  E* x  e.  A  ph ) )
 
Theoremrmoimia 2954 Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.)
 |-  ( x  e.  A  ->  ( ph  ->  ps )
 )   =>    |-  ( E* x  e.  A  ps  ->  E* x  e.  A  ph )
 
Theoremrmoimi2 2955 Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.)
 |- 
 A. x ( ( x  e.  A  /\  ph )  ->  ( x  e.  B  /\  ps )
 )   =>    |-  ( E* x  e.  B  ps  ->  E* x  e.  A  ph )
 
Theorem2reuswapdc 2956* A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.)
 |-  (DECID 
 E. x E. y
 ( x  e.  A  /\  ( y  e.  B  /\  ph ) )  ->  ( A. x  e.  A  E* y  e.  B  ph 
 ->  ( E! x  e.  A  E. y  e.  B  ph  ->  E! y  e.  B  E. x  e.  A  ph ) ) )
 
Theoremreuind 2957* Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.)
 |-  ( x  =  y 
 ->  ( ph  <->  ps ) )   &    |-  ( x  =  y  ->  A  =  B )   =>    |-  ( ( A. x A. y ( ( ( A  e.  C  /\  ph )  /\  ( B  e.  C  /\  ps ) )  ->  A  =  B )  /\  E. x ( A  e.  C  /\  ph ) )  ->  E! z  e.  C  A. x ( ( A  e.  C  /\  ph )  ->  z  =  A ) )
 
Theorem2rmorex 2958* Double restricted quantification with "at most one," analogous to 2moex 2124. (Contributed by Alexander van der Vekens, 17-Jun-2017.)
 |-  ( E* x  e.  A  E. y  e.  B  ph  ->  A. y  e.  B  E* x  e.  A  ph )
 
Theoremnelrdva 2959* Deduce negative membership from an implication. (Contributed by Thierry Arnoux, 27-Nov-2017.)
 |-  ( ( ph  /\  x  e.  A )  ->  x  =/=  B )   =>    |-  ( ph  ->  -.  B  e.  A )
 
2.1.7  Conditional equality (experimental)

This is a very useless definition, which "abbreviates"  ( x  =  y  ->  ph ) as CondEq ( x  =  y  ->  ph ). 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  ( x  =  y  ->  ph ).

This is all used as part of a metatheorem: we want to say that  |-  ( x  =  y  ->  ( ph ( x )  <->  ph ( y ) ) ) and  |-  ( x  =  y  ->  A
( x )  =  A ( y ) ) are provable, for any expressions  ph ( x ) or  A ( x ) 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  ph ( x ) is assumed disjoint from 
x except  x itself. For such a proof by induction, we must consider each of the possible forms of  ph ( x ). If it is a variable other than  x, then we have CondEq ( x  =  y  ->  A  =  A ) or CondEq ( x  =  y  ->  ( ph  <->  ph ) ), which is provable by cdeqth 2964 and reflexivity. Since we are only working with class and wff expressions, it can't be  x itself in set.mm, but if it was we'd have to also prove CondEq
( x  =  y  ->  x  =  y ) (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  x 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  y is disjoint from  ph ( x ) and vice versa, because this is maintained through the induction. This is how we satisfy the disjoint variable conditions of cdeqab1 2969 and cdeqab 2967.

 
Syntaxwcdeq 2960 Extend wff notation to include conditional equality. This is a technical device used in the proof that 
F/ is the not-free predicate, and that definitions are conservative as a result.
 wff CondEq ( x  =  y 
 ->  ph )
 
Definitiondf-cdeq 2961 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 x y ph. 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 ( x  =  y  ->  ph )  <->  ( x  =  y  ->  ph ) )
 
Theoremcdeqi 2962 Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |-  ( x  =  y 
 ->  ph )   =>    |- CondEq ( x  =  y  -> 
 ph )
 
Theoremcdeqri 2963 Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  -> 
 ph )   =>    |-  ( x  =  y 
 ->  ph )
 
Theoremcdeqth 2964 Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |-  ph   =>    |- CondEq ( x  =  y  -> 
 ph )
 
Theoremcdeqnot 2965 Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |- CondEq ( x  =  y  ->  ( -.  ph  <->  -. 
 ps ) )
 
Theoremcdeqal 2966* Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |- CondEq ( x  =  y  ->  ( A. z ph  <->  A. z ps )
 )
 
Theoremcdeqab 2967* Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |- CondEq ( x  =  y  ->  { z  |  ph }  =  {
 z  |  ps }
 )
 
Theoremcdeqal1 2968* Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |- CondEq ( x  =  y  ->  ( A. x ph  <->  A. y ps )
 )
 
Theoremcdeqab1 2969* Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |- CondEq ( x  =  y  ->  { x  |  ph }  =  {
 y  |  ps }
 )
 
Theoremcdeqim 2970 Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   &    |- CondEq ( x  =  y  ->  ( ch 
 <-> 
 th ) )   =>    |- CondEq ( x  =  y  ->  ( ( ph  ->  ch )  <->  ( ps  ->  th ) ) )
 
Theoremcdeqcv 2971 Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  x  =  y )
 
Theoremcdeqeq 2972 Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  A  =  B )   &    |- CondEq ( x  =  y  ->  C  =  D )   =>    |- CondEq ( x  =  y  ->  ( A  =  C  <->  B  =  D ) )
 
Theoremcdeqel 2973 Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- CondEq ( x  =  y  ->  A  =  B )   &    |- CondEq ( x  =  y  ->  C  =  D )   =>    |- CondEq ( x  =  y  ->  ( A  e.  C  <->  B  e.  D ) )
 
Theoremnfcdeq 2974* If we have a conditional equality proof, where  ph is  ph ( x ) and  ps is  ph (
y ), and  ph (
x ) in fact does not have  x free in it according to  F/, then  ph ( x )  <->  ph ( y ) unconditionally. This proves that  F/ x ph is actually a not-free predicate. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |- 
 F/ x ph   &    |- CondEq ( x  =  y  ->  ( ph  <->  ps ) )   =>    |-  ( ph  <->  ps )
 
Theoremnfccdeq 2975* Variation of nfcdeq 2974 for classes. (Contributed by Mario Carneiro, 11-Aug-2016.)
 |-  F/_ x A   &    |- CondEq ( x  =  y  ->  A  =  B )   =>    |-  A  =  B
 
2.1.8  Russell's Paradox
 
Theoremru 2976 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 
A  e.  _V, asserted that any collection of sets  A is a set i.e. belongs to the universe 
_V of all sets. In particular, by substituting  { x  |  x  e/  x } (the "Russell class") for  A, it asserted  { x  |  x  e/  x }  e.  _V, meaning that the "collection of all sets which are not members of themselves" is a set. However, here we prove  { x  |  x  e/  x }  e/  _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  A is a set only when it is smaller than some other set  B. 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 4136. (Contributed by NM, 7-Aug-1994.)

 |- 
 { x  |  x  e/  x }  e/  _V
 
2.1.9  Proper substitution of classes for sets
 
Syntaxwsbc 2977 Extend wff notation to include the proper substitution of a class for a set. Read this notation as "the proper substitution of class  A for setvar variable  x in wff  ph".
 wff  [. A  /  x ].
 ph
 
Definitiondf-sbc 2978 Define the proper substitution of a class for a set.

When  A is a proper class, our definition evaluates to false. This is somewhat arbitrary: we could have, instead, chosen the conclusion of sbc6 3003 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 2979 below). Unfortunately, Quine's definition requires a recursive syntactical breakdown of  ph, 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 2979, which holds for both our definition and Quine's, and from which we can derive a weaker version of df-sbc 2978 in the form of sbc8g 2985. However, the behavior of Quine's definition at proper classes is similarly arbitrary, and for practical reasons (to avoid having to prove sethood of  A in every use of this definition) we allow direct reference to df-sbc 2978 and assert that  [. A  /  x ]. ph is always false when  A 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.)

 |-  ( [. A  /  x ]. ph  <->  A  e.  { x  |  ph } )
 
Theoremdfsbcq 2979 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 2978 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 2980 instead of df-sbc 2978. (dfsbcq2 2980 is needed because unlike Quine we do not overload the df-sb 1774 syntax.) As a consequence of these theorems, we can derive sbc8g 2985, which is a weaker version of df-sbc 2978 that leaves substitution undefined when  A is a proper class.

However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 2985, so we will allow direct use of df-sbc 2978. 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.)

 |-  ( A  =  B  ->  ( [. A  /  x ]. ph  <->  [. B  /  x ].
 ph ) )
 
Theoremdfsbcq2 2980 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 1774 and substitution for class variables df-sbc 2978. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 2979. (Contributed by NM, 31-Dec-2016.)
 |-  ( y  =  A  ->  ( [ y  /  x ] ph  <->  [. A  /  x ].
 ph ) )
 
Theoremsbsbc 2981 Show that df-sb 1774 and df-sbc 2978 are equivalent when the class term  A in df-sbc 2978 is a setvar variable. This theorem lets us reuse theorems based on df-sb 1774 for proofs involving df-sbc 2978. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.)
 |-  ( [ y  /  x ] ph  <->  [. y  /  x ].
 ph )
 
Theoremsbceq1d 2982 Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.)
 |-  ( ph  ->  A  =  B )   =>    |-  ( ph  ->  ( [. A  /  x ].
 ps 
 <-> 
 [. B  /  x ].
 ps ) )
 
Theoremsbceq1dd 2983 Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.)
 |-  ( ph  ->  A  =  B )   &    |-  ( ph  ->  [. A  /  x ]. ps )   =>    |-  ( ph  ->  [. B  /  x ]. ps )
 
Theoremsbceqbid 2984* Equality theorem for class substitution. (Contributed by Thierry Arnoux, 4-Sep-2018.)
 |-  ( ph  ->  A  =  B )   &    |-  ( ph  ->  ( ps  <->  ch ) )   =>    |-  ( ph  ->  (
 [. A  /  x ].
 ps 
 <-> 
 [. B  /  x ].
 ch ) )
 
Theoremsbc8g 2985 This is the closest we can get to df-sbc 2978 if we start from dfsbcq 2979 (see its comments) and dfsbcq2 2980. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.)
 |-  ( A  e.  V  ->  ( [. A  /  x ]. ph  <->  A  e.  { x  |  ph } ) )
 
Theoremsbcex 2986 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.)
 |-  ( [. A  /  x ]. ph  ->  A  e.  _V )
 
Theoremsbceq1a 2987 Equality theorem for class substitution. Class version of sbequ12 1782. (Contributed by NM, 26-Sep-2003.)
 |-  ( x  =  A  ->  ( ph  <->  [. A  /  x ].
 ph ) )
 
Theoremsbceq2a 2988 Equality theorem for class substitution. Class version of sbequ12r 1783. (Contributed by NM, 4-Jan-2017.)
 |-  ( A  =  x 
 ->  ( [. A  /  x ]. ph  <->  ph ) )
 
Theoremspsbc 2989 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 1786 and rspsbc 3060. (Contributed by NM, 16-Jan-2004.)
 |-  ( A  e.  V  ->  ( A. x ph  -> 
 [. A  /  x ].
 ph ) )
 
Theoremspsbcd 2990 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 1786 and rspsbc 3060. (Contributed by Mario Carneiro, 9-Feb-2017.)
 |-  ( ph  ->  A  e.  V )   &    |-  ( ph  ->  A. x ps )   =>    |-  ( ph  ->  [. A  /  x ]. ps )
 
Theoremsbcth 2991 A substitution into a theorem remains true (when  A is a set). (Contributed by NM, 5-Nov-2005.)
 |-  ph   =>    |-  ( A  e.  V  -> 
 [. A  /  x ].
 ph )
 
Theoremsbcthdv 2992* Deduction version of sbcth 2991. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.)
 |-  ( ph  ->  ps )   =>    |-  (
 ( ph  /\  A  e.  V )  ->  [. A  /  x ]. ps )
 
Theoremsbcid 2993 An identity theorem for substitution. See sbid 1785. (Contributed by Mario Carneiro, 18-Feb-2017.)
 |-  ( [. x  /  x ]. ph  <->  ph )
 
Theoremnfsbc1d 2994 Deduction version of nfsbc1 2995. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.)
 |-  ( ph  ->  F/_ x A )   =>    |-  ( ph  ->  F/ x [. A  /  x ]. ps )
 
Theoremnfsbc1 2995 Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.)
 |-  F/_ x A   =>    |- 
 F/ x [. A  /  x ]. ph
 
Theoremnfsbc1v 2996* Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.)
 |- 
 F/ x [. A  /  x ]. ph
 
Theoremnfsbcd 2997 Deduction version of nfsbc 2998. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.)
 |- 
 F/ y ph   &    |-  ( ph  ->  F/_ x A )   &    |-  ( ph  ->  F/ x ps )   =>    |-  ( ph  ->  F/ x [. A  /  y ]. ps )
 
Theoremnfsbc 2998 Bound-variable hypothesis builder for class substitution. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.)
 |-  F/_ x A   &    |-  F/ x ph   =>    |-  F/ x [. A  /  y ]. ph
 
Theoremsbcco 2999* A composition law for class substitution. (Contributed by NM, 26-Sep-2003.) (Revised by Mario Carneiro, 13-Oct-2016.)
 |-  ( [. A  /  y ]. [. y  /  x ]. ph  <->  [. A  /  x ].
 ph )
 
Theoremsbcco2 3000* A composition law for class substitution. Importantly,  x may occur free in the class expression substituted for  A. (Contributed by NM, 5-Sep-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.)
 |-  ( x  =  y 
 ->  A  =  B )   =>    |-  ( [. x  /  y ]. [. B  /  x ].
 ph 
 <-> 
 [. A  /  x ].
 ph )
    < Previous  Next >

Page List
Jump to page: Contents  1 1-100 2 101-200 3 201-300 4 301-400 5 401-500 6 501-600 7 601-700 8 701-800 9 801-900 10 901-1000 11 1001-1100 12 1101-1200 13 1201-1300 14 1301-1400 15 1401-1500 16 1501-1600 17 1601-1700 18 1701-1800 19 1801-1900 20 1901-2000 21 2001-2100 22 2101-2200 23 2201-2300 24 2301-2400 25 2401-2500 26 2501-2600 27 2601-2700 28 2701-2800 29 2801-2900 30 2901-3000 31 3001-3100 32 3101-3200 33 3201-3300 34 3301-3400 35 3401-3500 36 3501-3600 37 3601-3700 38 3701-3800 39 3801-3900 40 3901-4000 41 4001-4100 42 4101-4200 43 4201-4300 44 4301-4400 45 4401-4500 46 4501-4600 47 4601-4700 48 4701-4800 49 4801-4900 50 4901-5000 51 5001-5100 52 5101-5200 53 5201-5300 54 5301-5400 55 5401-5500 56 5501-5600 57 5601-5700 58 5701-5800 59 5801-5900 60 5901-6000 61 6001-6100 62 6101-6200 63 6201-6300 64 6301-6400 65 6401-6500 66 6501-6600 67 6601-6700 68 6701-6800 69 6801-6900 70 6901-7000 71 7001-7100 72 7101-7200 73 7201-7300 74 7301-7400 75 7401-7500 76 7501-7600 77 7601-7700 78 7701-7800 79 7801-7900 80 7901-8000 81 8001-8100 82 8101-8200 83 8201-8300 84 8301-8400 85 8401-8500 86 8501-8600 87 8601-8700 88 8701-8800 89 8801-8900 90 8901-9000 91 9001-9100 92 9101-9200 93 9201-9300 94 9301-9400 95 9401-9500 96 9501-9600 97 9601-9700 98 9701-9800 99 9801-9900 100 9901-10000 101 10001-10100 102 10101-10200 103 10201-10300 104 10301-10400 105 10401-10500 106 10501-10600 107 10601-10700 108 10701-10800 109 10801-10900 110 10901-11000 111 11001-11100 112 11101-11200 113 11201-11300 114 11301-11400 115 11401-11500 116 11501-11600 117 11601-11700 118 11701-11800 119 11801-11900 120 11901-12000 121 12001-12100 122 12101-12200 123 12201-12300 124 12301-12400 125 12401-12500 126 12501-12600 127 12601-12700 128 12701-12800 129 12801-12900 130 12901-13000 131 13001-13100 132 13101-13200 133 13201-13300 134 13301-13400 135 13401-13500 136 13501-13600 137 13601-13700 138 13701-13800 139 13801-13900 140 13901-14000 141 14001-14100 142 14101-14200 143 14201-14300 144 14301-14400 145 14401-14500 146 14501-14600 147 14601-14700 148 14701-14800 149 14801-14900 150 14901-15000 151 15001-15100 152 15101-15200 153 15201-15230
  Copyright terms: Public domain < Previous  Next >