[Agda] Well-foundedness of list of well-founded elements

How Si Yu howseeu at gmail.com
Sun Mar 4 07:37:24 CET 2018


Hi, all. given a well-founded relation _<_ on A, define _≪_ on List A
where  where xs ≪ ys = ∃ (λ x → x ∈ ys) × (∀ x → x ∈ xs → x ∈ ys). Is
it true that _≪_ is well-founded?

This is definitely true in classical logic since we can argue in the
following way: Assume not. Then there exists an infinite sequence ...
≪ xs3 ≪ xs2 ≪ xs1 ≪ xs0. ∀ i, xs(n+1) ≪ xsn so ∃ x ∈ xsn. If n ≠ 0, ∃
y ∈ xs(n-1) st x < y. Continuiting moving rightwards we find a
strictly increasing sequence starting at x and ends in xs0. Hence
there must exist infinitely such sequences ending at xs0. Since xs0 is
finite, ∃ x0 ∈ xs0 where infinitely many such sequences ending at x0.
All such sequences besides one pass through xs1. Since xs1 is finite,
∃ x1 ∈ xs1 where infinitely many such sequences pass through x1.
Continuing such construction we get an infinite descending chain in A.
But _<_ is well-founded. Contradiction.

Is this true constructively as well? Thanks a lot! I need it in doing
induction in my proof in
Agda. Below are codes to make precise my question.

open import Data.List.Base using (List; []; _∷_)
open import Relation.Binary.Core using (Rel)
open import Agda.Primitive using (lzero)
open import Induction.WellFounded using (Well-founded)
open import Data.Product using (∃; _×_; _,_)

postulate A : Set
postulate _<_ : Rel A lzero

data _∈_ (x : A) : List A → Set where
  here : ∀ {xs} → x ∈ (x ∷ xs)
  there : ∀ {y xs} → x ∈ xs → x ∈ (y ∷ xs)

_≪_ : Rel (List A) lzero
xs ≪ ys = ∃ (λ x → x ∈ ys) × (∀ x → x ∈ xs → x ∈ ys)

_≪_-wf : Well-founded _<_ → Well-founded _≪_
_≪_-wf = {!!}

Regards,
Si Yu


More information about the Agda mailing list