Home | Metamath
Proof ExplorerTheorem List
(p. 32 of 328)
| < Previous Next > |

Browser slow? Try the
Unicode version. |

Mirrors > Metamath Home Page > MPE Home Page > Theorem List Contents > Recent Proofs

Color key: | Metamath Proof Explorer
(1-22421) |
Hilbert Space Explorer
(22422-23944) |
Users' Mathboxes
(23945-32762) |

Type | Label | Description |
---|---|---|

Statement | ||

Theorem | rexab2 3101* | Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |

Theorem | rexrab2 3102* | Existential quantification over a class abstraction. (Contributed by Mario Carneiro, 3-Sep-2015.) |

Theorem | abidnf 3103* | 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 3104* | A deduction theorem for converting the inference => into a closed theorem. Use nfa1 1806 and nfab 2576 to eliminate the hypothesis of the substitution instance of the inference. For converting the inference form into a deduction form, abidnf 3103 is useful. (Contributed by NM, 8-Dec-2006.) |

Theorem | eqeu 3105* | A condition which implies existential uniqueness. (Contributed by Jeff Hankins, 8-Sep-2009.) |

Theorem | eueq 3106* | Equality has existential uniqueness. (Contributed by NM, 25-Nov-1994.) |

Theorem | eueq1 3107* | Equality has existential uniqueness. (Contributed by NM, 5-Apr-1995.) |

Theorem | eueq2 3108* | Equality has existential uniqueness (split into 2 cases). (Contributed by NM, 5-Apr-1995.) |

Theorem | eueq3 3109* | Equality has existential uniqueness (split into 3 cases). (Contributed by NM, 5-Apr-1995.) (Proof shortened by Mario Carneiro, 28-Sep-2015.) |

Theorem | moeq 3110* | There is at most one set equal to a class. (Contributed by NM, 8-Mar-1995.) |

Theorem | moeq3 3111* | "At most one" property of equality (split into 3 cases). (The first 2 hypotheses could be eliminated with longer proof.) (Contributed by NM, 23-Apr-1995.) |

Theorem | mosub 3112* | "At most one" remains true after substitution. (Contributed by NM, 9-Mar-1995.) |

Theorem | mo2icl 3113* | Theorem for inferring "at most one." (Contributed by NM, 17-Oct-1996.) |

Theorem | mob2 3114* | Consequence of "at most one." (Contributed by NM, 2-Jan-2015.) |

Theorem | moi2 3115* | Consequence of "at most one." (Contributed by NM, 29-Jun-2008.) |

Theorem | mob 3116* | Equality implied by "at most one." (Contributed by NM, 18-Feb-2006.) |

Theorem | moi 3117* | Equality implied by "at most one." (Contributed by NM, 18-Feb-2006.) |

Theorem | morex 3118* | Derive membership from uniqueness. (Contributed by Jeff Madsen, 2-Sep-2009.) |

Theorem | euxfr2 3119* | Transfer existential uniqueness from a variable to another variable contained in expression . (Contributed by NM, 14-Nov-2004.) |

Theorem | euxfr 3120* | Transfer existential uniqueness from a variable to another variable contained in expression . (Contributed by NM, 14-Nov-2004.) |

Theorem | euind 3121* | Existential uniqueness via an indirect equality. (Contributed by NM, 11-Oct-2010.) |

Theorem | reu2 3122* | A way to express restricted uniqueness. (Contributed by NM, 22-Nov-1994.) |

Theorem | reu6 3123* | A way to express restricted uniqueness. (Contributed by NM, 20-Oct-2006.) |

Theorem | reu3 3124* | A way to express restricted uniqueness. (Contributed by NM, 24-Oct-2006.) |

Theorem | reu6i 3125* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |

Theorem | eqreu 3126* | A condition which implies existential uniqueness. (Contributed by Mario Carneiro, 2-Oct-2015.) |

Theorem | rmo4 3127* | Restricted "at most one" using implicit substitution. (Contributed by NM, 24-Oct-2006.) (Revised by NM, 16-Jun-2017.) |

Theorem | reu4 3128* | Restricted uniqueness using implicit substitution. (Contributed by NM, 23-Nov-1994.) |

Theorem | reu7 3129* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |

Theorem | reu8 3130* | Restricted uniqueness using implicit substitution. (Contributed by NM, 24-Oct-2006.) |

Theorem | reueq 3131* | Equality has existential uniqueness. (Contributed by Mario Carneiro, 1-Sep-2015.) |

Theorem | rmoan 3132 | Restricted "at most one" still holds when a conjunct is added. (Contributed by NM, 16-Jun-2017.) |

Theorem | rmoim 3133 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | rmoimia 3134 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | rmoimi2 3135 | Restricted "at most one" is preserved through implication (note wff reversal). (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | 2reuswap 3136* | A condition allowing swap of uniqueness and existential quantifiers. (Contributed by Thierry Arnoux, 7-Apr-2017.) (Revised by NM, 16-Jun-2017.) |

Theorem | reuind 3137* | Existential uniqueness via an indirect equality. (Contributed by NM, 16-Oct-2010.) |

Theorem | 2rmorex 3138* | Double restricted quantification with "at most one," analogous to 2moex 2352. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | 2reu5lem1 3139* | Lemma for 2reu5 3142. Note that does not mean "there is exactly one in and exactly one in such that holds;" see comment for 2eu5 2365. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | 2reu5lem2 3140* | Lemma for 2reu5 3142. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | 2reu5lem3 3141* | Lemma for 2reu5 3142. This lemma is interesting in its own right, showing that existential restriction in the last conjunct (the "at most one" part) is optional; compare rmo2 3246. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | 2reu5 3142* | Double restricted existential uniqueness in terms of restricted existential quantification and restricted universal quantification, analogous to 2eu5 2365 and reu3 3124. (Contributed by Alexander van der Vekens, 17-Jun-2017.) |

Theorem | nelrdva 3143* | Deduce negative membership from an implication. (Contributed by Thierry Arnoux, 27-Nov-2017.) |

2.1.7 Conditional equality
(experimental)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 3-ary 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 assumption: 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 3148 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 Otherwise, it is a primitive operation applied to smaller expressions. In these cases, for each set 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 DV assumptions of cdeqab1 3153 and cdeqab 3151. | ||

Syntax | wcdeq 3144 | 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. |

CondEq | ||

Definition | df-cdeq 3145 | 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 3146 | Deduce conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq | ||

Theorem | cdeqri 3147 | Property of conditional equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq | ||

Theorem | cdeqth 3148 | Deduce conditional equality from a theorem. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq | ||

Theorem | cdeqnot 3149 | Distribute conditional equality over negation. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq | ||

Theorem | cdeqal 3150* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq | ||

Theorem | cdeqab 3151* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq | ||

Theorem | cdeqal1 3152* | Distribute conditional equality over quantification. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq | ||

Theorem | cdeqab1 3153* | Distribute conditional equality over abstraction. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq | ||

Theorem | cdeqim 3154 | Distribute conditional equality over implication. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq CondEq | ||

Theorem | cdeqcv 3155 | Conditional equality for set-to-class promotion. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq | ||

Theorem | cdeqeq 3156 | Distribute conditional equality over equality. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq CondEq | ||

Theorem | cdeqel 3157 | Distribute conditional equality over elementhood. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq CondEq CondEq | ||

Theorem | nfcdeq 3158* | 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 3159* | Variation of nfcdeq 3158 for classes. (Contributed by Mario Carneiro, 11-Aug-2016.) |

CondEq | ||

2.1.8 Russell's Paradox | ||

Theorem | ru 3160 |
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 , asserted that any collection of sets is a set i.e. belongs to the universe of all sets. In particular, by substituting (the "Russell class") for , it asserted , meaning that the "collection of all sets which are not members of themselves" is a set. However, here we prove . 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 ssex 4347 asserting that is a set only when it is smaller than some other set . However, Zermelo was then faced with a "chicken and egg" problem of how to show is a set, leading him to introduce the set-building axioms of Null Set 0ex 4339, Pairing prex 4406, Union uniex 4705, Power Set pwex 4382, and Infinity omex 7598 to give him some starting sets to work with (all of which, before Russell's Paradox, were immediate consequences of Frege's Comprehension). In 1922 Fraenkel strengthened the Subset Axiom with our present Replacement Axiom funimaex 5531 (whose modern formalization is due to Skolem, also in 1922). Thus, in a very real sense Russell's Paradox spawned the invention of ZF set theory and completely revised the foundations of mathematics! Another mainstream formalization of set theory, devised by von Neumann, Bernays, and Goedel, uses class variables rather than set variables as its primitives. The axiom system NBG in [Mendelson] p. 225 is suitable for a Metamath encoding. NBG is a conservative extension of ZF in that it proves exactly the same theorems as ZF that are expressible in the language of ZF. An advantage of NBG is that it is finitely axiomatizable - the Axiom of Replacement can be broken down into a finite set of formulas that eliminate its wff metavariable. Finite axiomatizability is required by some proof languages (although not by Metamath). There is a stronger version of NBG called Morse-Kelley (axiom system MK in [Mendelson] p. 287).
Russell himself continued in a different direction, avoiding the paradox
with his "theory of types." Quine extended Russell's ideas to
formulate
his New Foundations set theory (axiom system NF of [Quine] p. 331). In
NF, the collection of all sets is a set, contradicting ZF and NBG set
theories, and it has other bizarre consequences: when sets become too
huge (beyond the size of those used in standard mathematics), the Axiom
of Choice ac4 8355 and Cantor's Theorem canth 6539 are provably false! (See
ncanth 6540 for some intuition behind the latter.)
Recent results (as of
2014) seem to show that NF is equiconsistent to Z (ZF in which ax-sep 4330
replaces ax-rep 4320) with ax-sep 4330 restricted to only bounded
quantifiers. NF is finitely axiomatizable and can be encoded in
Metamath using the axioms from T. Hailperin, "A set of axioms for
logic," Under our ZF set theory, every set is a member of the Russell class by elirrv 7565 (derived from the Axiom of Regularity), so for us the Russell class equals the universe (theorem ruv 7568). See ruALT 7569 for an alternate proof of ru 3160 derived from that fact. (Contributed by NM, 7-Aug-1994.) |

2.1.9 Proper substitution of classes for
sets | ||

Syntax | wsbc 3161 | Extend wff notation to include the proper substitution of a class for a set. Read this notation as "the proper substitution of class for set variable in wff ." |

Definition | df-sbc 3162 |
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 3187 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 3163 below). For example, if is a proper class, Quine's substitution of for in evaluates to rather than our falsehood. (This can be seen by substituting , , and for alpha, beta, and gamma in Subcase 1 of Quine's discussion on p. 42.) 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 The theorem sbc2or 3169 shows the apparently "strongest" statement we can make regarding behavior at proper classes if we start from dfsbcq 3163. The related definition df-csb 3252 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 3163 |
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 3162 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 3164 instead of df-sbc 3162. (dfsbcq2 3164 is needed because
unlike Quine we do not overload the df-sb 1659 syntax.) As a consequence of
these theorems, we can derive sbc8g 3168, which is a weaker version of
df-sbc 3162 that leaves substitution undefined when is a proper class.
However, it is often a nuisance to have to prove the sethood hypothesis of sbc8g 3168, so we will allow direct use of df-sbc 3162 after theorem sbc2or 3169 below. 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 3164 | 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 1659 and substitution for class variables df-sbc 3162. Unlike Quine, we use a different syntax for each in order to avoid overloading it. See remarks in dfsbcq 3163. (Contributed by NM, 31-Dec-2016.) |

Theorem | sbsbc 3165 | Show that df-sb 1659 and df-sbc 3162 are equivalent when the class term in df-sbc 3162 is a set variable. This theorem lets us reuse theorems based on df-sb 1659 for proofs involving df-sbc 3162. (Contributed by NM, 31-Dec-2016.) (Proof modification is discouraged.) |

Theorem | sbceq1d 3166 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |

Theorem | sbceq1dd 3167 | Equality theorem for class substitution. (Contributed by Mario Carneiro, 9-Feb-2017.) (Revised by NM, 30-Jun-2018.) |

Theorem | sbc8g 3168 | This is the closest we can get to df-sbc 3162 if we start from dfsbcq 3163 (see its comments) and dfsbcq2 3164. (Contributed by NM, 18-Nov-2008.) (Proof shortened by Andrew Salmon, 29-Jun-2011.) (Proof modification is discouraged.) |

Theorem | sbc2or 3169* | The disjunction of two equivalences for class substitution does not require a class existence hypothesis. This theorem tells us that there are only 2 possibilities for behavior at proper classes, matching the sbc5 3185 (false) and sbc6 3187 (true) conclusions. This is interesting since dfsbcq 3163 and dfsbcq2 3164 (from which it is derived) do not appear to say anything obvious about proper class behavior. Note that this theorem doesn't tell us that it is always one or the other at proper classes; it could "flip" between false (the first disjunct) and true (the second disjunct) as a function of some other variable that or may contain. (Contributed by NM, 11-Oct-2004.) (Proof modification is discouraged.) |

Theorem | sbcex 3170 | 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.) |

Theorem | sbceq1a 3171 | Equality theorem for class substitution. Class version of sbequ12 1944. (Contributed by NM, 26-Sep-2003.) |

Theorem | sbceq2a 3172 | Equality theorem for class substitution. Class version of sbequ12r 1945. (Contributed by NM, 4-Jan-2017.) |

Theorem | spsbc 3173 | 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 2091 and rspsbc 3239. (Contributed by NM, 16-Jan-2004.) |

Theorem | spsbcd 3174 | 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 2091 and rspsbc 3239. (Contributed by Mario Carneiro, 9-Feb-2017.) |

Theorem | sbcth 3175 | A substitution into a theorem remains true (when is a set). (Contributed by NM, 5-Nov-2005.) |

Theorem | sbcthdv 3176* | Deduction version of sbcth 3175. (Contributed by NM, 30-Nov-2005.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |

Theorem | sbcid 3177 | An identity theorem for substitution. See sbid 1947. (Contributed by Mario Carneiro, 18-Feb-2017.) |

Theorem | nfsbc1d 3178 | Deduction version of nfsbc1 3179. (Contributed by NM, 23-May-2006.) (Revised by Mario Carneiro, 12-Oct-2016.) |

Theorem | nfsbc1 3179 | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |

Theorem | nfsbc1v 3180* | Bound-variable hypothesis builder for class substitution. (Contributed by Mario Carneiro, 12-Oct-2016.) |

Theorem | nfsbcd 3181 | Deduction version of nfsbc 3182. (Contributed by NM, 23-Nov-2005.) (Revised by Mario Carneiro, 12-Oct-2016.) |

Theorem | nfsbc 3182 | Bound-variable hypothesis builder for class substitution. (Contributed by NM, 7-Sep-2014.) (Revised by Mario Carneiro, 12-Oct-2016.) |

Theorem | sbcco 3183* | A composition law for class substitution. (Contributed by NM, 26-Sep-2003.) (Revised by Mario Carneiro, 13-Oct-2016.) |

Theorem | sbcco2 3184* | A composition law for class substitution. Importantly, may occur free in the class expression substituted for . (Contributed by NM, 5-Sep-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |

Theorem | sbc5 3185* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Revised by Mario Carneiro, 12-Oct-2016.) |

Theorem | sbc6g 3186* | An equivalence for class substitution. (Contributed by NM, 11-Oct-2004.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |

Theorem | sbc6 3187* | An equivalence for class substitution. (Contributed by NM, 23-Aug-1993.) (Proof shortened by Eric Schmidt, 17-Jan-2007.) |

Theorem | sbc7 3188* | An equivalence for class substitution in the spirit of df-clab 2423. Note that and don't have to be distinct. (Contributed by NM, 18-Nov-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) |

Theorem | cbvsbc 3189 | Change bound variables in a wff substitution. (Contributed by Jeff Hankins, 19-Sep-2009.) (Proof shortened by Andrew Salmon, 8-Jun-2011.) |

Theorem | cbvsbcv 3190* | Change the bound variable of a class substitution using implicit substitution. (Contributed by NM, 30-Sep-2008.) (Revised by Mario Carneiro, 13-Oct-2016.) |

Theorem | sbciegft 3191* | Conversion of implicit substitution to explicit class substitution, using a bound-variable hypothesis instead of distinct variables. (Closed theorem version of sbciegf 3192.) (Contributed by NM, 10-Nov-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |

Theorem | sbciegf 3192* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 14-Dec-2005.) (Revised by Mario Carneiro, 13-Oct-2016.) |

Theorem | sbcieg 3193* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 10-Nov-2005.) |

Theorem | sbcie2g 3194* | Conversion of implicit substitution to explicit class substitution. This version of sbcie 3195 avoids a disjointness condition on by substituting twice. (Contributed by Mario Carneiro, 15-Oct-2016.) |

Theorem | sbcie 3195* | Conversion of implicit substitution to explicit class substitution. (Contributed by NM, 4-Sep-2004.) |

Theorem | sbciedf 3196* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 29-Dec-2014.) |

Theorem | sbcied 3197* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |

Theorem | sbcied2 3198* | Conversion of implicit substitution to explicit class substitution, deduction form. (Contributed by NM, 13-Dec-2014.) |

Theorem | elrabsf 3199 | Membership in a restricted class abstraction, expressed with explicit class substitution. (The variation elrabf 3091 has implicit substitution). The hypothesis specifies that must not be a free variable in . (Contributed by NM, 30-Sep-2003.) (Proof shortened by Mario Carneiro, 13-Oct-2016.) |

Theorem | eqsbc3 3200* | Substitution applied to an atomic wff. Set theory version of eqsb3 2537. (Contributed by Andrew Salmon, 29-Jun-2011.) |

< Previous Next > |

Copyright terms: Public domain | < Previous Next > |