From: SourceForge.net <noreply@so...>  20040227 13:54:36

Bugs item #531469, was opened at 20020318 13:18 Message generated for change (Comment added) made by lemire You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=531469&group_id=4933 >Category: Documentation Group: None Status: Open Resolution: Invalid Priority: 5 Submitted By: Daniel Lemire (lemire) Assigned to: Nobody/Anonymous (nobody) Summary: need better documentation for "assume" Initial Comment: Maxima allows for the following very powerful syntax... (C1) (assume (y>1), integrate(x*log(x),x,1,y)); 2 2 2 y LOG(y)  y 1 (D1)  +  4 4 However, the documentation is lacking: Info from file /usr/local/info/maxima.info:  Fonction: ASSUME (pred1, pred2, ...) First checks the specified predicates for redundancy and consistency with the current data base. If the predicates are consistent and nonredundant, they are added to the data base; if inconsistent or redundant, no action is taken. ASSUME returns a list whose entries are the predicates added to the data base and the atoms REDUNDANT or INCONSISTENT where applicable. (D3) FALSE  >Comment By: Daniel Lemire (lemire) Date: 20040227 08:41 Message: Logged In: YES user_id=73205 Two things are lacking: 1) assume is poorly explained or maybe implemented (?). You say it isn't local... right... then if I do assume(y>0); followed by assume(x>0); I would expect the system to know x>0 and y>0. It doesn't. As far as I can tell, each call to assume reset the set of assumptions to whatever you provide. The documentation mention something about the "current database". I think "assume" clears this database or ignores it. (C2) assume(y>0); (D2) [y > 0] (C3) assume(x>0); (D3) [x > 0] (C4) (In D3, I would expect [x>0,y>0] or something similar.) 2) You are damn good if you can know from the documentation that "(a,b,c) evaluates a then b then c, and returns the value of c." But that's good to know. I would like to see that much written up about it... Here's what I get from "Introduction to Expressions"... """ Most things in MAXIMA are expressions. A sequence of expressions can be made into an expression by separating them by commas and putting parentheses around them. This is similar to the C comma expression.""" I guess I'm supposed to understand that "C comma" means... what... the C language?  Comment By: Daniel Lemire (lemire) Date: 20040227 08:40 Message: Logged In: YES user_id=73205 Two things are lacking: 1) assume is poorly explained or maybe implemented (?). You say it isn't local... right... then if I do assume(y>0); followed by assume(x>0); I would expect the system to know x>0 and y>0. It doesn't. As far as I can tell, each call to assume reset the set of assumptions to whatever you provide. The documentation mention something about the "current database". I think "assume" clears this database or ignores it. (C2) assume(y>0); (D2) [y > 0] (C3) assume(x>0); (D3) [x > 0] (C4) (In D3, I would expect [x>0,y>0] or something similar.) 2) You are damn good if you can know from the documentation that "(a,b,c) evaluates a then b then c, and returns the value of c." But that's good to know. I would like to see that much written up about it... Here's what I get from "Introduction to Expressions"... """ Most things in MAXIMA are expressions. A sequence of expressions can be made into an expression by separating them by commas and putting parentheses around them. This is similar to the C comma expression.""" I guess I'm supposed to understand that "C comma" means... what... the C language?  Comment By: Stavros Macrakis (macrakis) Date: 20040223 19:11 Message: Logged In: YES user_id=588346 What exactly do you think is lacking in this documentation? You talk about the "syntax"  do you mean the comma syntax (xxx, yyy)? That is not specific to assume  and beware, the assumptions are NOT local! The comma syntax is documented under "Introduction to Expressions": >>>>> A sequence of expressions can be made into an expression by separating them by commas and putting parentheses around them. This is similar to the C comma expression. <<<<< In other words, (a,b,c) evaluates a then b then c, and returns the value of c.  You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=531469&group_id=4933 