Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Parameter A B C : Prop.
- Lemma th1 : A -> B -> A.
- intros.
- apply (H).
- Save.
- Lemma th2 : (A -> B -> C) -> (A -> B) -> A -> C.
- intros.
- apply(H).
- assumption.
- apply(H0 H1).
- Save.
- Lemma th3 : A /\ B -> B.
- intros.
- elim H.
- intros.
- assumption.
- Save.
- Lemma th4 : A -> B -> A/\B.
- intros.
- split.
- assumption.
- assumption.
- Save.
- Lemma th5 : B -> A \/ B.
- intros.
- right.
- assumption.
- Save.
- Lemma th6 : (A \/ B ) -> (A -> C) -> (B -> C) -> C.
- intros.
- elim H.
- assumption.
- assumption.
- Save.
- Lemma th7 : A -> False -> ~A.
- intros.
- intro.
- assumption.
- Save.
- Lemma th8 : False -> A.
- intro.
- elimtype False.
- assumption.
- Save.
- Lemma th9 : (A <-> B) -> A -> B.
- intros.
- elim H.
- intros.
- apply(H1 H0).
- Save.
- Lemma th10 : (A <-> B) -> B -> A.
- intros.
- elim H.
- intros.
- apply(H2 H0).
- Save.
- Lemma th11 : (A -> B) -> (B -> A) -> (A <-> B).
- intros.
- split.
- assumption.
- assumption.
- Save.
- Lemma th12 : (A -> B) -> (B -> A) -> (A <-> B).
- intros.
- tauto.
- Save.
- Parameter E : Set.
- Parameter P : E -> Prop.
- Parameter Q : E -> E -> Prop.
- Lemma th13 : ~(exists x : E, P x) -> forall x : E, ~P x.
- intros.
- intro.
- elim H.
- exists x.
- assumption.
- Save.
- Lemma th14 : ( forall x : E, ~P x ) -> ~( exists x : E, P x ).
- intros.
- intro.
- elim H0.
- intros.
- apply(H x).
- assumption.
- Save.
- Lemma th15 : (exists y : E, (forall x : E , (Q x y ))) -> forall x : E ,(exists y : E, (Q x y )).
- intros.
- elim H.
- intros.
- exists x0.
- apply(H0).
- Save.
- Lemma th18 : (forall n : nat, (mult n 1) = n).
- intros.
- elim n.
- simpl.
- reflexivity.
- intros.
- simpl.
- rewrite H.
- reflexivity.
- Save.
- Fixpoint f (n : nat) {struct n} : nat :=
- match n with
- | 0 => 1
- | S p => (mult 2 (f p))
- end.
- Lemma th19 : f(10) = 1024.
- intros.
- simpl.
- reflexivity.
- Save.
- Open Scope list.
- Require Import List.
- Import ListNotations.
- Lemma th20 : (forall E:Type, (forall l : (list E), (forall e : E, rev (l ++ [e]) = e :: rev l))).
- intros.
- elim l.
- simpl.
- reflexivity.
- intros.
- simpl.
- rewrite H.
- reflexivity.
- Save.
- Lemma th21 : (forall E:Type, (forall l : (list E), rev (rev l) = l)).
- intros.
- elim l.
- simpl.
- reflexivity.
- intros.
- simpl.
- rewrite (th20 E0 (rev l0) a).
- rewrite H.
- simpl.
- reflexivity.
- Save.
- Fixpoint fis_even (n : nat) {struct n} : Prop :=
- match n with
- | 0 => True
- | 1 => False
- | S (S p) => (fis_even p)
- end.
- Inductive is_even : nat -> Prop :=
- | is_even_0 : is_even 0
- | is_even_S : forall n : nat, is_even n -> is_even (S (S n)).
- Functional Scheme fis_even_ind := Induction for fis_even Sort Prop.
- Lemma th22 : (forall n : nat,(fis_even n) -> (is_even n)).
- intro.
- functional induction (fis_even n).
- intro.
- apply is_even_0.
- intro.
- inversion H.
- intro.
- apply is_even_S.
- apply IHP0.
- apply H.
- Save.
- Lemma th23 : (forall n : nat, (is_even n) -> (fis_even n)).
- intro.
- functional induction (fis_even n).
- intro.
- auto.
- intro.
- inversion H.
- intros.
- apply IHP0.
- inversion H.
- assumption.
- Save.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement