coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: muad <muad.dib.space AT gmail.com>
- To: coq-club AT pauillac.inria.fr
- Subject: Re: [Coq-Club] Strengthening the definitional equality on types?
- Date: Wed, 5 Aug 2009 11:29:27 -0700 (PDT)
- List-archive: <http://pauillac.inria.fr/pipermail/coq-club/>
Stefan Monnier wrote:
>
>> What to do? We've seen the discussion of John Major equality in
>> CoqArt... is this our only hope, or is there a lighter way?
>
> I see other people have already solved your problem, but to get back to
> the title of your email, I also wonder: wouldn't it be possible to
> strengthen the definitional equality so that your code is accepted
> as is.
>
> It seems that what is required here is to extend CIC with the an η-rule
> for inductive definitions plus some kind of "match-associativity"
> (analogous to the let-associativity rule that says that
>
> let x₁ = let x₂ = e₁ in e₂ in e₃ ≡ let x₂ = e₁ in let x₁ = e₂ in e₃
>
> assuming x₂∉fv(e₁)).
>
> I.e.:
>
> swap (swap d)
> ≡ match (match d with R => L | L => R end) with R => L | L => R end
> ≡ match d with R => match L with R => L | L => R end
> | L => match R with R => L | L => R end
> end
> ≡ match d with R => R | L => L end
> ≡ d
>
> the first ≡ is by unfolding the definition, the second is by
> match-associativity, the third by the usual reduction rules, the fourth
> by η.
>
> Since CIC's consistency is not broken by η applied to the function
> space, maybe it can also sustain η applied to the inductive
> definitions space (tho you'd probably get into trouble with the issue
> of the strong elimination of large inductive definitions).
>
> OTOH, adding a form of match-associativity seems a lot more
> far-fetched :-(
> Too bad, because it would be handy in various circumstances.
>
>
> Stefan
>
> --------------------------------------------------------
> Bug reports: http://logical.saclay.inria.fr/coq-bugs
> Archives: http://pauillac.inria.fr/pipermail/coq-club
> http://pauillac.inria.fr/bin/wilma/coq-club
> Info: http://pauillac.inria.fr/mailman/listinfo/coq-club
>
>
Just because it's vaguely related (to your η idea) and also interesting,
there is a paper about simply typed calculus with eta for 2 (aka bool or
Dir), http://www.cs.nott.ac.uk/~txa/publ/flops04.pdf
In that calculus the definitional equality f = f . f . f (and swap . swap =
id) holds, so now I wonder how to go about extending this to a full blown
dependent type theory?
--
View this message in context:
http://www.nabble.com/Strengthening-the-definitional-equality-on-types--tp24816612p24833834.html
Sent from the Coq mailing list archive at Nabble.com.
- [Coq-Club] Strengthening the definitional equality on types?, Benjamin Pierce
- Re: [Coq-Club] Strengthening the definitional equality on types?, Adam Chlipala
- Re: [Coq-Club] Strengthening the definitional equality on types?, Arnaud Spiwack
- Re: [Coq-Club] Strengthening the definitional equality on types?, Arnaud Spiwack
- Re: [Coq-Club] Strengthening the definitional equality on types?, AUGER Cedric
- Re: [Coq-Club] Strengthening the definitional equality on types?,
Stefan Monnier
- Re: [Coq-Club] Strengthening the definitional equality on types?, muad
- Re: [Coq-Club] Strengthening the definitional equality on types?, Conor McBride
- Re: [Coq-Club] Strengthening the definitional equality on types?, Hugo Herbelin
Archive powered by MhonArc 2.6.16.