coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Gaetan Gilbert <gaetan.gilbert AT ens-lyon.fr>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Question about inhabited
- Date: Fri, 28 Apr 2017 23:34:45 +0200
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=gaetan.gilbert AT ens-lyon.fr; spf=Neutral smtp.mailfrom=gaetan.gilbert AT ens-lyon.fr; spf=None smtp.helo=postmaster AT labbe.ens-lyon.fr
- Ironport-phdr: 9a23:GX6MbBFBGYL1SDxvd2wFlJ1GYnF86YWxBRYc798ds5kLTJ78r8uwAkXT6L1XgUPTWs2DsrQf2raQ6/iocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbQhFgDWwbaluIBmqsA7cqtQYjYx+J6gr1xDHuGFIe+NYxWNpIVKcgRPx7dqu8ZBg7ipdpesv+9ZPXqvmcas4S6dYDCk9PGAu+MLrrxjDQhCR6XYaT24bjwBHAwnB7BH9Q5fxri73vfdz1SWGIcH7S60/VDK/5KlpVRDokj8KOSMn/mHZisJ+j6xVrxyuqBN934HZe4SVOOZkc67HYd8XS2hMU8BMXCJBGIO8aI4PAvIAM+lCsYb9u0EBrR2jDgetBePvziRHiWHs3a0mzu8sFg7G0xY+ENISqnvUqs/5NKgTUeCx16bH0y/Db+9N1Djj7ojIaQktofWMXLJ3d8rd00cvFxncg1iWtIfrMTSV1uEXvGia6eptTeOvi2g9qwFwuDej3MksipPPi4kIyV7E7T10zJs6KNGkUkJ2Y9ypHIFNuyybNYZ6WN0uT392tCoiy7AKp4S3cDUWxJg53RLTdvOKfouS7h7+VeudPTF1j29/dr2lnRa9602gx/X8Vsaq1FZKqTJIkt3WuX8WzBPc9NKLReV7/ke6wDqP0wDS6uZCIUwum6rbMYYtwr82lpUNrUTOBjL6lUrqgKOMdEgp+PKk5/nmb7jkvJOQKZF4hh/mPqQrgMO/AOA4MgYUX2ic/OSxzLLj8lfnT7VWlPI2lLPVsJ/bJcQfvaG2HRVV0po45hmhCTemy80UnX0HLVJCfhKLlYbpO0vWLPDiEfi/m0iskCtsx/3eIrLhBYzNImHfn7flYLZy8FVRyBEzzNBa/5JbEKsNIPP1Wk/rtdzXFAU1MwKuw7WvNNIo3YQHHGmLH6WxMaXIsFbO6Ph8DfOLYdo6sTvhIv5tyP/qh3IjhRdJcqCkwZIRLn+5Gv5rOVmxbHz3x9MQFmFMsBBoH7+is0GLTTMGPyX6ZKk7/DxuUI8=
It's a reformulation of functional choice (as defined in https://coq.inria.fr/library/Coq.Logic.ChoiceFacts.html#FunctionalChoice), proof in attached file.
Gaëtan Gilbert
On 28/04/2017 23:17, John Wiegley wrote:
Is there any way to prove the following, or reduce it to a consistent axiom?
Theorem inhabited_forall :
∀ A (P : A -> Type), (∀ x, inhabited (P x)) -> inhabited (∀ x, P x).
Require Import ChoiceFacts Utf8. Definition inhabited_forall := â A (P : A -> Type), (â x, inhabited (P x)) -> inhabited (â x, P x). Lemma choice_to_inhab : DependentFunctionalChoice -> inhabited_forall. Proof. intros choose. intros A P HP. assert (HP' : forall x, exists y : P x, True). { intros x;destruct (HP x) as [Hx];exists Hx;trivial. } pose proof (choose _ _ _ HP') as [f _]. constructor;exact f. Qed. Lemma inhab_to_choice : inhabited_forall -> DependentFunctionalChoice. Proof. intros choose. apply non_dep_dep_functional_choice. intros A B R H. assert (H' : forall x, inhabited {y : B | R x y}). { intros x;destruct (H x) as [y Hx];constructor;exists y;exact Hx. } apply choose in H'. destruct H' as [f]. exists (fun x => proj1_sig (f x)). intros x;apply proj2_sig. Qed.
- [Coq-Club] Question about inhabited, John Wiegley, 04/28/2017
- Re: [Coq-Club] Question about inhabited, Gaetan Gilbert, 04/28/2017
- Re: [Coq-Club] Question about inhabited, John Wiegley, 04/29/2017
- Re: [Coq-Club] Question about inhabited, Gaetan Gilbert, 04/28/2017
Archive powered by MHonArc 2.6.18.