coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: "Grant Jurgensen" <mailing-lists.coq AT grant.jurgensen.dev>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] Eliminating equalities over dependent function types
- Date: Wed, 03 Nov 2021 12:10:00 -0500
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=mailing-lists.coq AT grant.jurgensen.dev; spf=None smtp.mailfrom=mailing-lists.coq AT grant.jurgensen.dev; spf=Pass smtp.helo=postmaster AT out4-smtp.messagingengine.com
- Ironport-data: A9a23:zC73wK/Yf5/QbnZmUto9DrUDmX+TJUtcMsCJ2f8bfWQNrUok12YPnzBLUTrTaavbamqkL9Fzadu+/UwCuMfTy4I2THM5pCpnJ55ogZqcVI7Bdi8cHAvLc5adFBo/hykmh2ipwPkcFhcwnT/wdOi+xZVA/fvQHOOlUbafYnsZqTJMEU/Ntzozw4bVvaYz2bBVMyvV0T/Di5W31G2Ng1aYAUpIg063ky6Didyp0N8uUvPSUtgQ1LPWvyF94JvyvshdJVOgKmVfNrbSq+ouUNiEEm3lExcFUrtJk578b1FWB6XXIRDIj3dNQKGtgx5Nqyo906A2cvEbbC+7iR3XwZYokYwL6drqGW/FPYWU8AgZexxREiV/O6ID/L7cPWP5usuK50Lcen3whfdzFk47O5YV/KB7DH8mGfkwcWBTN0nS3Ipax5rgELU025R5RCXxB6sUvWglxjXEB949UJXbSuPL48VZ1XE+nKhz8Vz2c5JMMnwyeE2VO1sXLg1CUNRkwbn2kiKqK3sFvA3AjLQRyG314AxV8bHLDMDzRN2vUZwNyx/c/3auE3/RBQwGaJmEzCadtHehnfTGkiL9V48UG7y++7hhh1j7+4DaMzVOPXPTnBVzohfWtxNjx00oFu4GqrUuqAmwS8XlGRi1u2WNsR8aVNdWHOw85UeGza+8D8OxGD0fVjAYADA5nJZeeNDo/gbhcxDV6fhHv6ecT27b9KqOoj60IiUTa2MPe0foiCNtD8bL+OkOY9GmcjqnOKGvh9vpXzPt2T+HqjMzgfMfgNBjO2CTlbzYq2rEm6UlhTLZKukasqxJI++5iEOYi1SU1GXm
- Ironport-hdrordr: A9a23:2FTLrKuZkhJSBILsGlzkVOqD7skDr9V00zEX/kB9WHVpm62j5r2TdZEgviMc5wxxZJheo6HnBEDtex/hHN1OkPAs1M6ZLXLbUTKTXftfBOjZskHd8k/FltK1vJ0IG8JD4bvLYmSS5vyW3ODXKbgdKKTuytHRuQ4L9QYOcekXA5sQiDuRcjzrcXGeszM2YabRvaDsg/Z6mw==
- Ironport-phdr: A9a23:O7/sgxBTVVfKyJgGPFvOUyQUKEQY04WdBeb1wqQuh78GSKm/5ZOqZBWZua80ygeQFtyBsboE07OQ7/q4HzRYoN6oizMrSNR0TRgLiMEbzUQLIfWuLgnFFsPsdDEwB89YVVVorDmROElRH9viNRWJ+iXhpTEdFQ/iOgVrO+/7BpDdj9it1+C15pbffxhEiCCybL9sMRm6txndutQZjYd/NKo91AbCrn9Ud+hL329lKkyfkwrm6sus4JJv9jlbtu48+cJHTaj0ZbkzQ6ZCDDQhPWA15cnrugfGQACS+HYSUXgYnwRRDQTd4x70Qpn+si3htupgwyaaJtH5Tao1WTu58ahmTgLjhTodOD449GHXjdFwjL5erRm8qRFz35LYbYeIP/d4Y6jTf84VRXBZU8hWWSNODYCyYIkBD+QPPehWsZTzqEcVoBSkGQWhHvnixyVSi3Pq26AxzuQvERvB3AwlB98CvnXarM/vO6cUTeC+0a3GzSjZb/NZxzj97pPIfQ4nof2CQLl9ds/RxlMuFwPBj1WQr4PlMyqR1uQMqGib8/FgWfizhG4gsgF8uTevxt02hYnPmoIZ0FLE9ThjwIY6O9K4TlV7bsCiEJdKqi6VKZV2T9okTmp1tyk01qcItoSnfCgW1psn3RjfZuSIfYSU/B7uWvidLDR4iX9hfL+yhha//Ey+x+D4S8S51FhHojdYn9TDsn0AyQDe5taHRPVy8Uqv2TiC2gDX5+xKJ00/iKnVK4Y5z7Mxl5cfq1nPEjLrlEnsg6KabFso9+uu5u/6fLjmooKcN5Roig7gKKQgh82/AOUmPQUWQ2SW//m32qf58k3jWrpKi+U7kqnHv5DeIsQWvqm5AxJJ0oss8hq/FDKm0MgAnXUdKVJKZgmHj5PzNFHBIfD4C/i/jEqqkDdkxvDGOKPuDo/RIXjElbftZbd960hCxwov1d1S5pNZBqscLP7uR0P9rtPVAgUnPwG32+rnDc9y1oIaWWKBGK+ZN6bSvEeN5u01IumMYI4VuDDyK/Q84/7ujGQ5mUMGfaWzwZQXb2m4E+9pI0WDe3XshMsBHX0IvgojVuzqh0ONUThIZ3msWaIw/Cw0B5y4DYvbXICinKSB3DunHp1Rfm1JFleMEW7xe4qYX/cMdTmdL9R6kj0EULihU5Uu2QuvtA/80bpnL/Db9jcWtZL5h5BJ4LjYkgh3/jhpBeyc1XuMRid6hDAmXTgziepQu0V71h+hzLJ3jvpDGNoZr6dMWwY+NJjTiuh7EMzpHAnGZ/+GUl+gXpOkHCs+Q9QqztlIb0tjTYbxxivf1janVudG34eAA4Y5p/q0N5nZINthlzPd0bU5yVwrWdBGOmygiaN5+AnVCsjClEDLzs5CmowTxifL6CGB0HCBsUdDXQg2XajbDyh3jq7+os7w4F+ETaK0BrkhKQZHj8KPNPkSAuA=
Fabian,
You are absolutely right. If there exists some `x` such that `~ P x` and `~ Q x`, then the assumption holds, but the conclusion certainly doesn't follow.
I imagine we could then disprove the theorem by reflecting this observation to Types. Still, there seems something "almost" true about the theorem. I wonder if it would hold if we added an assumption that the forall-types are inhabited (which should eliminate this particular counterexample).
Thanks,
Grant
On Wed, Nov 3, 2021, at 11:46 AM, Fabian Kunze wrote:
Dear Grant Jurgensen,I'm sceptical the theorem holds. At least if one looks at Prop insteadof Type, and looks at it through the eyes of classical logic, thetheorem looks likeforall (P Q : X -> Prop),((forall x, P x) <-> (forall x, Q x))-> forall x, P x <-> Q xWhich does not hold: For example take P and Q that hold for different xand are false for at least one x.Best,FabianOn 03/11/2021 16:38, Grant Jurgensen wrote:> Hi all,>> I was wondering if the following property is provable (or disprovable)> in Coq:>> Theorem forall_eq_elim: forall (A: Type) (B C: A -> Type),> (forall a, B a) = (forall a, C a) ->> (forall a, B a = C a).>> This is the converse of `forall_extensionality`, found in the standard> module `Coq.Logic.FunctionalExtensionality`. Assuming functional> extensionality, this `forall_eq_elim` property essentially states the> injectivity of the forall binder.>> The property appears very intuitive to me, but I don't see any proof> path, even assuming functional extensionality. I'm guessing it would be> sound to axiomatize it, but it also seems specific enough that there> should be a more palatable/generalized alternative to axiomatize.>> For what its worth, the reason I first considered this property above is> because it appeared necessary in order to prove the following fact> concerning heterogeneous equalities:>> Theorem JMeq_f :> forall A (B: A -> Type) (C: A -> Type) (f: forall a, B a) (g: forall> a, C a),> JMeq f g ->> forall x, JMeq (f x) (g x).>> Thanks,> Grant Jurgensen
- [Coq-Club] Eliminating equalities over dependent function types, Grant Jurgensen, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Fabian Kunze, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Grant Jurgensen, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Pierre-Marie Pédrot, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Grant Jurgensen, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Pierre-Marie Pédrot, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Grant Jurgensen, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Hugo Herbelin, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Hugo Herbelin, 11/03/2021
- Re: [Coq-Club] Eliminating equalities over dependent function types, Fabian Kunze, 11/03/2021
Archive powered by MHonArc 2.6.19+.