Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Can I use this nonempty inductive type in a fixpoint (without declaring variable that will lead to an axiom) ?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Can I use this nonempty inductive type in a fixpoint (without declaring variable that will lead to an axiom) ?


chronological Thread 
  • From: Adam Chlipala <adam AT chlipala.net>
  • To: Georgi Guninski <guninski AT guninski.com>
  • Cc: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Can I use this nonempty inductive type in a fixpoint (without declaring variable that will lead to an axiom) ?
  • Date: Thu, 19 May 2011 10:19:26 -0400

Georgi Guninski wrote:
Can I use this inductive type in a fixpoint (without declaring variable that 
will lead to an axiom) ?

Inductive anything : Prop := d: (False->anything).

Yes, you can certainly write a [Fixpoint] definition over this type. It will have to be a degenerate fixpoint with no recursive calls, since your type definition is not recursive.

can i make a fixpoint of the sort:
Fixpoint fi1(a : True) : anything

If you can, you've found a bug in Coq, since it can be proved that no function of that type exists.

Lemma anything_False : anything -> False.
  destruct 1; auto.
Qed.

Hint Immediate anything_False.

Goal ~(True -> anything).
  intuition.
Qed.

"anything" appears not empty.

[anything_False] above establishes that [anything] is, in fact, empty.



Archive powered by MhonArc 2.6.16.

Top of Page