coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: David Asher <asher AT informatik.hu-berlin.de>
- To: coq-club AT inria.fr
- Subject: [Coq-Club] arg-min existential instantiation of an inequality
- Date: Wed, 16 Mar 2016 14:35:40 +0100
- Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None smtp.pra=asher AT informatik.hu-berlin.de; spf=Pass smtp.mailfrom=asher AT informatik.hu-berlin.de; spf=None smtp.helo=postmaster AT mailout1.informatik.hu-berlin.de
- Ironport-phdr: 9a23:pUfuuRHxzg3sNBBe3VFXiJ1GYnF86YWxBRYc798ds5kLTJ75o8iwAkXT6L1XgUPTWs2DsrQf27qQ6/qrBTxIyK3CmU5BWaQEbwUCh8QSkl5oK+++Imq/EsTXaTcnFt9JTl5v8iLzG0FUHMHjew+a+SXqvnYsExnyfTB4Ov7yUtaLyZ/nh6bqodaPM01hv3mUX/BbFF2OtwLft80b08NJC50a7V/3mEZOYPlc3mhyJFiezF7W78a0+4N/oWwL46pyv50IbaKvdKMhCLdcET4OMmYv5cStuwOQYxGI4y4wW3sXnlJhGAjI9lmuV4zxvzHSt+xz3zOfNNH3TvY0RHGo4r1vSRmuhCpRZG1xy33elsEl1PETmxmmvREqm4M=
Dear Coq-Club, I asked a similar question a while ago. I have an existentially quantified Proposition in my hypothesis set, say "exists x, f(x) < g(x)", where f and g are functions of type "{x : nat | x < n} -> nat". Now I want, as I did my pencil and paper proof, to instantiate x such that "f(x) < g(x)" holds and for every y < x implies that f(y)>=g(y). In other words I'm trying to proof the following: Variable x : nat. Variable f : {n : nat | n < x} -> nat. Variable g : {n : nat | n < x} -> nat. Lemma arg_min_inequality : forall x, (f x < g x) -> (exists x, f x < g x /\ forall y, f y < f x -> f y >= g y). I suspect that the answer will have to do something with well founded induction on natural numbers. At least that was the answer to my previous question, where I wanted to know how to instantiate x for a Relation s.t. x is minimal. Xavier Leroy pointed me into the right direction to use well-founded induction on natural numbers with the lt-relation: Lemma P_upto_n_dec: forall n, (exists m, m < n /\ P m) \/ (forall m, m < n -> ~ P m). Proof. intros. destruct (classic(exists m, m < n /\ P m)) ; firstorder. Qed. Lemma minimal_exists: forall n, P n -> exists m, P m /\ forall p, p < m -> ~ P p. Proof. induction n using lt_wf_ind; intros. destruct (P_upto_n_dec n) as [[m [A B]] | C]. - eauto. - exists n; auto. Qed. However, I think for my Problem this won't work. I suspect, I have to define my own relation, proving that it is well-founded and than using this relation in order to perform a well-founded induction on natural numbers. Unfortunately I don't have any clue how to do this. Thank you David |
- [Coq-Club] arg-min existential instantiation of an inequality, David Asher, 03/16/2016
- Message not available
- Re: [Coq-Club] arg-min existential instantiation of an inequality, David Asher, 03/16/2016
- Message not available
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Abhishek Anand, 03/16/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, David Asher, 03/16/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Abhishek Anand, 03/18/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Emilio Jesús Gallego Arias, 03/18/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Abhishek Anand, 03/18/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, David Asher, 03/16/2016
- Message not available
- Message not available
- Message not available
- Re: [Coq-Club] arg-min existential instantiation of an inequality, David Asher, 03/16/2016
- Message not available
- Message not available
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Lars Rasmusson, 03/16/2016
- Re: [Coq-Club] arg-min existential instantiation of an inequality, Lars Rasmusson, 03/17/2016
Archive powered by MHonArc 2.6.18.