(* QuickChick Prelude *)
Set Warnings "-extraction-opaque-accessed,-extraction".
Set Warnings "-notation-overridden,-parsing".
Set Bullet Behavior "Strict Subproofs".
(* End prelude *)
Require Export Poly.
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* Higher-order *)
(*     true = beq_nat n 5  -> *)
Admitted. (* (*N*) QuickChick silly3_firsttry. *)
Admitted. (* (*N*) QuickChick rev_exercise1. *)
Admitted. (* (*N*) QuickChick trans_eq. *)
Example trans_eq_example' : forall (a b c d e f : nat),
[a;b] = [c;d] ->
[c;d] = [e;f] ->
[a;b] = [e;f].
Admitted. (* Leo: OUT-OF-SCOPE *)
Example trans_eq_exercise : forall (n m o p : nat),
m = (minustwo o) ->
(n + p) = m ->
(n + p) = (minustwo o).
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* (*N*) QuickChick beq_nat_0_l. *)
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* Leo: CoArb Weirdness *)
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* Leo: OUT-OF-SCOPE *)
Admitted. (* (*N*) QuickChick beq_id_true. *)

(* Leo: Theorem nth_error_after_last: forall (n : nat) (X : Type) (l : list X), *)
Theorem nth_error_after_last: forall  (X : Type) (l : list X) (n : nat),
length l = n ->
nth_error l n = None.