Hi Aaron,

I have made updates to the initial draft as suggested. Kindly take a look 
at it.

Thanks, 
Shubham

On Tuesday, April 2, 2019 at 6:13:52 AM UTC+5:30, [email protected] wrote:
>
> Hi Aaron, 
>
> Thanks for replying. I am still researching on SMT solvers and possible 
> approaches of implementing one such solver. I will update my proposal very 
> soon. 
>
> Shubham
>
> On Tuesday, April 2, 2019 at 1:14:59 AM UTC+5:30, Aaron Meurer wrote:
>>
>> On Thu, Mar 14, 2019 at 9:57 PM <[email protected]> wrote: 
>> > 
>> > 
>> > I would like if mentors give suggestions about the course of action I 
>> should take and the improvements I should make in the proposal. The project 
>> is huge and for the past few days, I have been going to and from between 
>> core modules and assumptions module. I have some questions : 
>> > 
>> > Why do we need to have two different sets of assumptions? 
>> > 
>> > This is ambiguous. Just Consider 
>> > 
>> > 
>> > 
>> > 
>> > 
>> > >>> oo.is_real 
>> > True 
>> > >>> ask(Q.real(oo)) 
>> > False 
>> > >>> 
>> > 
>> > Also since the new assumptions are sometimes calling the old 
>> assumptions, the above can create more difficulties. Isn't the idea for new 
>> assumptions has been to scrape off the old assumptions? 
>>
>> Yes, the consistency is an issue. I think main problem is whether 
>> real/positive/etc. include oo or not. There has been a lot of 
>> discussion about this (see https://github.com/sympy/sympy/pull/2538). 
>> It will need to be cleaned up before we can truly merge the two. 
>>
>> I think the old assumptions syntax should be kept, because it is 
>> convenient, and has been around for a long time. But some things are 
>> only expressible with the new assumptions. There are also things like 
>> the matrix expressions which exclusively use the new assumptions, and 
>> they should be kept like that. 
>>
>> > 
>> > My present plan for my course of actions is: 
>> > 
>> > Improve SAT solvers speed:- I am currently researching for SAT solving 
>> algorithms and since SymPy is a closed system (i.e. the Inference rules 
>> would be fixed) we can have a pre-compiled Inference Network ( or such a 
>> Data structure) which would provide speed to SymPy's SAT solvers. 
>> > Old assumptions would call the new assumptions. 
>>
>> I think we need to significantly improve the performance of the new 
>> assumptions before this can happen. Right now old assumptions are 
>> called all over the place in SymPy, and if they got slower it would 
>> affect the performance of virtually every SymPy operation. 
>>
>> Regarding your application, I would add more details about how SMT 
>> would work, as well as about the relational assumptions, particularly 
>> how you would be able to do useful inferences with relational 
>> assumptions. 
>>
>> Aaron Meurer 
>>
>> > 
>> > But old and new assumptions differ. Should they be left as they are? 
>> Please suggest. 
>> > 
>> > Thanks. 
>> > 
>> > On Monday, March 11, 2019 at 11:37:43 AM UTC+5:30, [email protected] 
>> wrote: 
>> >> 
>> >> Hello everyone, 
>> >> 
>> >> I am Shubham Kumar Jha, a pre-final year Undergraduate student in 
>> C.S.E. from NIT Agartala (India). I am participating in GSoC 2019 under 
>> SymPy. I went through the ideas page of GSoC 2019 and found the Assumptions 
>> project to be both appealing and exciting to me. I want to work on it. I 
>> have gone through much of the literature on Assumptions and still reading 
>> them. The project is huge and I still need to make a clear note of the 
>> amount of work done and not done. But following are some tasks I would want 
>> to work on: 
>> >> 
>> >> Add support for Relational expressions: Currently, Assumptions doesn't 
>> support relational expressions. I would extend the capabilities of 
>> Assumptions. It would also help in other parts of the project. 
>> >> Convert handlers to their relational equivalents: While working on 
>> some handlers I found handlers in particular are not very powerful or 
>> expandable. With added support for Relational expressions, we can convert 
>> handlers to their relational equivalents. In this way, we can save much of 
>> the predicates since inferences on Relationals would be enough for most of 
>> them. Also, it would make them easily expandable. 
>> >> Increase the capabilities of SAT solver: Aaron Meurer(@asmeurer) has 
>> already done so much work in it (which I still need to go through). I would 
>> try to extend its capabilities and speed it up. Currently, I am having 
>> Logical Inference as one of my subjects this semester which heavily 
>> utilizes CLIPS. I would look into CLIPS or other better alternatives if I 
>> can mimic their functionalities. 
>> >> Work on global assumptions: As suggested by Sudhanshu 
>> Mishra(@debugger22) we can add assumptions into the global scope with their 
>> scope numbers and purge them during garbage collection. I support the 
>> approach with context manager but I think the addition of this capability 
>> will also be good. 
>> >> 
>> >> I am still going through the works done in Assumptions and would draft 
>> a refined proposal over this and the suggestions I receive. Also, I would 
>> create the timeline accordingly. I know the project is very huge therefore 
>> I would like if some mentors can guide me into specifics that heavily 
>> require work now. 
>> >> 
>> >> I have no commitments for this summer and I am able to devote my full 
>> time to SymPy. I have been a part of the community for the past 3-4 months 
>> and I understand SymPy's codebase pretty well. Hence, I don't need time to 
>> get familiarize with it. Also, before the beginning of the coding period, I 
>> would have gone through Assumptions mechanism. I would start working on my 
>> project from the very beginning. Since the project is huge my main target 
>> would be to bring the assumptions upfront so more work would be done in 
>> this field. Also, I won't stop working after GSoC. I will complete whatever 
>> I would start. 
>> >> 
>> >> Thank You, 
>> >> Shubham Kumar Jha 
>> >> @ShubhamKJha 
>> > 
>> > -- 
>> > 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 post to this group, send email to [email protected]. 
>> > Visit this group at https://groups.google.com/group/sympy. 
>> > To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/sympy/176c7a47-b700-480d-b0a5-cf316af7edf7%40googlegroups.com.
>>  
>>
>> > For more options, visit https://groups.google.com/d/optout. 
>>
>

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/071b2ffb-e216-4bed-8302-5b3b5884f768%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to