let Y be non empty set ; :: thesis: for a, b, c being Element of Funcs Y,BOOLEAN holds ((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a) = ((((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) '&' (b 'imp' a)) '&' (a 'imp' c)
let a, b, c be Element of Funcs Y,BOOLEAN ; :: thesis: ((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a) = ((((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) '&' (b 'imp' a)) '&' (a 'imp' c)
A1:
for x being Element of Y holds (((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) . x = (((((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) '&' (b 'imp' a)) '&' (a 'imp' c)) . x
consider k3 being Function such that
A2:
( ((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a) = k3 & dom k3 = Y & rng k3 c= BOOLEAN )
by FUNCT_2:def 2;
consider k4 being Function such that
A3:
( ((((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) '&' (b 'imp' a)) '&' (a 'imp' c) = k4 & dom k4 = Y & rng k4 c= BOOLEAN )
by FUNCT_2:def 2;
( Y = dom k3 & Y = dom k4 & ( for u being set st u in Y holds
k3 . u = k4 . u ) )
by A1, A2, A3;
hence
((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a) = ((((a 'imp' b) '&' (b 'imp' c)) '&' (c 'imp' a)) '&' (b 'imp' a)) '&' (a 'imp' c)
by A2, A3, FUNCT_1:9; :: thesis: verum