eval(I,I):-integer(I).<p>eval(E1+E2,I):- eval(E1,I1),eval(E2,I2), I is I1+I2.<p>eval(E1<i>E2,I):- eval(E1,I1),eval(E2,I2), I is I1</i>I2.<p>:- eval(1<i>2+3</i>4,R),writeln(R),R=14.<p>:- halt.<p>Very simple Operational Semantics.<p>this mean<p>syntax<p>e ::= i | e+e | e * e<p>evaluation rule<p>-------------- (E-Int)<p>i1-->i1<p>e1-->i1 e2-->i2<p>i is i1+i2<p>------------------- (E-Plus)<p>e1+e2 --> i<p>e1-->i1 e2-->i2<p>i is i1<i>i2<p>------------------- (E-Times)<p>e1*e2 --> i</i>