aboutsummaryrefslogtreecommitdiff
path: root/plugins/micromega/ZifyInst.v
diff options
context:
space:
mode:
authorMaxime Dénès2020-01-17 16:01:01 +0100
committerMaxime Dénès2020-01-17 16:01:01 +0100
commit55ded80878d47037e49ca9b60f89c422d184899f (patch)
tree02e48ab2cf70b11bc986c6af15d26825812773fe /plugins/micromega/ZifyInst.v
parent0c86e644ef80824f45c5dff078fb3a7f58ec02a8 (diff)
parent97bec684eb514700879778c0da9b05e4264a99f6 (diff)
Merge PR #11362: Lia bugfix 11191
Reviewed-by: maximedenes
Diffstat (limited to 'plugins/micromega/ZifyInst.v')
-rw-r--r--plugins/micromega/ZifyInst.v19
1 files changed, 19 insertions, 0 deletions
diff --git a/plugins/micromega/ZifyInst.v b/plugins/micromega/ZifyInst.v
index 97f6fe0613..edfb5a2a94 100644
--- a/plugins/micromega/ZifyInst.v
+++ b/plugins/micromega/ZifyInst.v
@@ -523,3 +523,22 @@ Instance SatProdPos : Saturate Z.mul :=
SatOk := Z.mul_pos_pos
|}.
Add Saturate SatProdPos.
+
+Lemma pow_pos_strict :
+ forall a b,
+ 0 < a -> 0 < b -> 0 < a ^ b.
+Proof.
+ intros.
+ apply Z.pow_pos_nonneg; auto.
+ apply Z.lt_le_incl;auto.
+Qed.
+
+
+Instance SatPowPos : Saturate Z.pow :=
+ {|
+ PArg1 := fun x => 0 < x;
+ PArg2 := fun y => 0 < y;
+ PRes := fun r => 0 < r;
+ SatOk := pow_pos_strict
+ |}.
+Add Saturate SatPowPos.