On Well Founded sets and the Axiom of Choice
First, build a context with classical logic and assume the Axiom of
Require Import Classical.
Axiom functional_choice : forall (A:Set)(S:A->A->Prop),
(forall x, exists y, S x y )->
exists f, forall x, S x (f x).
Prove the following theorem:
: forall (A : Set) (R : A -> A -> Prop),
~ well_founded R ->
exists f : nat -> A, (forall n : nat, R (f (S n)) (f n))
Look also at that exercise
The Axiom of Functional Choice is presented on Coq's FAQ
(in Coq's documentation ).
Look at the section "The Logic of Coq : Axioms".
Look at this file .