Functional Scheme Qpositive_i_ind := Induction for Qpositive_i Sort Prop.

(* Specifications: *)
Lemma Qpositive_i_nR_with_let :
forall w : Qpositive,
let (p, q) := Qpositive_i w in Qpositive_i (nR w) = (p + q, q).
Lemma Qpositive_i_nR :
forall (w : Qpositive) (p q : nat),
Qpositive_i w = (p, q) -> Qpositive_i (nR w) = (p + q, q).
Lemma Qpositive_i_c :
forall m p : nat,
0 < m -> S m <= p -> Qpositive_i (Qpositive_c m 1 p) = (m, 1).
Lemma Qpositive_c_equal :
forall m n p p' : nat,
0 < m ->
0 < n -> m + n <= p -> m + n <= p' -> Qpositive_c m n p = Qpositive_c m n p'.
Lemma Qpositive_c_equal_strong :
forall m1 m2 n1 n2 p1 p2 : nat,
m1 = m2 ->
n1 = n2 ->
0 < m1 ->
0 < n1 ->
m1 + n1 <= p1 ->
m2 + n2 <= p2 -> Qpositive_c m1 n1 p1 = Qpositive_c m2 n2 p2.