Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Well_founded Recursion and proofs

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Well_founded Recursion and proofs


chronological Thread 
  • From: David Pichardie <david.pichardie AT irisa.fr>
  • To: David.pichardie AT irisa.fr
  • Cc: coq-club AT pauillac.inria.fr
  • Subject: Re: [Coq-Club] Well_founded Recursion and proofs
  • Date: Tue, 12 Mar 2002 16:16:47 +0100
  • Organization: IRISA, Campus de Beaulieu, 35042 Rennes Cedex, FRANCE

J'ai trouvé un début de solution dans le module Coq.Init.Wf.

Désolé pour le dérangement.

Pour information :

Require Peano_dec.
Require Arith.

Axiom lemme_dec : (n:nat) ~n=(0) -> (lt (minus n (1)) n).

Fixpoint F [n:nat; H:(Acc nat lt n)] :nat :=
  if (eq_nat_dec n (0)) then [p](0)
                        else [p](F (minus n (1)) (Acc_inv nat lt n H (minus
n (1)) (lemme_dec n p))).

Axiom wf_nat : (well_founded nat lt).

Scheme Acc_inv_dep := Induction for Acc Sort Prop.

Lemma F_eq : (n:nat)(H:(Acc nat lt n))
  (if (eq_nat_dec n (0)) then [p](0)
                        else [p](F (minus n (1)) (Acc_inv nat lt n H (minus
n (1)) (lemme_dec n p))))
  =   (F n H).
Intros n H.
Elim H using Acc_inv_dep.
Intros.
Simpl.
Auto.
Qed.

Theorem F0_is_0 : (F (0) (wf_nat (0)))=(0).
Case (F_eq (0) (wf_nat (0))).
Simpl.
Reflexivity.
Qed.


-------------------
To unsubscribe, mail 
coq-club-request AT pauillac.inria.fr
Bug reports: http://coq.inria.fr/bin/coq-bugs
Coq-Club Archives: http://coq.inria.fr/mailing-lists/coqclub/




Archive powered by MhonArc 2.6.16.

Top of Page