@@ -947,6 +947,7 @@ class Less(val p0: Term, val p1: Term) extends ComparisonTerm
947947object Less extends /* OptimisingBinaryArithmeticOperation with */ ((Term , Term ) => Term ) {
948948 def apply (e0 : Term , e1 : Term ) = (e0, e1) match {
949949 case (IntLiteral (n0), IntLiteral (n1)) => if (n0 < n1) True () else False ()
950+ case (pl0 : PermLiteral , pl1 : PermLiteral ) => if (pl0.literal < pl1.literal) True () else False ()
950951 case (t0, t1) if t0 == t1 => False ()
951952 case _ => new Less (e0, e1)
952953 }
@@ -963,6 +964,7 @@ class AtMost(val p0: Term, val p1: Term) extends ComparisonTerm
963964object AtMost extends /* OptimisingBinaryArithmeticOperation with */ ((Term , Term ) => Term ) {
964965 def apply (e0 : Term , e1 : Term ) = (e0, e1) match {
965966 case (IntLiteral (n0), IntLiteral (n1)) => if (n0 <= n1) True () else False ()
967+ case (pl0 : PermLiteral , pl1 : PermLiteral ) => if (pl0.literal <= pl1.literal) True () else False ()
966968 case (t0, t1) if t0 == t1 => True ()
967969 case _ => new AtMost (e0, e1)
968970 }
@@ -979,6 +981,7 @@ class Greater(val p0: Term, val p1: Term) extends ComparisonTerm
979981object Greater extends /* OptimisingBinaryArithmeticOperation with */ ((Term , Term ) => Term ) {
980982 def apply (e0 : Term , e1 : Term ) = (e0, e1) match {
981983 case (IntLiteral (n0), IntLiteral (n1)) => if (n0 > n1) True () else False ()
984+ case (pl0 : PermLiteral , pl1 : PermLiteral ) => if (pl0.literal > pl1.literal) True () else False ()
982985 case (t0, t1) if t0 == t1 => False ()
983986 case _ => new Greater (e0, e1)
984987 }
@@ -995,6 +998,7 @@ class AtLeast(val p0: Term, val p1: Term) extends ComparisonTerm
995998object AtLeast extends /* OptimisingBinaryArithmeticOperation with */ ((Term , Term ) => Term ) {
996999 def apply (e0 : Term , e1 : Term ) = (e0, e1) match {
9971000 case (IntLiteral (n0), IntLiteral (n1)) => if (n0 >= n1) True () else False ()
1001+ case (pl0 : PermLiteral , pl1 : PermLiteral ) => if (pl0.literal >= pl1.literal) True () else False ()
9981002 case (t0, t1) if t0 == t1 => True ()
9991003 case _ => new AtLeast (e0, e1)
10001004 }
0 commit comments