aboutsummaryrefslogtreecommitdiff
path: root/plugins
diff options
context:
space:
mode:
authorKazuhiko Sakaguchi2019-09-20 18:58:51 +0200
committerKazuhiko Sakaguchi2019-09-24 00:25:15 +0200
commite7b83e2a07fffaba0b19c62ef1a02c40d6ef603a (patch)
tree64daeb1e336ff86934cc5b529d9d6926ed8bfad8 /plugins
parentdc690e7067aa91a05472b5d573cb463223ef4dec (diff)
Make `zify` does work for `Z.to_N`
Diffstat (limited to 'plugins')
-rw-r--r--plugins/micromega/ZifyInst.v4
1 files changed, 4 insertions, 0 deletions
diff --git a/plugins/micromega/ZifyInst.v b/plugins/micromega/ZifyInst.v
index 3c44113604..1217e8a5f7 100644
--- a/plugins/micromega/ZifyInst.v
+++ b/plugins/micromega/ZifyInst.v
@@ -172,6 +172,10 @@ Program Instance Op_Z_of_N : UnOp Z.of_N :=
{ TUOp := (fun x => x) ; TUOpInj := fun x => eq_refl (Z.of_N x) }.
Add UnOp Op_Z_of_N.
+Instance Op_Z_to_N : UnOp Z.to_N :=
+ { TUOp := fun x => Z.max 0 x ; TUOpInj := ltac:(now intro x; destruct x) }.
+Add UnOp Op_Z_to_N.
+
Instance Op_Z_neg : UnOp Z.neg :=
{ TUOp := Z.opp ; TUOpInj := (fun x => eq_refl (Zneg x))}.
Add UnOp Op_Z_neg.