0

I am passing through Logical foundations course and is facing the following errors:

Strings undefined

Lists.v, code:

Definition manual_grade_for_rev_injective : option (nat*string) := None.

Response:

Error: The reference string was not found in the current environment.

After I add Require Import String. to the beginning of the file, the error disappears. But why do I need to do it? I thought, that the course must work as is.

Warnings error

Code:

Set Warnings "-notation-overridden,-parsing".

Response:

Error: There is no option Warnings.

I couldn't fix it.

Empty list "[]" symbol undefined error

In file Logic.v

Lemma in_not_nil :
  forall A (x : A) (l : list A), In x l -> l <> [].

Error for []:

Syntax error: [constr:operconstr] expected after '<>' (in [constr:operconstr]).

I couldn't fix it.

What's wrong? Please, help.

dpapadopoulos
  • 1,834
  • 5
  • 23
  • 34
user4035
  • 22,508
  • 11
  • 59
  • 94
  • How did you get the files (there are different versions of the book, and different courses may release them differently)? Are they dated (at the end of files), and if so from when? What version of Coq do you have? – Li-yao Xia Feb 14 '19 at 12:07
  • @Li-yaoXia I got them here: https://softwarefoundations.cis.upenn.edu/lf-current/lf.tgz – user4035 Feb 14 '19 at 12:08
  • @Li-yaoXia coq 8.5pl1 (July 2017) – user4035 Feb 14 '19 at 12:11
  • 1
    Can you try upgrading to Coq 8.8? (c.f., *System Requirements* in Preface.v: "These files have been tested with Coq 8.8.1."). Lots of details have changed since 8.5. – Li-yao Xia Feb 14 '19 at 12:18

0 Answers0