On Jan 30, 2:49 pm, "Mike Hansen" <[EMAIL PROTECTED]> wrote:
[...]
> name. Also, there are functions in Python which have similar
> functionality.
>
> sage: l = [1,2,3]
> sage: any([i == 2 for i in l])
> True
> sage: all([i == 2 for i in l])
> False

That's instructive. In that case, forall and exists should probably
have their help extended by a pointer that if a witness is not
required, the user should type:

any(P(s) for s in S)

or

all(P(s) for s in S)

That's actually a nicer syntax anyway and it would be a shame if
people keep hobbling along with forall and exists when there is a much
nicer option. (I got a tab completion hit on "forall" and "exists" and
assumed those were the right functions to use. They are often not).
That teaches me to *not* write patches :-)


> On Jan 30, 2008 2:45 PM, Nils Bruin <[EMAIL PROTECTED]> wrote:
>
>
>
> > Presently, because forall and exists return tuples rather than
> > booleans, their return value is always True, so they cannot be used as
> > a predicate, which is very unintuitive given their names. Proposed
> > solution: optional parameter witness (default: False) that determines
> > return value type.
>
> > Ticket (has patch)
>
> >http://trac.sagemath.org/sage_trac/attachment/ticket/1987
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to