Article MSSCYC_2, MML version 4.99.1005
:: MSSCYC_2:funcnot 1 => MSSCYC_2:func 1
definition
let a1 be ManySortedSign;
func InducedEdges A1 -> set means
for b1 being set holds
b1 in it
iff
ex b2, b3 being set st
b1 = [b2,b3] &
b2 in the OperSymbols of a1 &
b3 in the carrier of a1 &
(ex b4 being natural set st
ex b5 being Element of (the carrier of a1) * st
(the Arity of a1) . b2 = b5 & b4 in dom b5 & b5 . b4 = b3);
end;
:: MSSCYC_2:def 1
theorem
for b1 being ManySortedSign
for b2 being set holds
b2 = InducedEdges b1
iff
for b3 being set holds
b3 in b2
iff
ex b4, b5 being set st
b3 = [b4,b5] &
b4 in the OperSymbols of b1 &
b5 in the carrier of b1 &
(ex b6 being natural set st
ex b7 being Element of (the carrier of b1) * st
(the Arity of b1) . b4 = b7 & b6 in dom b7 & b7 . b6 = b5);
:: MSSCYC_2:th 1
theorem
for b1 being ManySortedSign holds
InducedEdges b1 c= [:the OperSymbols of b1,the carrier of b1:];
:: MSSCYC_2:funcnot 2 => MSSCYC_2:func 2
definition
let a1 be ManySortedSign;
func InducedSource A1 -> Function-like quasi_total Relation of InducedEdges a1,the carrier of a1 means
for b1 being set
st b1 in InducedEdges a1
holds it . b1 = b1 `2;
end;
:: MSSCYC_2:def 2
theorem
for b1 being ManySortedSign
for b2 being Function-like quasi_total Relation of InducedEdges b1,the carrier of b1 holds
b2 = InducedSource b1
iff
for b3 being set
st b3 in InducedEdges b1
holds b2 . b3 = b3 `2;
:: MSSCYC_2:funcnot 3 => MSSCYC_2:func 3
definition
let a1 be ManySortedSign;
func InducedTarget A1 -> Function-like quasi_total Relation of InducedEdges a1,the carrier of a1 means
for b1 being set
st b1 in InducedEdges a1
holds it . b1 = (the ResultSort of a1) . (b1 `1);
end;
:: MSSCYC_2:def 3
theorem
for b1 being ManySortedSign
for b2 being Function-like quasi_total Relation of InducedEdges b1,the carrier of b1 holds
b2 = InducedTarget b1
iff
for b3 being set
st b3 in InducedEdges b1
holds b2 . b3 = (the ResultSort of b1) . (b3 `1);
:: MSSCYC_2:funcnot 4 => MSSCYC_2:func 4
definition
let a1 be non empty ManySortedSign;
func InducedGraph A1 -> Graph-like MultiGraphStruct equals
MultiGraphStruct(#the carrier of a1,InducedEdges a1,InducedSource a1,InducedTarget a1#);
end;
:: MSSCYC_2:def 4
theorem
for b1 being non empty ManySortedSign holds
InducedGraph b1 = MultiGraphStruct(#the carrier of b1,InducedEdges b1,InducedSource b1,InducedTarget b1#);
:: MSSCYC_2:th 2
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being Element of the carrier of b1
for b4 being natural set
st 1 <= b4
holds ex b5 being Element of (the Sorts of FreeMSA b2) . b3 st
depth b5 = b4
iff
ex b5 being oriented Chain of InducedGraph b1 st
len b5 = b4 &
(vertex-seq b5) . ((len b5) + 1) = b3;
:: MSSCYC_2:th 3
theorem
for b1 being non empty void ManySortedSign holds
b1 is monotonic
iff
InducedGraph b1 is well-founded;
:: MSSCYC_2:th 4
theorem
for b1 being non empty non void ManySortedSign
st b1 is monotonic
holds InducedGraph b1 is well-founded;
:: MSSCYC_2:th 5
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty finite-yielding ManySortedSet of the carrier of b1
st b1 is finitely_operated
for b3 being natural set
for b4 being Element of the carrier of b1 holds
{b5 where b5 is Element of (the Sorts of FreeMSA b2) . b4: depth b5 <= b3} is finite;
:: MSSCYC_2:th 6
theorem
for b1 being non empty non void ManySortedSign
st b1 is finitely_operated & InducedGraph b1 is well-founded
holds b1 is monotonic;