proposition: Lemma incr_decomp_aux : forall f g : fmon natO U, forall n1 n2, (forall m, ~ ((n1<=m)%nat /\ f n1 <= g m)) -> (forall m, ~((n2<=m)%nat /\ g n2<= f m)) -> (n1<=n2)%nat -> False.
proof: Proof. intros; assert (absurd:~ g n2 < g n2); auto. assert ( ~ (f n1 <= g n2)). apply not_and_elim_left with (1:= H n2); auto. assert ( ~ (g n2 <= f n2)); auto. apply not_and_elim_left with (1:= H0 n2); auto. apply absurd; apply Ult_le_trans with (f n1); auto. apply Ole_trans with (f n2); auto. Qed.
imports: ALEA(Utheory)