The problem is that this returns an Eq instead of False when it is not 
equal:
```
>>> f = lambda x: x == 1
>>> F = Lambda(x, f(SymbolicEquality(x)))
>>> F(1)
True
>>> F(x)
Eq(x, 1)
>>> f(x)
False
```

On Tuesday, September 28, 2021 at 1:42:27 AM UTC-5 Oscar wrote:

> On Tue, 28 Sept 2021 at 04:13, Chris Smith <[email protected]> wrote:
>
>> I would like to emulate something like this with Basic objects. I am 
>> drawing a blank on how that might be done. Does anyone have any ideas?
>> >>> f=lambda x: x==1 
>> >>> f(1) 
>> True 
>> >>> Lambda(x, f(x))(1) # doesn't work 
>> False
>>
>
> Something like this:
>
> In [7]: cat w.py
> class SymbolicEquality:
>     def __init__(self, sym):
>         self.sym = sym
>     def __eq__(self, other):
>         return Equality(self.sym, other)
>
> In [8]: f = lambda x: x == 1
>
> In [9]: y = Dummy('y')
>
> In [10]: F = Lambda(y, f(SymbolicEquality(y)))
>
> In [11]: F
> Out[11]: y ↦ y = 1
>
> --
> Oscar
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/13d15197-0d82-4312-b94a-ec59df616aedn%40googlegroups.com.

Reply via email to