(* week-05_eqn-and-remember.v *)
(* LPP 2024 - CS3234 2023-2024, Sem2 *)
(* Olivier Danvy <danvy@yale-nus.edu.sg> *)
(* Version of 16 Feb 2024 *)

(* ********** *)

Lemma O_or_S :
  forall n : nat,
    n = 0 \/ exists n' : nat, n = S n'.
Proof.
  intro n.
  case n as [ | n'] eqn:H_n.
  - left.
    reflexivity.
  - right.
    exists n'.
    reflexivity.
Qed.

(* ********** *)

Lemma add_1_r :
  forall n : nat,
    n + 1 = S n.
Proof.
  intro n.
  remember (n + 1) as n_plus_1 eqn:H_n_plus_1.
  remember (S n) as Sn eqn:H_Sn.
  remember (n_plus_1 = Sn) as prove_me eqn:goal.
Abort.

(* ********** *)

(* end of week-05_eqn-and-remember.v *)
