let L be non empty RelStr ; for X being non empty set
for R being non empty full SubRelStr of L |^ X st ( for a being set holds
( a is Element of R iff ex x being Element of L st a = X --> x ) ) holds
L,R are_isomorphic
let X be non empty set ; for R being non empty full SubRelStr of L |^ X st ( for a being set holds
( a is Element of R iff ex x being Element of L st a = X --> x ) ) holds
L,R are_isomorphic
deffunc H1( set ) -> Element of bool [:X,{$1}:] = X --> $1;
consider f being ManySortedSet of the carrier of L such that
A1:
for i being Element of L holds f . i = H1(i)
from PBOOLE:sch 5();
let R be non empty full SubRelStr of L |^ X; ( ( for a being set holds
( a is Element of R iff ex x being Element of L st a = X --> x ) ) implies L,R are_isomorphic )
assume A2:
for a being set holds
( a is Element of R iff ex x being Element of L st a = X --> x )
; L,R are_isomorphic
A3:
rng f c= the carrier of R
A6:
dom f = the carrier of L
by PARTFUN1:def 2;
then reconsider f = f as Function of L,R by A3, FUNCT_2:2;
A7:
f is one-to-one
A9:
now for x, y being Element of L holds
( ( x <= y implies f . x <= f . y ) & ( f . x <= f . y implies x <= y ) )end;
take
f
; WAYBEL_1:def 8 f is isomorphic
rng f = the carrier of R
hence
f is isomorphic
by A7, A9, WAYBEL_0:66; verum