Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- % Autor: %AUTHOR%
- % Datum: %DATE%
- a(X+0,X) :- !.
- a(0+X,X) :- !.
- a(X+X,Y) :- integer(X), integer(Y), Y is X+X, !.
- a(X+Y,Z) :- integer(X), integer(Y), Z is X+Y, !.
- a(X+Y,X+Y) :- !.
- s(X-0,X) :- !.
- s(0-X,Y) :- integer(X), integer(Y), Y is -X, !.
- s(X-X,0) :- !.
- s(X-Y,Z) :- integer(X), integer(Y), Z is X-Y, !.
- s(X-Y,X-Y) :- !.
- m(0*X,0) :- !.
- m(X*0,0) :- !.
- m(1*X,X) :- !.
- m(X*1,X) :- !.
- m(X*Y,V):- integer(X), integer(Y), V is X*Y, !.
- m(X*Y,X*Y) :- !.
- a(Y+X+Z,V):- integer(Y), integer(Z), a(Y+Z,W), a(W+X,V), !.
- m(Y*X*Z,V):- integer(Y), integer(Z), m(Y*Z,W), m(W*X,V), !.
- vereinfacht(T,T):- atomic(T).
- vereinfacht(T,V):- T=L*R,
- vereinfacht(L,L1),
- vereinfacht(R,R1),
- m(L1*R1,V).
- vereinfacht(T,V):- T=L*R*M,
- vereinfacht(L,L1),
- vereinfacht(R,R1),
- vereinfacht(M,M1),
- m(L1*R1*M1,V).
- vereinfacht(T,V):- T=L+R,
- vereinfacht(L,L1),
- vereinfacht(R,R1),
- a(L1+R1,V).
- vereinfacht(T,V):- T=L-R,
- vereinfacht(L,L1),
- vereinfacht(R,R1),
- s(L1-R1,V).
Add Comment
Please, Sign In to add comment