let A be QC-alphabet ; :: thesis: for p, q being Element of CQC-WFF A holds

( p => ('not' ('not' q)) is valid iff p => q is valid )

let p, q be Element of CQC-WFF A; :: thesis: ( p => ('not' ('not' q)) is valid iff p => q is valid )

thus ( p => ('not' ('not' q)) is valid implies p => q is valid ) :: thesis: ( p => q is valid implies p => ('not' ('not' q)) is valid )

q => ('not' ('not' q)) is valid ;

hence p => ('not' ('not' q)) is valid by A2, Th42; :: thesis: verum

( p => ('not' ('not' q)) is valid iff p => q is valid )

let p, q be Element of CQC-WFF A; :: thesis: ( p => ('not' ('not' q)) is valid iff p => q is valid )

thus ( p => ('not' ('not' q)) is valid implies p => q is valid ) :: thesis: ( p => q is valid implies p => ('not' ('not' q)) is valid )

proof

assume A2:
p => q is valid
; :: thesis: p => ('not' ('not' q)) is valid
assume A1:
p => ('not' ('not' q)) is valid
; :: thesis: p => q is valid

(p => ('not' ('not' q))) => (p => q) is valid ;

hence p => q is valid by A1, CQC_THE1:65; :: thesis: verum

end;(p => ('not' ('not' q))) => (p => q) is valid ;

hence p => q is valid by A1, CQC_THE1:65; :: thesis: verum

q => ('not' ('not' q)) is valid ;

hence p => ('not' ('not' q)) is valid by A2, Th42; :: thesis: verum