defpred S1[ object ] means $1 = 0 ;
deffunc H1( object ) -> Element of NAT = 1;
deffunc H2( object ) -> Element of NAT = 0 ;
A1: for x being object st x in [.0,1.] holds
( ( S1[x] implies H1(x) in [.0,1.] ) & ( not S1[x] implies H2(x) in [.0,1.] ) ) by XXREAL_1:1;
ex f being Function of [.0,1.],[.0,1.] st
for x being object st x in [.0,1.] holds
( ( S1[x] implies f . x = H1(x) ) & ( not S1[x] implies f . x = H2(x) ) ) from FUNCT_2:sch 5(A1);
then consider f being Function of [.0,1.],[.0,1.] such that
B1: for x being object st x in [.0,1.] holds
( ( S1[x] implies f . x = H1(x) ) & ( not S1[x] implies f . x = H2(x) ) ) ;
take f ; :: thesis: for x being Element of [.0,1.] holds
( ( x = 0 implies f . x = 1 ) & ( x <> 0 implies f . x = 0 ) )

let x be Element of [.0,1.]; :: thesis: ( ( x = 0 implies f . x = 1 ) & ( x <> 0 implies f . x = 0 ) )
thus ( x = 0 implies f . x = 1 ) by B1; :: thesis: ( x <> 0 implies f . x = 0 )
assume x <> 0 ; :: thesis: f . x = 0
hence f . x = 0 by B1; :: thesis: verum