On Wed, Nov 4, 2009 at 8:35 AM, Vincent D <20100.delecr...@gmail.com> wrote: > > I understand now (and agree on) the design: sqrt(2) is symbolic and > any sage expression containing a symbolic expression is also symbolic. > But, considering the non comparison, it seems to give a set theoritic > contradiction: > > sage: sqrt(2) in RR > True
You might find the relevant source code that implements Sage's general "in" of interest: def __contains__(self, x): r""" True if there is an element of self that is equal to x under ==, or if x is already an element of self. Also, True in other cases involving the Symbolic Ring, which is handled specially. For many structures we test this by using :meth:`__call__` and then testing equality between x and the result. The Symbolic Ring is treated differently because it is ultra-permissive about letting other rings coerce in, but ultra-strict about doing comparisons. EXAMPLES:: sage: 2 in Integers(7) True sage: 2 in ZZ True sage: Integers(7)(3) in ZZ True sage: 3/1 in ZZ True sage: 5 in QQ True sage: I in RR False sage: SR(2) in ZZ True sage: RIF(1, 2) in RIF True sage: pi in RIF # there is no element of RIF equal to pi False sage: sqrt(2) in CC True sage: pi in RR True sage: pi in CC True sage: pi in RDF True sage: pi in CDF True """ P = parent_c(x) if P is self or P == self: return True try: x2 = self(x) EQ = (x2 == x) if EQ is True: return True elif EQ is False: return False elif EQ: return True else: from sage.symbolic.expression import is_Expression if is_Expression(EQ): # if comparing gives an Expression, then it must be an equation. # We return *true* here, even though the equation # EQ must have evaluated to False for us to get to # this point. The reason is because... in practice # SR is ultra-permissive about letting other rings # coerce in, but ultra-strict about doing # comparisons. return True return False except (TypeError, ValueError): return False > > And RR is an ordered field. > > I think it goes in the same direction as the question asked by Gonzalo > on SR(1) + SR(2). > > > -- William Stein Associate Professor of Mathematics University of Washington http://wstein.org --~--~---------~--~----~------------~-------~--~----~ To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---