Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inaccurate statement about solving equations #2814

Closed
eshmoylova opened this issue Jan 14, 2021 · 4 comments · Fixed by #2890
Closed

Inaccurate statement about solving equations #2814

eshmoylova opened this issue Jan 14, 2021 · 4 comments · Fixed by #2890
Labels
bug Something isn't working

Comments

@eshmoylova
Copy link
Member

In Chapter 8 Equations in the introductory paragraph, there the following statement:

In contrast to a statement in an algorithm section, an equation does not define for which of its variable it is to be solved.

It is not an accurate statement. For example, in when-equations the left-hand side determines which variable the equation should be solved for. Similarly, the declaration equations should be solved for the variable that is declared by the declaration.

I noticed that while reviewing #2788.

@henrikt-ma
Copy link
Collaborator

Without entering the debate regarding declaration equations, I also react against the statement that an algorithm would define with respect to which variables it will be solved.

@HansOlsson
Copy link
Collaborator

The obvious solution would be to just remove it, but ideally we should preserve the intent.

In contrast to a statement in an algorithm section, a normal equation do not define which variable is computed from it.

Using "compute" instead of "solve" as both algorithms and equations can be solved for other variables, but it seems accurate to say that an algorithm x:=y+2; computes x even if we together with equation x=2*y; solve for x and y.
Using normal equation to ignore when-equation, binding equation etc. (I'm aware that initial equations are similar, but ignoring that.)

@henrikt-ma
Copy link
Collaborator

I find the words compute and solve too close to be a useful distinction here. If the text would say compute regarding a variable in an equation, I'd probably read that as solving for that variable, and then the reading becomes dangerously close to what we currently have. I'm not sure there is any intent here really worth preserving.

@eshmoylova
Copy link
Member Author

I agree with @henrikt-ma that compute and solve are too close. I am not sure if it is easy to express the difference between the equations and algorithms concisely without adding a whole bunch of except.... One clear difference is that algorithm determines the order in which statements are executed. The order of equations can be changed in order to solve them. The problematic sentence was not there in 3.4. So maybe it would be fine to omit it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants