From: Andrea Asperti Date: Fri, 12 Mar 2010 12:23:31 +0000 (+0000) Subject: New definition of negation X-Git-Tag: make_still_working~3011 X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=commitdiff_plain;h=ee1df68d10351f30ea591ccc2173197d99e307cc;p=helm.git New definition of negation --- diff --git a/helm/software/matita/nlibrary/Plogic/connectives.ma b/helm/software/matita/nlibrary/Plogic/connectives.ma index d840143e3..84bd36454 100644 --- a/helm/software/matita/nlibrary/Plogic/connectives.ma +++ b/helm/software/matita/nlibrary/Plogic/connectives.ma @@ -23,18 +23,27 @@ ninductive False: Prop ≝ . default "false" cic:/matita/basics/connectives/False.ind. +(* ndefinition Not: Prop → Prop ≝ -λA. A → False. +λA. A → False. *) + +ninductive Not (A:Prop): Prop ≝ +nmk: (A → False) → Not A. + +ncheck Not_ind. interpretation "logical not" 'not x = (Not x). +ntheorem absurd : ∀ A:Prop. A → ¬A → False. +#A; #H; #Hn; nelim Hn;/2/; nqed. + +(* ntheorem absurd : ∀ A,C:Prop. A → ¬A → C. #A; #C; #H; #Hn; nelim (Hn H). -nqed. +nqed. *) ntheorem not_to_not : ∀A,B:Prop. (A → B) → ¬B →¬A. -/3/. -nqed. +/4/; nqed. ninductive And (A,B:Prop) : Prop ≝ conj : A → B → And A B.