Skip to Content.
Sympa Menu

coq-club - [Coq-Club] Dependent typing puzzle, constructor injectivity

coq-club AT inria.fr

Subject: The Coq mailing list

List archive

[Coq-Club] Dependent typing puzzle, constructor injectivity


Chronological Thread 
  • From: Gert Smolka <smolka AT ps.uni-saarland.de>
  • To: Coq Club <coq-club AT inria.fr>
  • Subject: [Coq-Club] Dependent typing puzzle, constructor injectivity
  • Date: Sat, 13 Feb 2021 12:35:42 +0100
  • Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=smolka AT ps.uni-saarland.de; spf=Pass smtp.mailfrom=smolka AT ps.uni-saarland.de; spf=None smtp.helo=postmaster AT thyone.hiz-saarland.de
  • Ironport-phdr: 9a23:bOiPuxJIq/gksWTFaNmcpTZWNBhigK39O0sv0rFitYgeIvTxwZ3uMQTl6Ol3ixeRBMOHsqMC1bCd7fGocFdDyK7JiGoFfp1IWk1NouQttCtkPvS4D1bmJuXhdS0wEZcKflZk+3amLRodQ56mNBXdrXKo8DEdBAj0OxZrKeTpAI7SiNm82/yv95HJbAhEmT6wbalzIRmoognct80bipZ+J6gszRfEvmFGcPlMy2NyIlKTkRf85sOu85Nm7i9dpfEv+dNeXKvjZ6g3QqBWAzogM2Au+c3krgLDQheV5nsdSWoZjBxFCBXY4R7gX5fxtiz6tvdh2CSfIMb7Q6w4VSik4qx2UxLjljsJOCAl/2HWksxwjbxUoBS9pxxk3oXYZJiZOOdicq/BeN8XQ3dKUMRMWCxbGo6yb5cAAeUOMuhFrIfzqUUAoxylCAmwHePvzyNEhn/q0aA41ekqDAHI3BYnH9ILqHnarcv6NL0OUeuo0afIyDLDb/dV2Tjn9YPFdQshofSLXbJ0csre01IiFxvejlmKtIzlOTKV2v0Ws2eB9eVgT+avhHQhqw5suDSg29kjh5DPi4kIxV/K6T93z5wpJd2kVkF7e9ikHYNOuyyGOIZ4TN8vTWF2tSokyrALp4O3cSYXxZkkxBPSaPyJfouH7BztVOucJTR1iW54dL+/iRi/8Eaux/PyWMSp1ltBsylLksHUu3wQ2RHe5dKLR/9880u72zuDzR7f5+9aLUwskafWJYQtzqM0m5cQq0jPAC/7lFvsgKOLdkgp/u6l4Pn9bLr8vJ+TLYp0hxn+Mqswnsy/Bvw1MhQOX2mb/uS80qPs8Vf5QLVLj/w6i7LZv4rAKsQBoq62GQlV3Zs55xmiETiqyNUYnX8ZI1JZYB+LkobkNl7ULP38DPqzmVahnC11y/3IILHtGpDNIWLCkLflc7Z98UlcyA8rwNBE4pJUDbUBIPHpVULqrNzYFQU1MxGyw+bmEdl9zZkRVniVAq+dKqzSt0KH6vgyLOaSfIMVoiryK+A55/7yin80gUMSfa6w3ZcOdH+4GulmLF6CbHr3gtYBFH8KsRAkQOzrjl2CSz9TaGyoU6Iy/DFoQL6hWKzEX8iGhKGLlHOwGYQTbWRbAHiNF23pfsOKQaFfRjiVJ5pOnyYYHYOkTIsi3Fn6rwr9z7luBvLPvDAetNf43dFv4+TVmVc++GonXIymz2iRQjQszSszTDgs0fU6+BQlkwvR4e1Dm/VdUOdrybZRSA5gbczE1KpnDdG3QQvIZNOATlrgTtj0WWhsHOJ0+McHZgNGI/vnjh3H2HD2UaMVhruNCdo087CZxHH4PcJ0zXqA2KRz1wB3EPsKDnWvg+tEzyaWAofIl0uDkKPwLfYEx2jQ8mbG1mOHpkVRVgI2XaiXBH0=

I would like to prove

Inductive K (x: nat) : nat -> Type :=
| K1: K x (S x)
| K2: forall y z, K x y -> K y z -> K x z.

Fact K2_injective x y z a b a' b':
K2 x y z a b = K2 x y z a' b' -> (a,b) = (a',b').

by hand in a way that is similar to the proof generated
by the dependent elimination tactic of the Equations package.
Does someone have a hand proof bringing across the essential ideas?

Thanks in advance,
Gert

PS. I have a simple proof exploiting the "semantic” fact (K x y -> x < y),
but so far I failed in finding a "regular” proof using only routine
techniques.




Archive powered by MHonArc 2.6.19+.

Top of Page