let A be non empty set ; :: thesis: for v being Element of Valuations_in A
for p being Element of CQC-WFF
for J being interpretation of A holds J,v |= (('not' p) => p) => p

let v be Element of Valuations_in A; :: thesis: for p being Element of CQC-WFF
for J being interpretation of A holds J,v |= (('not' p) => p) => p

let p be Element of CQC-WFF ; :: thesis: for J being interpretation of A holds J,v |= (('not' p) => p) => p
let J be interpretation of A; :: thesis: J,v |= (('not' p) => p) => p
('not' p) => p = 'not' (('not' p) '&' ('not' p)) by QC_LANG2:def 2;
then A1: (Valid (((('not' p) => p) => p),J)) . v = (Valid (('not' (('not' (('not' p) '&' ('not' p))) '&' ('not' p))),J)) . v by QC_LANG2:def 2
.= 'not' ((Valid ((('not' (('not' p) '&' ('not' p))) '&' ('not' p)),J)) . v) by Th20
.= 'not' (((Valid (('not' (('not' p) '&' ('not' p))),J)) . v) '&' ((Valid (('not' p),J)) . v)) by Th22 ;
(Valid (('not' (('not' p) '&' ('not' p))),J)) . v = 'not' ((Valid ((('not' p) '&' ('not' p)),J)) . v) by Th20
.= 'not' ((Valid (('not' p),J)) . v) by Th33
.= 'not' ('not' ((Valid (p,J)) . v)) by Th20
.= (Valid (p,J)) . v ;
then (Valid (((('not' p) => p) => p),J)) . v = 'not' (((Valid (p,J)) . v) '&' ('not' ((Valid (p,J)) . v))) by A1, Th20
.= TRUE by XBOOLEAN:102 ;
hence (Valid (((('not' p) => p) => p),J)) . v = TRUE ; :: according to VALUAT_1:def 7 :: thesis: verum