Library Stdlib.micromega.ZifyInst
From Stdlib Require Import BinInt BinNat Znat Nnat.
From Stdlib Require Import ZifyClasses.
#[
local]
Open Scope Z_scope.
Ltac refl :=
abstract (
intros ;
match goal with
| |-
context[@
inj _ _ ?
X] =>
unfold X,
inj
end ;
reflexivity).
#[
global]
Instance Inj_Z_Z :
InjTyp Z Z :=
mkinj _ _ (
fun x =>
x) (
fun x =>
True ) (
fun _ =>
I).
Add Zify InjTyp Inj_Z_Z.
Support for nat
Support for positive
Support for Z - injected to itself
Specification of derived operators over Z
Saturate positivity constraints