I am doing a research project on the automation of mathematics, we need free software, so far the most complete is Xcas,
since Geogebra does not include the language of the Xcas and not all commands
I think for the Xcas GUI, this needs a new menu about (I/O), to manipulate the expression of inputs / outputs in the history.
The following statements are input instructions to solve a simple system of two equations by substitution,
trying to do the steps that a human does, without storing the expressions in identifiers,
Code : Tout sélectionner
[ y = x^2, y = 2*x + 3 ]
subst((ans(-1)(2)),ans(-1)(1))
ans(-1) - (2*x + 3)
factor(ans(-1))
[ part(left(ans(-1)),1)=0, part(left(ans(-1)),2)=0 ]
[ans(-1)(1)+3, ans(-1)(2)-1 ]
subst(ans(-6)(1),ans(-1)(1))
subst(ans(-7)(2),ans(-2)(1))
subst(ans(-8)(1),ans(-3)(2))
subst(ans(-9)(1),ans(-4)(2))
subst(ans(-10)(1),[ans(-5)(1),ans(-4)])
evalb(ans(-1))
subst(ans(-12)(1),[ans(-7)(2),ans(-3)])
evalb(ans(-1))
To facilitate the drafting of documents requires the following
i: I/O menu
ia: export the input to unicode text format
ib: option and export and copy with the numbering of the lines
Code : Tout sélectionner
1:[ y = x^2, y = 2*x + 3 ]
2:subst((ans(-1)(2)),ans(-1)(1))
3:ans(-1) - (2*x + 3)
4:factor(ans(-1))
5:[ part(left(ans(-1)),1)=0, part(left(ans(-1)),2)=0 ]
6:[ans(-1)(1)+3, ans(-1)(2)-1 ]
7:subst(ans(-6)(1),ans(-1)(1))
8:subst(ans(-7)(2),ans(-2)(1))
9:subst(ans(-8)(1),ans(-3)(2))
10:subst(ans(-9)(1),ans(-4)(2))
11:subst(ans(-10)(1),[ans(-5)(1),ans(-4)])
12:evalb(ans(-1))
13:subst(ans(-12)(1),[ans(-7)(2),ans(-3)])
14:evalb(ans(-1))
Code : Tout sélectionner
1:[ y = x^2, y = 2*x + 3 ]
[y=(x^2),y=(2*x+3)]
2:subst((ans(-1)(2)),ans(-1)(1))
x^2=(2*x+3)
3:ans(-1) - (2*x + 3)
x^2-2*x-3=0
4:factor(ans(-1))
(x-3)*(x+1)=0
...
I think this way ANSWER(+#) of calling an sentence is more intuitive, than form ANS(-#)
Code : Tout sélectionner
1:[ y = x^2, y = 2*x + 3 ]
2:subst((answer(1)(2)),answer(1)(1))
3:answer(2) - (2*x + 3)
4:factor(answer(3))
5:[ part(left(answer(4)),1)=0, part(left(answer(4)),2)=0 ]
6:[answer(5)(1)+3, answer(5)(2)-1 ]
7:subst(answer(1)(1),answer(6)(1))
..
Finally, it is very useful that sentences are executed line by line as does geogebra so that students see the sequential process instead of showing a whole, this requires a simple menu bar with [>] [||] and the field wait time between sentences
Thanks