let IT be Element of Funcs A,BOOLEAN ; :: thesis: ( IT = p 'imp' q iff for x being Element of A holds IT . x = ('not' (p . x)) 'or' (q . x) )
hereby :: thesis: ( ( for x being Element of A holds IT . x = ('not' (p . x)) 'or' (q . x) ) implies IT = p 'imp' q )
assume A3: IT = p 'imp' q ; :: thesis: for x being Element of A holds IT . x = ('not' (p . x)) 'or' (q . x)
let x be Element of A; :: thesis: IT . x = ('not' (p . x)) 'or' (q . x)
A4: dom p = A by FUNCT_2:def 1;
dom q = A by FUNCT_2:def 1;
then dom (p 'imp' q) = A /\ A by A4, Def9
.= A ;
hence IT . x = (p . x) => (q . x) by A3, Def9
.= ('not' (p . x)) 'or' (q . x) ;
:: thesis: verum
end;
assume A5: for x being Element of A holds IT . x = ('not' (p . x)) 'or' (q . x) ; :: thesis: IT = p 'imp' q
A6: dom q = A by FUNCT_2:def 1;
A7: dom IT = A /\ A by FUNCT_2:def 1
.= (dom p) /\ (dom q) by A6, FUNCT_2:def 1 ;
for x being set st x in dom IT holds
IT . x = (p . x) => (q . x)
proof
let x be set ; :: thesis: ( x in dom IT implies IT . x = (p . x) => (q . x) )
assume x in dom IT ; :: thesis: IT . x = (p . x) => (q . x)
then reconsider x = x as Element of A by FUNCT_2:def 1;
IT . x = ('not' (p . x)) 'or' (q . x) by A5;
hence IT . x = (p . x) => (q . x) ; :: thesis: verum
end;
hence IT = p 'imp' q by A7, Def9; :: thesis: verum