Skip to Content.
Sympa Menu

coq-club - Re: [Coq-Club] Proper subset relation well-founded?

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

Re: [Coq-Club] Proper subset relation well-founded?


Chronological Thread 
  • From: mukesh tiwari <mukeshtiwari.iiitm AT gmail.com>
  • To: coq-club AT inria.fr
  • Subject: Re: [Coq-Club] Proper subset relation well-founded?
  • Date: Mon, 5 Dec 2022 20:16:35 +1100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mukeshtiwari.iiitm AT gmail.com; spf=Pass smtp.mailfrom=mukeshtiwari.iiitm AT gmail.com; spf=None smtp.helo=postmaster AT mail-lj1-f172.google.com
  • Ironport-data: A9a23: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
  • Ironport-hdrordr: A9a23:6RxeCqtBrnM4l6/pxe5dXzoP7skDSdV00zEX/kB9WHVpm6uj5r iTdZUgpGbJYVMqMk3I9urwXZVoLUmsl6KdpLNhXotKPzOGhILLFvAH0WKK+VSJcBEWtNQ86U 4KSdkYNDSfNykdsS842mWF+hQbreVvPJrGuQ4W9RlQcT0=
  • Ironport-phdr: A9a23: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 zY5jwJ/ZaIm8zK+uz8K
  • Ironport-sdr: 638db700_vaEldFo21c1a2buellAWIrb48TYsbEpn/LUBT+AsNfJj7+T nb4Hep4zIFhjS+AdET23AUjwL4KL7XTLn8QB20g==

Hi Dominique,

I think I get your idea of ""there is a point in ys which is not in xs".
I came with this definition of proper_subset:

Definition proper_subset {A : Type} (xs ys : finset A) : Prop :=
(∀ x : A, In x xs -> In x ys) ∧
(∃ y : A, In y ys ∧ ~In y xs).

Now I need to figure out how to encode the "strict decrease" because,
as you suggested, [1;1;1] is a proper subset of [1; 2; 2]. (seems an
interesting proof).


Best,
Mukesh

On Mon, Dec 5, 2022 at 6:24 PM mukesh tiwari
<mukeshtiwari.iiitm AT gmail.com> wrote:
>
> Hi Dominique,
>
> "However, it does not properly characterize proper subsets IMHO.
> Indeed you have eg [1;1] is a proper subset of [1;2;2] but also of
> [1;1;1]." Agree and that is why I used List.length to get rid of these
> kinds of examples and force strict decrease.
>
> "I would suggest using "there is a point in ys which is not in xs"
> (rather than the length criteria) to witness strict decrease. Also wf
> but somewhat harder to prove. I can point to some code if needed."
> That will be great if you can point me to some code for this.
>
> Best,
> Mukesh
>
> On Mon, Dec 5, 2022 at 5:26 PM Dominique Larchey-Wendling
> <Dominique.Larchey-Wendling AT loria.fr> wrote:
> >
> > Hi Mukesh,
> >
> > Your "subset" relation is included in the relation length xs < length ys
> > so it is wf by combination of wf_incl, wf_inverse_image and lt_wf.
> > Decidability of eq is *not* needed.
> >
> > However, it does not properly characterize proper subsets IMHO. Indeed
> > you have eg [1;1] is a proper subset of [1;2;2] but also of [1;1;1].
> >
> > I would suggest using "there is a point in ys which is not in xs" (rather
> > than the length criteria) to witness strict decrease. Also wf but
> > somewhat harder to prove. I can point to some code if needed.
> >
> > Best,
> >
> > Dominique
> >
> > Le 5 décembre 2022 06:50:10 GMT+01:00, mukesh tiwari
> > <mukeshtiwari.iiitm AT gmail.com> a écrit :
> >>
> >> Hi everyone,
> >>
> >> Is this (proper) subset relation is well-founded? Based on my
> >> understand, I believe the answer is no (and maybe we need more
> >> assumptions), but I am happy be proven otherwise. You can see the
> >> complete code [1].
> >>
> >>
> >> Definition finset (A : Type) := list A.
> >>
> >> (* proper subset *)
> >>
> >> Definition subset {A : Type} (xs ys : finset A) : Prop :=
> >> (∀ x, In x xs -> In x ys) ∧
> >> (List.length xs < List.length ys). (* for proper subset *)
> >>
> >>
> >>
> >> Lemma well_founded_subset {A : Type} :
> >> (∀ x y : A, {x = y} + {x ≠ y}) ->
> >> well_founded (@subset A).
> >> Proof.
> >>
> >> intro Hdec.
> >> unfold well_founded.
> >> induction a as [| ah al Iha].
> >> + econstructor;
> >> intros ? [Hyl Hyr].
> >> simpl in Hyr; nia.
> >> +
> >> (* Induction Hypothesis peeling *)
> >> pose proof (Acc_inv Iha) as Ha.
> >> (* transitivity *)
> >> econstructor;
> >> intros xt Hx.
> >> (* I can unfold one more time, but
> >> will I get anything meaningful? *)
> >> econstructor;
> >> intros yt Hy.
> >> (* case analysis *)
> >> destruct (List.In_dec Hdec ah yt) as [Hb | Hb].
> >> ++
> >>
> >> (* In ah yt *)
> >> pose proof (subset_member _ _ _ Hb Hy) as Hc.
> >> (*
> >> ah ∈ xs so I can write
> >> xs = xsl ++ [ah] ++ xsr.
> >> From Hx : subset xt (ah :: al)
> >> I can infer: subset (xsl ++ xsr) al.
> >> But there is no way I can establish:
> >> subset yt (xsl ++ xsr) for transitive and
> >> induction hypothesis to work.
> >>
> >> My conclusion is: it's not provable but
> >> happy to be proven wrong.
> >>
> >> If it's not provable, can we make subset relation
> >> well founded?
> >>
> >> *)
> >> admit.
> >> ++ admit.
> >> Admitted.
> >>
> >>
> >> Best,
> >> Mukesh
> >>
> >>
> >> [1]
> >> https://gist.github.com/mukeshtiwari/ecdebdae6f28ddf4b231d160b16de37d



Archive powered by MHonArc 2.6.19+.

Top of Page