I have the following Definition in my spec file in Coq. I need to have a proposition comparing two "int" type values. These two are 't' and 'Int.repr (i.(period1))'.(i.period1) and (i.period2) have type 'Z'.
This is my code snippet:
Definition trans_uni_r_reject (i: invariant) (om os: block) (rid roff rval t: int) (m: mem) :=
( t > (Int.repr (i.(period1)))
/\ t < (Int.repr (i.(period2)))
/\ master_eval_reject i om os rid roff rval m).
This gives me the error below:
The term "t" has type "int" while it is expected to have type "Z".
I also tried:
(Int.cmpu Cgt t (Int.repr (i.(period1))))
/\ (Int.cmpu Clt t (Int.repr (i.(period2))))
/\ (master_eval_reject i om os rid roff rval m).
but it gives me this error:
The term "Int.cmpu Cgt t (Int.repr (period1 i))" has type "bool" while it is expected to have type "Prop".
Is there any way I can compare these two 'int' types or convert them to something else and return 'prop' type?
Thanks,