Definition lter_expr := (lter_iexpr, lter_eexpr).

(* Specifications: *)
Lemma ler_wiexpn2l x :
0 <= x -> x <= 1 -> {homo (GRing.exp x) : m n / (n <= m)%N >-> m <= n}.
Lemma ler_weexpn2l x :
1 <= x -> {homo (GRing.exp x) : m n / (m <= n)%N >-> m <= n}.
Lemma ieexprn_weq1 x n : 0 <= x -> (x ^+ n == 1) = ((n == 0%N) || (x == 1)).
Lemma ieexprIn x : 0 < x -> x != 1 -> injective (GRing.exp x).
Lemma ler_iexpn2l x :
0 < x -> x < 1 -> {mono (GRing.exp x) : m n / (n <= m)%N >-> m <= n}.
Lemma ltr_iexpn2l x :
0 < x -> x < 1 -> {mono (GRing.exp x) : m n / (n < m)%N >-> m < n}.
Lemma ltr_eexpn2l x :
1 < x -> {mono (GRing.exp x) : m n / (m < n)%N >-> m < n}.
Lemma ler_expn2r n : {in nneg & , {homo ((@GRing.exp R)^~ n) : x y / x <= y}}.
Definition lter_expn2r := (ler_expn2r, ltr_expn2r).
Lemma ltr_wpexpn2r n :
(0 < n)%N -> {in nneg & , {homo ((@GRing.exp R)^~ n) : x y / x < y}}.
Lemma ltr_pexpn2r n :
(0 < n)%N -> {in nneg & , {mono ((@GRing.exp R)^~ n) : x y / x < y}}.