Article TREES_A, MML version 4.99.1005
:: TREES_A:th 1
theorem
for b1, b2, b3, b4 being Relation-like Function-like FinSequence-like set
st b1 ^ b2 = b4 ^ b3
holds b1,b4 are_c=-comparable;
:: TREES_A:funcnot 1 => TREES_A:func 1
definition
let a1, a2 be non empty Tree-like set;
let a3 be AntiChain_of_Prefixes of a1;
assume a3 <> {};
func tree(A1,A3,A2) -> non empty Tree-like set means
for b1 being FinSequence of NAT holds
b1 in it
iff
((b1 in a1 implies ex b2 being FinSequence of NAT st
b2 in a3 & b2 c< b1) implies ex b2, b3 being FinSequence of NAT st
b2 in a3 & b3 in a2 & b1 = b2 ^ b3);
end;
:: TREES_A:def 1
theorem
for b1, b2 being non empty Tree-like set
for b3 being AntiChain_of_Prefixes of b1
st b3 <> {}
for b4 being non empty Tree-like set holds
b4 = tree(b1,b3,b2)
iff
for b5 being FinSequence of NAT holds
b5 in b4
iff
((b5 in b1 implies ex b6 being FinSequence of NAT st
b6 in b3 & b6 c< b5) implies ex b6, b7 being FinSequence of NAT st
b6 in b3 & b7 in b2 & b5 = b6 ^ b7);
:: TREES_A:th 2
theorem
for b1, b2 being non empty Tree-like set
for b3 being AntiChain_of_Prefixes of b1
st b3 <> {}
holds tree(b1,b3,b2) = {b4 where b4 is Element of b1: for b5 being FinSequence of NAT
st b5 in b3
holds not b5 c< b4} \/ {b4 ^ b5 where b4 is Element of b1, b5 is Element of b2: b4 in b3};
:: TREES_A:th 3
theorem
for b1 being non empty Tree-like set
for b2 being AntiChain_of_Prefixes of b1 holds
{b3 where b3 is Element of b1: for b4 being FinSequence of NAT
st b4 in b2
holds not b4 c= b3} c= {b3 where b3 is Element of b1: for b4 being FinSequence of NAT
st b4 in b2
holds not b4 c< b3};
:: TREES_A:th 4
theorem
for b1 being non empty Tree-like set
for b2 being AntiChain_of_Prefixes of b1 holds
b2 c= {b3 where b3 is Element of b1: for b4 being FinSequence of NAT
st b4 in b2
holds not b4 c< b3};
:: TREES_A:th 5
theorem
for b1 being non empty Tree-like set
for b2 being AntiChain_of_Prefixes of b1 holds
{b3 where b3 is Element of b1: for b4 being FinSequence of NAT
st b4 in b2
holds not b4 c< b3} \ {b3 where b3 is Element of b1: for b4 being FinSequence of NAT
st b4 in b2
holds not b4 c= b3} = b2;
:: TREES_A:th 6
theorem
for b1, b2 being non empty Tree-like set
for b3 being AntiChain_of_Prefixes of b1 holds
b3 c= {b4 ^ b5 where b4 is Element of b1, b5 is Element of b2: b4 in b3};
:: TREES_A:th 7
theorem
for b1, b2 being non empty Tree-like set
for b3 being AntiChain_of_Prefixes of b1
st b3 <> {}
holds tree(b1,b3,b2) = {b4 where b4 is Element of b1: for b5 being FinSequence of NAT
st b5 in b3
holds not b5 c= b4} \/ {b4 ^ b5 where b4 is Element of b1, b5 is Element of b2: b4 in b3};
:: TREES_A:th 9
theorem
for b1, b2 being non empty Tree-like set
for b3 being AntiChain_of_Prefixes of b2
for b4 being FinSequence of NAT
st b4 in b3
holds b1 = (tree(b2,b3,b1)) | b4;
:: TREES_A:exreg 1
registration
let a1 be non empty Tree-like set;
cluster non empty AntiChain_of_Prefixes-like AntiChain_of_Prefixes of a1;
end;
:: TREES_A:funcnot 2 => TREES_A:func 2
definition
let a1 be non empty Tree-like set;
let a2 be Element of a1;
redefine func {a2} -> AntiChain_of_Prefixes of a1;
end;
:: TREES_A:th 10
theorem
for b1, b2 being non empty Tree-like set
for b3 being Element of b1 holds
tree(b1,{b3},b2) = b1 with-replacement(b3,b2);
:: TREES_A:funcnot 3 => TREES_A:func 3
definition
let a1 be Relation-like Function-like DecoratedTree-like set;
let a2 be AntiChain_of_Prefixes of proj1 a1;
let a3 be Relation-like Function-like DecoratedTree-like set;
assume a2 <> {};
func tree(A1,A2,A3) -> Relation-like Function-like DecoratedTree-like set means
proj1 it = tree(proj1 a1,a2,proj1 a3) &
(for b1 being FinSequence of NAT
st b1 in tree(proj1 a1,a2,proj1 a3) &
(ex b2 being FinSequence of NAT st
b2 in a2 &
(not b2 c= b1 implies it . b1 <> a1 . b1))
holds ex b2, b3 being FinSequence of NAT st
b2 in a2 & b3 in proj1 a3 & b1 = b2 ^ b3 & it . b1 = a3 . b3);
end;
:: TREES_A:def 2
theorem
for b1 being Relation-like Function-like DecoratedTree-like set
for b2 being AntiChain_of_Prefixes of proj1 b1
for b3 being Relation-like Function-like DecoratedTree-like set
st b2 <> {}
for b4 being Relation-like Function-like DecoratedTree-like set holds
b4 = tree(b1,b2,b3)
iff
proj1 b4 = tree(proj1 b1,b2,proj1 b3) &
(for b5 being FinSequence of NAT
st b5 in tree(proj1 b1,b2,proj1 b3) &
(ex b6 being FinSequence of NAT st
b6 in b2 &
(not b6 c= b5 implies b4 . b5 <> b1 . b5))
holds ex b6, b7 being FinSequence of NAT st
b6 in b2 & b7 in proj1 b3 & b5 = b6 ^ b7 & b4 . b5 = b3 . b7);
:: TREES_A:th 13
theorem
for b1, b2 being Relation-like Function-like DecoratedTree-like set
for b3 being AntiChain_of_Prefixes of proj1 b1
st b3 <> {}
for b4 being FinSequence of NAT
st b4 in proj1 tree(b1,b3,b2) &
(ex b5 being FinSequence of NAT st
b5 in b3 &
(not b5 c= b4 implies (tree(b1,b3,b2)) . b4 <> b1 . b4))
holds ex b5, b6 being FinSequence of NAT st
b5 in b3 & b6 in proj1 b2 & b4 = b5 ^ b6 & (tree(b1,b3,b2)) . b4 = b2 . b6;
:: TREES_A:th 14
theorem
for b1 being FinSequence of NAT
for b2, b3 being Relation-like Function-like DecoratedTree-like set
st b1 in proj1 b2
for b4 being FinSequence of NAT
st b4 in proj1 (b2 with-replacement(b1,b3)) &
(not b1 c= b4 implies (b2 with-replacement(b1,b3)) . b4 <> b2 . b4)
holds ex b5 being FinSequence of NAT st
b5 in proj1 b3 & b4 = b1 ^ b5 & (b2 with-replacement(b1,b3)) . b4 = b3 . b5;
:: TREES_A:th 15
theorem
for b1, b2 being Relation-like Function-like DecoratedTree-like set
for b3 being AntiChain_of_Prefixes of proj1 b1
st b3 <> {}
for b4 being FinSequence of NAT
st b4 in proj1 tree(b1,b3,b2) &
b4 in {b5 where b5 is Element of proj1 b1: for b6 being FinSequence of NAT
st b6 in b3
holds not b6 c= b5}
holds (tree(b1,b3,b2)) . b4 = b1 . b4;
:: TREES_A:th 16
theorem
for b1 being FinSequence of NAT
for b2, b3 being Relation-like Function-like DecoratedTree-like set
st b1 in proj1 b2
for b4 being FinSequence of NAT
st b4 in proj1 (b2 with-replacement(b1,b3)) & b4 in {b5 where b5 is Element of proj1 b2: not b1 c= b5}
holds (b2 with-replacement(b1,b3)) . b4 = b2 . b4;
:: TREES_A:th 17
theorem
for b1, b2 being Relation-like Function-like DecoratedTree-like set
for b3 being AntiChain_of_Prefixes of proj1 b1
for b4 being FinSequence of NAT
st b4 in proj1 tree(b1,b3,b2) &
b4 in {b5 ^ b6 where b5 is Element of proj1 b1, b6 is Element of proj1 b2: b5 in b3}
holds ex b5 being Element of proj1 b1 st
ex b6 being Element of proj1 b2 st
b4 = b5 ^ b6 & b5 in b3 & (tree(b1,b3,b2)) . b4 = b2 . b6;
:: TREES_A:th 18
theorem
for b1 being FinSequence of NAT
for b2, b3 being Relation-like Function-like DecoratedTree-like set
st b1 in proj1 b2
for b4 being FinSequence of NAT
st b4 in proj1 (b2 with-replacement(b1,b3)) &
b4 in {b1 ^ b5 where b5 is Element of proj1 b3: b5 = b5}
holds ex b5 being Element of proj1 b3 st
b4 = b1 ^ b5 & (b2 with-replacement(b1,b3)) . b4 = b3 . b5;
:: TREES_A:th 19
theorem
for b1, b2 being Relation-like Function-like DecoratedTree-like set
for b3 being Element of proj1 b1 holds
tree(b1,{b3},b2) = b1 with-replacement(b3,b2);
:: TREES_A:funcnot 4 => TREES_A:func 4
definition
let a1 be non empty set;
let a2 be Function-like DecoratedTree-like ParametrizedSubset of a1;
let a3 be AntiChain_of_Prefixes of proj1 a2;
let a4 be Function-like DecoratedTree-like ParametrizedSubset of a1;
assume a3 <> {};
func tree(A2,A3,A4) -> Function-like DecoratedTree-like ParametrizedSubset of a1 equals
tree(a2,a3,a4);
end;
:: TREES_A:def 3
theorem
for b1 being non empty set
for b2 being Function-like DecoratedTree-like ParametrizedSubset of b1
for b3 being AntiChain_of_Prefixes of proj1 b2
for b4 being Function-like DecoratedTree-like ParametrizedSubset of b1
st b3 <> {}
holds tree(b2,b3,b4) = tree(b2,b3,b4);