coq-club AT inria.fr
Subject: The Coq mailing list
List archive
- From: Hiroki Oshikawa <oshi.hiroki.ml AT gmail.com>
- To: coq-club AT inria.fr
- Subject: Re: [Coq-Club] [HELP] Induction over lists
- Date: Fri, 12 Jan 2018 10:34:08 +0900
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None smtp.pra=oshi.hiroki.ml AT gmail.com; spf=Pass smtp.mailfrom=oshi.hiroki.ml AT gmail.com; spf=None smtp.helo=postmaster AT mail-wm0-f43.google.com
- Ironport-phdr: 9a23:riAsshbpD18094u560cANeb/LSx+4OfEezUN459isYplN5qZoM28bnLW6fgltlLVR4KTs6sC17KP9fi4EUU7or+5+EgYd5JNUxJXwe43pCcHRPC/NEvgMfTxZDY7FskRHHVs/nW8LFQHUJ2mPw6arXK99yMdFQviPgRpOOv1BpTSj8Oq3Oyu5pHfeQpFiCagbb9oMBm6sRjau9ULj4dlNqs/0AbCrGFSe+RRy2NoJFaTkAj568yt4pNt8Dletuw4+cJYXqr0Y6o3TbpDDDQ7KG81/9HktQPCTQSU+HQRVHgdnwdSDAjE6BH6WYrxsjf/u+Fg1iSWIdH6QLYpUjmk8qxlSgLniD0fOjE7/mHZisJ+gqFGrhy/uxNy2JTbbJ2POfdkYq/RYdEXSGxcVchRTSxBBYa8YpMNAeoAJ+ZYqIr9p1oTphWnHgmsBOLvyjxSiX74x6IxzuMsEQbd3AwgHtICqnTUrNTvNKcVUuC1zbPEzTDHb/5N1jf97ZLHchElof2WQb1wds/RxFApGgjYjVuQsZToMjGa2+gXrmSX8eptWfishmI5sQ18rTaiy8ExgYfTnI0V0ErL9SBhzYY1O9K4TEl7bMahEJRKtiGaM5J6Q80nQ210oSo6xLILtJChcCgFz5QnwBHfa/iZfISS/h3jU+ORLS95hHJjZr2/mw6//Eqvx+HmS8W4zlZHojBGn9XSrHwA2BLe5tCCSvRn/0eh3TiP1xrU6uFBOU00krHbK54gwrIqlpoTsF7DHij1mEX3lqOWc0Ek9/On6+TieLrmp5ucO5VohQH5N6Qigta/DvggMggSQ2ib/vyx26Hk/U3gWblFkvk2krTCv53BPsQapqu5AxdP3Yo56ha/CS2m0NUCknUdIlJFYkHPs4+8MFbXZfv8EP2XglK2kT4tyeqVEKfmB8DtL2LEk7apWq196k1V1wN7mddE55MSCrAbJ/HyHEr1nNPdBx49dQezxrC0W51GyooCVDfXUeeiO6TIvArQv7N9E6y3fIYQ/Q3FBb0g7v/qg2U+nAZEL6as1JoTLnu/G6Y/ehnLUT/Xmt4EVFwykE8mVuWz0Q+NVDdSYzC5WKduvmhmWrLjNp/KQ8WWuJLE3Cq/GccLNGVPC1TJDnKwMovYALEDbyWdJsInmTsBB+Cs
Changing the definition of `list_add_nil` to
```
Lemma list_add_nil : forall A (a b : list A),
a ++ b = a -> b = nil.
```
may solve the problem.
best
2018-01-12 9:52 GMT+09:00 Ramkumar Ramachandra <artagnon AT gmail.com>:
Hi folks,I have this code:Lemma map_nil : forall (a b : Type) (f : a -> b), map f nil = nil.Proof.Admitted.Lemma list_add_nil : forall A (a : A) (b c : list A),(a :: b) ++ c = a :: b -> c = nil.Proof.Admitted.Lemma augmentBlk_zServerState : forall blk, augmentBlk blk zServerState = blk.Proof.intros.unfold augmentBlk.induction blk.rewrite map_nil.simpl.reflexivity.Admitted.And these are my hypotheses/goals:
- a: registration
- blk: list registration
- IHblk: blk ++ concat (concatListOption (map (fun reg : registration => augmentReg reg zServerState) blk)) = blk
- 1/1(a :: blk) ++ concat (concatListOption (map (fun reg : registration => augmentReg reg zServerState) (a :: blk))) = a :: blk
Looks pretty straightforward, but I'm not able to figure out how to apply list_add_nil to either IHblk or the goal. What am I missing?Thanks.Ram
- [Coq-Club] [HELP] Induction over lists, Ramkumar Ramachandra, 01/12/2018
- Re: [Coq-Club] [HELP] Induction over lists, Hiroki Oshikawa, 01/12/2018
- Re: [Coq-Club] [HELP] Induction over lists, Ramkumar Ramachandra, 01/12/2018
- Re: [Coq-Club] [HELP] Induction over lists, Hiroki Oshikawa, 01/12/2018
Archive powered by MHonArc 2.6.18.