(* QuickChick sillyfun_false. *)

Definition sillyfun1 (n : nat) : bool :=
  if beq_nat n 3 then true
  else if beq_nat n 5 then true
  else false.

(* Specifications: *)
Theorem sillyfun1_odd : forall (n : nat), sillyfun1 n = true -> oddb n = true.
Theorem bool_fn_applied_thrice : forall (f : bool -> bool) (b : bool), f (f (f b)) = f b.
Theorem beq_nat_sym : forall (n m : nat), beq_nat n m = beq_nat m n.
Theorem beq_nat_trans : forall n m p, beq_nat n m = true -> beq_nat m p = true -> beq_nat n p = true.
Theorem filter_exercise : forall (X : Type) (test : X -> bool) (x : X) (l lf : list X), filter test l = x :: lf -> test x = true.