:: ZF_COLLA semantic presentation

definition
let c1 be non empty set ;
let c2 be Ordinal;
deffunc H1( T-Sequence) -> set = { b1 where B is Element of c1 : for b1 being Element of c1 holds
not ( b2 in b1 & ( for b2 being Ordinal holds
not ( b3 in dom a1 & b2 in union {(a1 . b3)} ) ) )
}
;
func Collapse c1,c2 -> set means :Def1: :: ZF_COLLA:def 1
ex b1 being T-Sequence st
( a3 = { b2 where B is Element of a1 : for b1 being Element of a1 holds
not ( b3 in b2 & ( for b2 being Ordinal holds
not ( b4 in dom b1 & b3 in union {(b1 . b4)} ) ) )
}
& dom b1 = a2 & ( for b2 being Ordinal holds
( b2 in a2 implies b1 . b2 = { b3 where B is Element of a1 : for b1 being Element of a1 holds
not ( b4 in b3 & ( for b2 being Ordinal holds
not ( b5 in dom (b1 | b2) & b4 in union {((b1 | b2) . b5)} ) ) )
}
) ) );
existence
ex b1 being set ex b2 being T-Sequence st
( b1 = { b3 where B is Element of c1 : for b1 being Element of c1 holds
not ( b4 in b3 & ( for b2 being Ordinal holds
not ( b5 in dom b2 & b4 in union {(b2 . b5)} ) ) )
}
& dom b2 = c2 & ( for b3 being Ordinal holds
( b3 in c2 implies b2 . b3 = { b4 where B is Element of c1 : for b1 being Element of c1 holds
not ( b5 in b4 & ( for b2 being Ordinal holds
not ( b6 in dom (b2 | b3) & b5 in union {((b2 | b3) . b6)} ) ) )
}
) ) )
proof end;
uniqueness
for b1, b2 being set holds
( ex b3 being T-Sequence st
( b1 = { b4 where B is Element of c1 : for b1 being Element of c1 holds
not ( b5 in b4 & ( for b2 being Ordinal holds
not ( b6 in dom b3 & b5 in union {(b3 . b6)} ) ) )
}
& dom b3 = c2 & ( for b4 being Ordinal holds
( b4 in c2 implies b3 . b4 = { b5 where B is Element of c1 : for b1 being Element of c1 holds
not ( b6 in b5 & ( for b2 being Ordinal holds
not ( b7 in dom (b3 | b4) & b6 in union {((b3 | b4) . b7)} ) ) )
}
) ) ) & ex b3 being T-Sequence st
( b2 = { b4 where B is Element of c1 : for b1 being Element of c1 holds
not ( b5 in b4 & ( for b2 being Ordinal holds
not ( b6 in dom b3 & b5 in union {(b3 . b6)} ) ) )
}
& dom b3 = c2 & ( for b4 being Ordinal holds
( b4 in c2 implies b3 . b4 = { b5 where B is Element of c1 : for b1 being Element of c1 holds
not ( b6 in b5 & ( for b2 being Ordinal holds
not ( b7 in dom (b3 | b4) & b6 in union {((b3 | b4) . b7)} ) ) )
}
) ) ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def1 defines Collapse ZF_COLLA:def 1 :
for b1 being non empty set
for b2 being Ordinal
for b3 being set holds
( b3 = Collapse b1,b2 iff ex b4 being T-Sequence st
( b3 = { b5 where B is Element of b1 : for b1 being Element of b1 holds
not ( b6 in b5 & ( for b2 being Ordinal holds
not ( b7 in dom b4 & b6 in union {(b4 . b7)} ) ) )
}
& dom b4 = b2 & ( for b5 being Ordinal holds
( b5 in b2 implies b4 . b5 = { b6 where B is Element of b1 : for b1 being Element of b1 holds
not ( b7 in b6 & ( for b2 being Ordinal holds
not ( b8 in dom (b4 | b5) & b7 in union {((b4 | b5) . b8)} ) ) )
}
) ) ) );

theorem Th1: :: ZF_COLLA:1
for b1 being non empty set
for b2 being Ordinal holds Collapse b1,b2 = { b3 where B is Element of b1 : for b1 being Element of b1 holds
not ( b4 in b3 & ( for b2 being Ordinal holds
not ( b5 in b2 & b4 in Collapse b1,b5 ) ) )
}
proof end;

theorem Th2: :: ZF_COLLA:2
for b1 being non empty set
for b2 being Element of b1 holds
( ( for b3 being Element of b1 holds
not b3 in b2 ) iff b2 in Collapse b1,{} )
proof end;

theorem Th3: :: ZF_COLLA:3
for b1 being non empty set
for b2 being Ordinal
for b3 being Element of b1 holds
( b3 /\ b1 c= Collapse b1,b2 iff b3 in Collapse b1,(succ b2) )
proof end;

theorem Th4: :: ZF_COLLA:4
for b1 being non empty set
for b2, b3 being Ordinal holds
( b2 c= b3 implies Collapse b1,b2 c= Collapse b1,b3 )
proof end;

theorem Th5: :: ZF_COLLA:5
for b1 being non empty set
for b2 being Element of b1 holds
ex b3 being Ordinal st b2 in Collapse b1,b3
proof end;

theorem Th6: :: ZF_COLLA:6
for b1 being non empty set
for b2 being Ordinal
for b3, b4 being Element of b1 holds
( b3 in b4 & b4 in Collapse b1,b2 implies ( b3 in Collapse b1,b2 & ex b5 being Ordinal st
( b5 in b2 & b3 in Collapse b1,b5 ) ) )
proof end;

theorem Th7: :: ZF_COLLA:7
for b1 being non empty set
for b2 being Ordinal holds Collapse b1,b2 c= b1
proof end;

theorem Th8: :: ZF_COLLA:8
for b1 being non empty set holds
ex b2 being Ordinal st b1 = Collapse b1,b2
proof end;

theorem Th9: :: ZF_COLLA:9
for b1 being non empty set holds
ex b2 being Function st
( dom b2 = b1 & ( for b3 being Element of b1 holds b2 . b3 = b2 .: b3 ) )
proof end;

definition
let c1 be Function;
let c2, c3 be set ;
pred c1 is_epsilon-isomorphism_of c2,c3 means :: ZF_COLLA:def 2
( dom a1 = a2 & rng a1 = a3 & a1 is one-to-one & ( for b1, b2 being set holds
( b1 in a2 & b2 in a2 implies ( not ( ex b3 being set st
( b3 = b2 & b1 in b3 ) & ( for b3 being set holds
not ( a1 . b2 = b3 & a1 . b1 in b3 ) ) ) & not ( ex b3 being set st
( a1 . b2 = b3 & a1 . b1 in b3 ) & ( for b3 being set holds
not ( b3 = b2 & b1 in b3 ) ) ) ) ) ) );
end;

:: deftheorem Def2 defines is_epsilon-isomorphism_of ZF_COLLA:def 2 :
for b1 being Function
for b2, b3 being set holds
( b1 is_epsilon-isomorphism_of b2,b3 iff ( dom b1 = b2 & rng b1 = b3 & b1 is one-to-one & ( for b4, b5 being set holds
( b4 in b2 & b5 in b2 implies ( not ( ex b6 being set st
( b6 = b5 & b4 in b6 ) & ( for b6 being set holds
not ( b1 . b5 = b6 & b1 . b4 in b6 ) ) ) & not ( ex b6 being set st
( b1 . b5 = b6 & b1 . b4 in b6 ) & ( for b6 being set holds
not ( b6 = b5 & b4 in b6 ) ) ) ) ) ) ) );

definition
let c1, c2 be set ;
pred c1,c2 are_epsilon-isomorphic means :: ZF_COLLA:def 3
ex b1 being Function st b1 is_epsilon-isomorphism_of a1,a2;
end;

:: deftheorem Def3 defines are_epsilon-isomorphic ZF_COLLA:def 3 :
for b1, b2 being set holds
( b1,b2 are_epsilon-isomorphic iff ex b3 being Function st b3 is_epsilon-isomorphism_of b1,b2 );

theorem Th10: :: ZF_COLLA:10
canceled;

theorem Th11: :: ZF_COLLA:11
canceled;

theorem Th12: :: ZF_COLLA:12
for b1 being non empty set
for b2 being Function holds
( dom b2 = b1 & ( for b3 being Element of b1 holds b2 . b3 = b2 .: b3 ) implies rng b2 is epsilon-transitive )
proof end;

theorem Th13: :: ZF_COLLA:13
for b1 being non empty set holds
( b1 |= the_axiom_of_extensionality implies for b2, b3 being Element of b1 holds
( ( for b4 being Element of b1 holds
( b4 in b2 iff b4 in b3 ) ) implies b2 = b3 ) )
proof end;

theorem Th14: :: ZF_COLLA:14
for b1 being non empty set holds
not ( b1 |= the_axiom_of_extensionality & ( for b2 being set holds
not ( b2 is epsilon-transitive & b1,b2 are_epsilon-isomorphic ) ) )
proof end;