(* 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 *)

Theorem f_equal : forall (A B : Type) (f: A -> B) (x y: A),
x = y -> f x = f y.