coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Carl Patenaude-Poulin <carlpaten AT protonmail.com>
- To: "coq-club AT inria.fr" <coq-club AT inria.fr>
- Subject: [Coq-Club] Accessibility for tuples of accessible values
- Date: Sun, 12 Apr 2020 20:11:19 +0000
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=carlpaten AT protonmail.com; spf=Pass smtp.mailfrom=carlpaten AT protonmail.com; spf=Pass smtp.helo=postmaster AT mail2.protonmail.ch
- Ironport-phdr: 9a23:poXjiROwY3Ozd5BY0HMl6mtUPXoX/o7sNwtQ0KIMzox0Ivr5rarrMEGX3/hxlliBBdydt6sZzbCJ+Pm8AiRAuc/H7CleNsQUFlcssoY/oU8JOIa9E0r1LfrnPWQRPf9pcxtbxUy9KlVfA83kZlff8TWY5D8WHQjjZ0IufrymUoHdgN6q2O+s5pbdfxtHhCanYbN1MR66sRjdutMZjId/Kqs90AXFr3lHd+hLym5lK0+YkxLg6sut5pJu/Dlctv07+8JcTan2erkzQKBFAjghL20668rnuAXZQwCS/HUcSGIWkhRJAwjB8h73W4r6vzX5uORgxiSUJNX6Qr8oVzus6adrUwLohzwcNzEl6mHXi9d/g7xdrRm8uhFw2Y/UYIWSNPpjYqPQeM4RSGRdUspNUSFKH4WxZJYNAeUcJ+ZVt4fzqUUOoxukGAeiB+zgxSNTi3DswaE3yfwhHR3a0AEiGd8FrXTarM/yNKcXSe240rPHzS/Hb/hLwzny8pTIfQ4nof6WQLJ/bNTexVA1GQPCk1WQrY3lPzWI3ekKr2eU9fBgVea3i2E9twF+vD6vy9w0ionTgYIV1lfE9SN8wIkvJN24TFR3bsKjEJtVriyXMZZ9TMA6Q2xwpSo3yb0LtYS5cSQW0pgqyALTZ+aZf4SW5B/oSfyfLi1ihH1/fbKynxay/lakyu37TsS01UxFritBktXSrHwNzwbT6s+bSvt6+Eeh3CyA1wHX6u1ePU80lbLXK58nwrEuipoeqVnPEyz2lUnsjqKaal8o9+e05+j9fLnquIeQN4puhQH/NqQulNa/AeM9MgUWQ2eU4/681Ln7/ULjXLVFkPs2n7LBsJDAIsQbuqm5AwlQ0ok56ha/Cy2q38gfnXkCNF5FYg6Ij5D1O1HSJ/D1Feuwg1O1kDty2//GOqDhDY7WI3jYkLbheK595FRGxAoyy9Bf/ZNUBasbLPL9QE+i/ODfW1UyNBXxyOL6Av180JkfUCSBGOXRZKjVqBqD4v8lC+iKfo4c/jjnfasf6ubqnEM+zHQUZ63h5ZILZXaxA/hrZn2efH7thJ9VGm4QuhI3UOHsoEWYViJUYXO7XqZ67TY+XtGIF4DGE6ukmrjJ5C6nE5tfe2xLT2iLDHPpcc3QUP4WbDqbPsJnuiQeUqSmTYoo1BXovwj/nek0ZtHI8zEV4MqwnON+4PfewElrpG5ESv+F2mTIdFla22YBRjs4xqd6+BIv0k2Eza9+hvVZEZpY4PYbC15mZ66Z9PRzDpXJYiyEZs2AEQj0Ws+hHTY3S9swx5kFZEMvQ4z/3CCG5DKjBvour5LOBJEw9fiFjX34JsInjW7c07UmiVwvQ88JPm3036M=
Hi coq-club! I'm a Coq hobbyist looking for technical guidance. I hope this is
a good place for this, if not I would appreciate being pointed in the right
direction!
Today, I am working on showing that a function recursing structurally on
either of two inductive parameters will always terminate. Here is my
development:
```
Section disjunct_relation.
Context {A B: Type}.
Context {RA: relation A}.
Context {RB: relation B}.
Definition disjunct_relation :=
fun x y => RA (fst x) (fst y) \/ RB (snd x) (snd y).
Theorem disjunct_relation_acc {a b}:
Acc RA a -> Acc RB b -> Acc disjunct_relation (a, b).
Admitted.
End disjunct_relation.
```
I'm struggling to put together a proof of `disjunct_relation_acc`. Do you have
suggestions for learning material that could help me sharpen my intuition on
how to approach proofs that involve non-trivial induction? I've already worked
through the first volume of Software Foundations, and also both of Adam
Chlipala's books.
I'd also like to hear about how people here approach thornier proofs. Do you
hash them out with pen and paper first? What intermediate steps can help you
understand the problem better before attempting an implementation?
Thank you in advance for your patient attention -
Carl Patenaude-Poulin
- [Coq-Club] Accessibility for tuples of accessible values, Carl Patenaude-Poulin, 04/12/2020
- Re: [Coq-Club] Accessibility for tuples of accessible values, Gaëtan Gilbert, 04/12/2020
Archive powered by MHonArc 2.6.18.