Library power_ind

Require Export Even.
Require Export Div2.
Require Export Wf_nat.

Require Export ZArith.

Require Export lemmas.

Section power_induction.
Variable P:nat->Prop.
Variable h0:forall n:nat, n=0 -> (P n).
Variable h1:forall n:nat, 0<n -> (even n) -> (P (div2 n)) -> (P n).
Variable h2:forall n:nat, 0<n -> (odd n) -> (P (n-1)) -> (P n).

Definition F :
  forall n : nat, forall g : (forall m : nat, m < n -> (P m)), (P n).
intros n g.
case (zerop n).
intros h; apply h0; apply h.

intros h'.
case (even_odd_dec n).
intros Heven.
apply h1.
apply h'.
apply Heven.
apply g.
apply lt_div2.
apply h'.
intros Hodd.
apply h2.
apply h'.
apply Hodd.
apply g.
apply lt_minus_1.
apply h'.
Defined.

Definition power_ind :=
  (well_founded_induction_type lt_wf P F).
End power_induction.

power_ind
     : forall P : nat -> Prop,
       (forall n : nat, n = 0 -> P n) ->
       (forall n : nat, 0 < n -> even n -> P (div2 n) -> P n) ->
       (forall n : nat, 0 < n -> odd n -> P (n - 1) -> P n) ->
       forall a : nat, P a




Index
This page has been generated by coqdoc