Self-evaluation 1

Authors:

Yannick Forster

Théo Winterhalter

Files:

Exercise 1

In the code below, write down the goal at the annotated points. Goals have the following shape.

h1 : P1
h2 : P2
…
-------------
G

You can ignore the admit below.

P, Q: Prop

P \/ Q -> Q \/ P
P, Q: Prop

P \/ Q -> Q \/ P
P, Q: Prop
h: P \/ Q

Q \/ P
P, Q: Prop
h: P

Q \/ P
P, Q: Prop
h: Q
Q \/ P
P, Q: Prop
h: P

Q \/ P
P, Q: Prop
h: P

Q
(* POINT 1 *) Abort.
P, Q: Prop

~ ~ P -> (P -> ~ Q) -> ~ Q
P, Q: Prop

~ ~ P -> (P -> ~ Q) -> ~ Q
P, Q: Prop
h1: ~ ~ P
h2: P -> ~ Q
h3: Q

False
P, Q: Prop
h1: ~ ~ P
h2: P -> ~ Q
h3: Q

~ P
P, Q: Prop
h1: ~ ~ P
h2: P -> ~ Q
h3: Q
h4: P

False
(* POINT 2 *) Abort.
n: nat

n = 42
n: nat

n = 42

0 = 42
n': nat
IH: n' = 42
S n' = 42

0 = 42
admit.
n': nat
IH: n' = 42

S n' = 42
Abort.

Exercise 2

In the code above, what tactics would solve test2?

Exercise 3

Prove the following lemma without using inversion or discriminate.


true <> false

true <> false
Admitted.