proposition: Theorem plus_one_r' : forall n:nat, n + 1 = S n.
proof: Proof. Admitted. Inductive yesno : Type := | yes : yesno | no : yesno. Check yesno_ind. Inductive rgb : Type := | red : rgb | green : rgb | blue : rgb. Check rgb_ind. Inductive natlist : Type := | nnil : natlist | ncons : nat -> natlist -> natlist. Check natlist_ind. Inductive natlist1 : Type := | nnil1 : natlist1 | nsnoc1 : natlist1 -> nat -> natlist1. Inductive byntree : Type := | bempty : byntree | bleaf : yesno -> byntree | nbranch : yesno -> byntree -> byntree -> byntree. Inductive ExSet : Type := . Inductive tree (X:Type) : Type := | leaf : X -> tree X | node : tree X -> tree X -> tree X. Check tree_ind. Inductive foo' (X:Type) : Type := | C1 : list X -> foo' X -> foo' X | C2 : foo' X. Definition P_m0r (n:nat) : Prop := n * 0 = 0. Definition P_m0r' : nat->Prop := fun n => n * 0 = 0. Theorem mult_0_r'' : forall n:nat, P_m0r n. Proof. apply nat_ind. - reflexivity. - intros n IHn. unfold P_m0r in IHn. unfold P_m0r. simpl. apply IHn. Qed.
imports: ProofObjects