-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmath_converted.rule
More file actions
32 lines (32 loc) · 877 Bytes
/
math_converted.rule
File metadata and controls
32 lines (32 loc) · 877 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
+(?a ?b) = +(?b ?a)
*(?a ?b) = *(?b ?a)
+ ?a((+, ?b, ?c)) = +((+, ?a, ?b) ?c)
* ?a((*, ?b, ?c)) = *((*, ?a, ?b) ?c)
-(?a ?b) = + ?a((*, -1, ?b))
/(?a ?b) = * ?a((pow, ?b, -1))
+(?a 0) = ?a
*(?a 0) = 0
*(?a 1) = ?a
?a = +(?a 0)
?a = *(?a 1)
-(?a ?a) = 0
/(?a ?a) = 1
* ?a((+, ?b, ?c)) = +((*, ?a, ?b) (*, ?a, ?c))
+((*, ?a, ?b) (*, ?a, ?c)) = * ?a((+, ?b, ?c))
*((pow, ?a, ?b) (pow, ?a, ?c)) = pow ?a((+, ?b, ?c))
pow(?x 0) = 1
pow(?x 1) = ?x
pow(?x 2) = *(?x ?x)
pow(?x -1) = /(1 ?x)
* ?x((/, 1, ?x)) = 1
d(?x ?x) = 1
d ?x((+, ?a, ?b)) = +((d, ?x, ?a) (d, ?x, ?b))
d ?x((*, ?a, ?b)) = +((*, ?a, (d ?x ?b)) (*, ?b, d(?x ?a)))
d ?x((sin, ?x)) = cos(?x)
d ?x((cos, ?x)) = * -1((sin, ?x))
d ?x((ln, ?x)) = /(1 ?x)
i(1 ?x) = ?x
i((cos, ?x) ?x) = sin(?x)
i((sin, ?x) ?x) = * -1((cos, ?x))
i((+, ?f, ?g) ?x) = +((i, ?f, ?x) (i, ?g, ?x))
i((-, ?f, ?g) ?x) = -((i, ?f, ?x) (i, ?g, ?x))