Article CIRCTRM1, MML version 4.99.1005
:: CIRCTRM1:th 1
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Variables of b2
for b4 being Element of b1 -Terms b3
for b5 being Element of b1 -Terms ((the Sorts of b2) \/ b3)
st b5 = b4
holds the_sort_of b5 = the_sort_of b4;
:: CIRCTRM1:funcnot 1 => CIRCTRM1:func 1
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
func A3 -CircuitStr -> non empty strict ManySortedSign equals
ManySortedSign(#Subtrees a3,[:the OperSymbols of a1,{the carrier of a1}:] -Subtrees a3,[:the OperSymbols of a1,{the carrier of a1}:] -ImmediateSubtrees a3,incl ([:the OperSymbols of a1,{the carrier of a1}:] -Subtrees a3)#);
end;
:: CIRCTRM1:def 1
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2) holds
b3 -CircuitStr = ManySortedSign(#Subtrees b3,[:the OperSymbols of b1,{the carrier of b1}:] -Subtrees b3,[:the OperSymbols of b1,{the carrier of b1}:] -ImmediateSubtrees b3,incl ([:the OperSymbols of b1,{the carrier of b1}:] -Subtrees b3)#);
:: CIRCTRM1:funcreg 1
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
cluster a3 -CircuitStr -> non empty strict unsplit;
end;
:: CIRCTRM1: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 non empty Element of bool (b1 -Terms b2) holds
b3 -CircuitStr is void
iff
for b4 being Element of b3 holds
b4 is root &
not b4 . {} in [:the OperSymbols of b1,{the carrier of b1}:];
:: CIRCTRM1:th 3
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2) holds
b3 is SetWithCompoundTerm of b1,b2
iff
b3 -CircuitStr is not void;
:: CIRCTRM1:funcreg 2
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
cluster a3 -CircuitStr -> non empty strict non void;
end;
:: CIRCTRM1:th 4
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2) holds
(for b4 being Element of the carrier of b3 -CircuitStr holds
b4 is Element of b1 -Terms b2) &
(for b4 being set
st b4 in the OperSymbols of b3 -CircuitStr
holds b4 is CompoundTerm of b1,b2);
:: CIRCTRM1:th 5
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being Element of the carrier of b3 -CircuitStr holds
b4 in the OperSymbols of b3 -CircuitStr
iff
b4 is CompoundTerm of b1,b2;
:: CIRCTRM1:funcreg 3
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
let a4 be Element of the OperSymbols of a3 -CircuitStr;
cluster the_arity_of a4 -> DTree-yielding;
end;
:: CIRCTRM1:condreg 1
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
cluster -> Relation-like Function-like finite (Element of the carrier of a3 -CircuitStr);
end;
:: CIRCTRM1:condreg 2
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
cluster -> DecoratedTree-like (Element of the carrier of a3 -CircuitStr);
end;
:: CIRCTRM1:condreg 3
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
cluster -> Relation-like Function-like finite (Element of the OperSymbols of a3 -CircuitStr);
end;
:: CIRCTRM1:condreg 4
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
cluster -> DecoratedTree-like (Element of the OperSymbols of a3 -CircuitStr);
end;
:: CIRCTRM1:th 7
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3, b4 being non empty Element of bool (b1 -Terms b2) holds
the Arity of b3 -CircuitStr tolerates the Arity of b4 -CircuitStr &
the ResultSort of b3 -CircuitStr tolerates the ResultSort of b4 -CircuitStr;
:: CIRCTRM1:funcreg 4
registration
let a1, a2 be constituted-DTrees set;
cluster a1 \/ a2 -> constituted-DTrees;
end;
:: CIRCTRM1:th 8
theorem
for b1, b2 being non empty constituted-DTrees set holds
Subtrees (b1 \/ b2) = (Subtrees b1) \/ Subtrees b2;
:: CIRCTRM1:th 9
theorem
for b1, b2 being non empty constituted-DTrees set
for b3 being set holds
b3 -Subtrees (b1 \/ b2) = (b3 -Subtrees b1) \/ (b3 -Subtrees b2);
:: CIRCTRM1:th 10
theorem
for b1, b2 being non empty constituted-DTrees set
st (for b3 being Element of b1 holds
b3 is finite) &
(for b3 being Element of b2 holds
b3 is finite)
for b3 being set holds
b3 -ImmediateSubtrees (b1 \/ b2) = (b3 -ImmediateSubtrees b1) +* (b3 -ImmediateSubtrees b2);
:: CIRCTRM1:th 11
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3, b4 being non empty Element of bool (b1 -Terms b2) holds
(b3 \/ b4) -CircuitStr = b3 -CircuitStr +* (b4 -CircuitStr);
:: CIRCTRM1:th 12
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being set holds
b4 in InputVertices (b3 -CircuitStr)
iff
b4 in Subtrees b3 &
(ex b5 being Element of the carrier of b1 st
ex b6 being Element of b2 . b5 st
b4 = root-tree [b6,b5]);
:: CIRCTRM1:th 13
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being SetWithCompoundTerm of b1,b2
for b4 being Element of the OperSymbols of b3 -CircuitStr holds
b4 = (b4 . {}) -tree the_arity_of b4;
:: CIRCTRM1:funcnot 2 => CIRCTRM1:func 2
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be Element of the carrier of a3 -CircuitStr;
let a5 be MSAlgebra over a1;
func the_sort_of(A4,A5) -> set means
for b1 being Element of a1 -Terms a2
st b1 = a4
holds it = (the Sorts of a5) . the_sort_of b1;
end;
:: CIRCTRM1:def 2
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being Element of the carrier of b3 -CircuitStr
for b5 being MSAlgebra over b1
for b6 being set holds
b6 = the_sort_of(b4,b5)
iff
for b7 being Element of b1 -Terms b2
st b7 = b4
holds b6 = (the Sorts of b5) . the_sort_of b7;
:: CIRCTRM1:funcreg 5
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be Element of the carrier of a3 -CircuitStr;
let a5 be non-empty MSAlgebra over a1;
cluster the_sort_of(a4,a5) -> non empty;
end;
:: CIRCTRM1:funcnot 3 => CIRCTRM1:func 3
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be Element of the OperSymbols of a3 -CircuitStr;
let a5 be MSAlgebra over a1;
assume a3 is SetWithCompoundTerm of a1,a2;
func the_action_of(A4,A5) -> Relation-like Function-like set means
for b1 being SetWithCompoundTerm of a1,a2
st b1 = a3
for b2 being Element of the OperSymbols of b1 -CircuitStr
st b2 = a4
holds it = (the Charact of a5) . ((b2 . {}) `1);
end;
:: CIRCTRM1:def 3
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
st b3 is SetWithCompoundTerm of b1,b2
for b4 being Element of the OperSymbols of b3 -CircuitStr
for b5 being MSAlgebra over b1
for b6 being Relation-like Function-like set holds
b6 = the_action_of(b4,b5)
iff
for b7 being SetWithCompoundTerm of b1,b2
st b7 = b3
for b8 being Element of the OperSymbols of b7 -CircuitStr
st b8 = b4
holds b6 = (the Charact of b5) . ((b8 . {}) `1);
:: CIRCTRM1:sch 1
scheme CIRCTRM1:sch 1
{F1 -> non empty set,
F2 -> non-empty ManySortedSet of F1(),
F3 -> non-empty ManySortedSet of F1()}:
ex b1 being ManySortedFunction of F2(),F3() st
for b2 being Element of F1()
for b3 being Element of F2() . b2 holds
P1[b2, b3, (b1 . b2) . b3]
provided
for b1 being Element of F1()
for b2 being Element of F2() . b1 holds
ex b3 being Element of F3() . b1 st
P1[b1, b2, b3];
:: CIRCTRM1:funcnot 4 => CIRCTRM1:func 4
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be MSAlgebra over a1;
func A3 -CircuitSorts A4 -> ManySortedSet of the carrier of a3 -CircuitStr means
for b1 being Element of the carrier of a3 -CircuitStr holds
it . b1 = the_sort_of(b1,a4);
end;
:: CIRCTRM1:def 4
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being MSAlgebra over b1
for b5 being ManySortedSet of the carrier of b3 -CircuitStr holds
b5 = b3 -CircuitSorts b4
iff
for b6 being Element of the carrier of b3 -CircuitStr holds
b5 . b6 = the_sort_of(b6,b4);
:: CIRCTRM1:funcreg 6
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be non-empty MSAlgebra over a1;
cluster a3 -CircuitSorts a4 -> non-empty;
end;
:: CIRCTRM1:th 14
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty MSAlgebra over b1
for b4 being SetWithCompoundTerm of b1,b2
for b5 being Element of the OperSymbols of b4 -CircuitStr
for b6 being Element of the OperSymbols of b1
st b5 . {} = [b6,the carrier of b1]
holds (the_arity_of b5) * (b4 -CircuitSorts b3) = (the_arity_of b6) * the Sorts of b3;
:: CIRCTRM1:funcnot 5 => CIRCTRM1:func 5
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be non-empty MSAlgebra over a1;
func A3 -CircuitCharact A4 -> ManySortedFunction of (a3 -CircuitSorts a4) # * the Arity of a3 -CircuitStr,(a3 -CircuitSorts a4) * the ResultSort of a3 -CircuitStr means
for b1 being Element of the OperSymbols of a3 -CircuitStr
st b1 in the OperSymbols of a3 -CircuitStr
holds it . b1 = the_action_of(b1,a4);
end;
:: CIRCTRM1:def 5
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being non-empty MSAlgebra over b1
for b5 being ManySortedFunction of (b3 -CircuitSorts b4) # * the Arity of b3 -CircuitStr,(b3 -CircuitSorts b4) * the ResultSort of b3 -CircuitStr holds
b5 = b3 -CircuitCharact b4
iff
for b6 being Element of the OperSymbols of b3 -CircuitStr
st b6 in the OperSymbols of b3 -CircuitStr
holds b5 . b6 = the_action_of(b6,b4);
:: CIRCTRM1:funcnot 6 => CIRCTRM1:func 6
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non empty Element of bool (a1 -Terms a2);
let a4 be non-empty MSAlgebra over a1;
func A3 -Circuit A4 -> strict non-empty MSAlgebra over a3 -CircuitStr equals
MSAlgebra(#a3 -CircuitSorts a4,a3 -CircuitCharact a4#);
end;
:: CIRCTRM1:def 6
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non empty Element of bool (b1 -Terms b2)
for b4 being non-empty MSAlgebra over b1 holds
b3 -Circuit b4 = MSAlgebra(#b3 -CircuitSorts b4,b3 -CircuitCharact b4#);
:: CIRCTRM1:th 15
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty MSAlgebra over b1
for b4 being non empty Element of bool (b1 -Terms b2)
for b5 being Element of the carrier of b4 -CircuitStr holds
(the Sorts of b4 -Circuit b3) . b5 = the_sort_of(b5,b3);
:: CIRCTRM1:th 16
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty locally-finite MSAlgebra over b1
for b4 being SetWithCompoundTerm of b1,b2
for b5 being Element of the OperSymbols of b4 -CircuitStr holds
Den(b5,b4 -Circuit b3) = the_action_of(b5,b3);
:: CIRCTRM1:th 17
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty locally-finite MSAlgebra over b1
for b4 being SetWithCompoundTerm of b1,b2
for b5 being Element of the OperSymbols of b4 -CircuitStr
for b6 being Element of the OperSymbols of b1
st b5 . {} = [b6,the carrier of b1]
holds Den(b5,b4 -Circuit b3) = Den(b6,b3);
:: CIRCTRM1:th 18
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty locally-finite MSAlgebra over b1
for b4 being non empty Element of bool (b1 -Terms b2) holds
b4 -Circuit b3 is locally-finite(b4 -CircuitStr);
:: CIRCTRM1:funcreg 7
registration
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
let a4 be non-empty locally-finite MSAlgebra over a1;
cluster a3 -Circuit a4 -> strict non-empty locally-finite;
end;
:: CIRCTRM1:th 19
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3, b4 being SetWithCompoundTerm of b1,b2
for b5 being non-empty MSAlgebra over b1 holds
b3 -Circuit b5 tolerates b4 -Circuit b5;
:: CIRCTRM1:th 20
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3, b4 being SetWithCompoundTerm of b1,b2
for b5 being non-empty MSAlgebra over b1 holds
(b3 \/ b4) -Circuit b5 = (b3 -Circuit b5) +* (b4 -Circuit b5);
:: CIRCTRM1:funcnot 7 => CIRCTRM1:func 7
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be Variables of a2;
let a4 be Relation-like Function-like DecoratedTree-like set;
let a5 be ManySortedFunction of a3,the Sorts of a2;
assume a4 is Element of a1 -Terms a3;
func A4 @(A5,A2) -> set means
ex b1 being Element of a1 -Terms ((the Sorts of a2) \/ a3) st
b1 = a4 & it = b1 @ a5;
end;
:: CIRCTRM1:def 7
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being Variables of b2
for b4 being Relation-like Function-like DecoratedTree-like set
st b4 is Element of b1 -Terms b3
for b5 being ManySortedFunction of b3,the Sorts of b2
for b6 being set holds
b6 = b4 @(b5,b2)
iff
ex b7 being Element of b1 -Terms ((the Sorts of b2) \/ b3) st
b7 = b4 & b6 = b7 @ b5;
:: CIRCTRM1:modenot 1 => CIRCTRM1:mode 1
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
let a4 be non-empty locally-finite MSAlgebra over a1;
let a5 be Element of product the Sorts of a3 -Circuit a4;
mode CompatibleValuation of A5 -> ManySortedFunction of a2,the Sorts of a4 means
for b1 being Element of the carrier of a1
for b2 being Element of a2 . b1
st root-tree [b2,b1] in Subtrees a3
holds (it . b1) . b2 = a5 . root-tree [b2,b1];
end;
:: CIRCTRM1:dfs 8
definiens
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be SetWithCompoundTerm of a1,a2;
let a4 be non-empty locally-finite MSAlgebra over a1;
let a5 be Element of product the Sorts of a3 -Circuit a4;
let a6 be ManySortedFunction of a2,the Sorts of a4;
To prove
a6 is CompatibleValuation of a5
it is sufficient to prove
thus for b1 being Element of the carrier of a1
for b2 being Element of a2 . b1
st root-tree [b2,b1] in Subtrees a3
holds (a6 . b1) . b2 = a5 . root-tree [b2,b1];
:: CIRCTRM1:def 8
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being SetWithCompoundTerm of b1,b2
for b4 being non-empty locally-finite MSAlgebra over b1
for b5 being Element of product the Sorts of b3 -Circuit b4
for b6 being ManySortedFunction of b2,the Sorts of b4 holds
b6 is CompatibleValuation of b5
iff
for b7 being Element of the carrier of b1
for b8 being Element of b2 . b7
st root-tree [b8,b7] in Subtrees b3
holds (b6 . b7) . b8 = b5 . root-tree [b8,b7];
:: CIRCTRM1:th 21
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being Element of product the Sorts of b4 -Circuit b2
for b6 being CompatibleValuation of b5
for b7 being Element of NAT holds
b6 is CompatibleValuation of Following(b5,b7);
:: CIRCTRM1:funcreg 8
registration
let a1 be set;
let a2 be non empty non void ManySortedSign;
let a3 be non-empty ManySortedSet of the carrier of a2;
let a4 be FinSequence of a2 -Terms a3;
cluster a1 -tree a4 -> Relation-like Function-like finite DecoratedTree-like;
end;
:: CIRCTRM1:th 22
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being Element of product the Sorts of b4 -Circuit b2
for b6 being CompatibleValuation of b5
for b7 being Element of b1 -Terms b3
st b7 in Subtrees b4
holds Following(b5,1 + height proj1 b7) is_stable_at b7 &
(Following(b5,1 + height proj1 b7)) . b7 = b7 @(b6,b2);
:: CIRCTRM1:th 23
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
st for b5 being Element of b1 -Terms b3
for b6 being Element of the OperSymbols of b1
st b5 in Subtrees b4 &
b5 . {} = [b6,the carrier of b1]
holds the_arity_of b6 <> {}
for b5 being Element of product the Sorts of b4 -Circuit b2
for b6 being CompatibleValuation of b5
for b7 being Element of b1 -Terms b3
st b7 in Subtrees b4
holds Following(b5,height proj1 b7) is_stable_at b7 &
(Following(b5,height proj1 b7)) . b7 = b7 @(b6,b2);
:: CIRCTRM1:prednot 1 => CIRCTRM1:pred 1
definition
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
pred A1,A2 are_equivalent_wrt A3,A4 means
a3 is one-to-one & a4 is one-to-one & a3,a4 form_morphism_between a1,a2 & a3 ",a4 " form_morphism_between a2,a1;
end;
:: CIRCTRM1:dfs 9
definiens
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
To prove
a1,a2 are_equivalent_wrt a3,a4
it is sufficient to prove
thus a3 is one-to-one & a4 is one-to-one & a3,a4 form_morphism_between a1,a2 & a3 ",a4 " form_morphism_between a2,a1;
:: CIRCTRM1:def 9
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set holds
b1,b2 are_equivalent_wrt b3,b4
iff
b3 is one-to-one & b4 is one-to-one & b3,b4 form_morphism_between b1,b2 & b3 ",b4 " form_morphism_between b2,b1;
:: CIRCTRM1:th 24
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b1,b2 are_equivalent_wrt b3,b4
holds the carrier of b2 = b3 .: the carrier of b1 & the OperSymbols of b2 = b4 .: the OperSymbols of b1;
:: CIRCTRM1:th 25
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b1,b2 are_equivalent_wrt b3,b4
holds proj2 b3 = the carrier of b2 & proj2 b4 = the OperSymbols of b2;
:: CIRCTRM1:th 26
theorem
for b1 being non empty ManySortedSign holds
b1,b1 are_equivalent_wrt id the carrier of b1,id the OperSymbols of b1;
:: CIRCTRM1:th 27
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b1,b2 are_equivalent_wrt b3,b4
holds b2,b1 are_equivalent_wrt b3 ",b4 ";
:: CIRCTRM1:th 28
theorem
for b1, b2, b3 being non empty ManySortedSign
for b4, b5, b6, b7 being Relation-like Function-like set
st b1,b2 are_equivalent_wrt b4,b5 & b2,b3 are_equivalent_wrt b6,b7
holds b1,b3 are_equivalent_wrt b4 * b6,b5 * b7;
:: CIRCTRM1:th 29
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b1,b2 are_equivalent_wrt b3,b4
holds b3 .: InputVertices b1 = InputVertices b2 & b3 .: InnerVertices b1 = InnerVertices b2;
:: CIRCTRM1:prednot 2 => CIRCTRM1:pred 2
definition
let a1, a2 be non empty ManySortedSign;
pred A1,A2 are_equivalent means
ex b1, b2 being Relation-like Function-like one-to-one set st
a1,a2 are_equivalent_wrt b1,b2;
symmetry;
:: for a1, a2 being non empty ManySortedSign
:: st a1,a2 are_equivalent
:: holds a2,a1 are_equivalent;
reflexivity;
:: for a1 being non empty ManySortedSign holds
:: a1,a1 are_equivalent;
end;
:: CIRCTRM1:dfs 10
definiens
let a1, a2 be non empty ManySortedSign;
To prove
a1,a2 are_equivalent
it is sufficient to prove
thus ex b1, b2 being Relation-like Function-like one-to-one set st
a1,a2 are_equivalent_wrt b1,b2;
:: CIRCTRM1:def 10
theorem
for b1, b2 being non empty ManySortedSign holds
b1,b2 are_equivalent
iff
ex b3, b4 being Relation-like Function-like one-to-one set st
b1,b2 are_equivalent_wrt b3,b4;
:: CIRCTRM1:th 30
theorem
for b1, b2, b3 being non empty ManySortedSign
st b1,b2 are_equivalent & b2,b3 are_equivalent
holds b1,b3 are_equivalent;
:: CIRCTRM1:prednot 3 => CIRCTRM1:pred 3
definition
let a1, a2 be non empty ManySortedSign;
let a3 be Relation-like Function-like set;
pred A3 preserves_inputs_of A1,A2 means
a3 .: InputVertices a1 c= InputVertices a2;
end;
:: CIRCTRM1:dfs 11
definiens
let a1, a2 be non empty ManySortedSign;
let a3 be Relation-like Function-like set;
To prove
a3 preserves_inputs_of a1,a2
it is sufficient to prove
thus a3 .: InputVertices a1 c= InputVertices a2;
:: CIRCTRM1:def 11
theorem
for b1, b2 being non empty ManySortedSign
for b3 being Relation-like Function-like set holds
b3 preserves_inputs_of b1,b2
iff
b3 .: InputVertices b1 c= InputVertices b2;
:: CIRCTRM1:th 31
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b3,b4 form_morphism_between b1,b2
for b5 being Element of the carrier of b1 holds
b3 . b5 is Element of the carrier of b2;
:: CIRCTRM1:th 32
theorem
for b1, b2 being non empty non void ManySortedSign
for b3, b4 being Relation-like Function-like set
st b3,b4 form_morphism_between b1,b2
for b5 being Element of the OperSymbols of b1 holds
b4 . b5 is Element of the OperSymbols of b2;
:: CIRCTRM1:th 33
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
st b3,b4 form_morphism_between b1,b2
holds b3 .: InnerVertices b1 c= InnerVertices b2;
:: CIRCTRM1:th 34
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
st b3,b4 form_morphism_between b1,b2
for b5 being Element of the carrier of b1
st b5 in InnerVertices b1
for b6 being Element of the carrier of b2
st b6 = b3 . b5
holds action_at b6 = b4 . action_at b5;
:: CIRCTRM1:prednot 4 => CIRCTRM1:pred 4
definition
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
let a5 be non-empty MSAlgebra over a1;
let a6 be non-empty MSAlgebra over a2;
pred A3,A4 form_embedding_of A5,A6 means
a3 is one-to-one & a4 is one-to-one & a3,a4 form_morphism_between a1,a2 & the Sorts of a5 = a3 * the Sorts of a6 & the Charact of a5 = a4 * the Charact of a6;
end;
:: CIRCTRM1:dfs 12
definiens
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
let a5 be non-empty MSAlgebra over a1;
let a6 be non-empty MSAlgebra over a2;
To prove
a3,a4 form_embedding_of a5,a6
it is sufficient to prove
thus a3 is one-to-one & a4 is one-to-one & a3,a4 form_morphism_between a1,a2 & the Sorts of a5 = a3 * the Sorts of a6 & the Charact of a5 = a4 * the Charact of a6;
:: CIRCTRM1:def 12
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty MSAlgebra over b1
for b6 being non-empty MSAlgebra over b2 holds
b3,b4 form_embedding_of b5,b6
iff
b3 is one-to-one & b4 is one-to-one & b3,b4 form_morphism_between b1,b2 & the Sorts of b5 = b3 * the Sorts of b6 & the Charact of b5 = b4 * the Charact of b6;
:: CIRCTRM1:th 35
theorem
for b1 being non empty ManySortedSign
for b2 being non-empty MSAlgebra over b1 holds
id the carrier of b1,id the OperSymbols of b1 form_embedding_of b2,b2;
:: CIRCTRM1:th 36
theorem
for b1, b2, b3 being non empty ManySortedSign
for b4, b5, b6, b7 being Relation-like Function-like set
for b8 being non-empty MSAlgebra over b1
for b9 being non-empty MSAlgebra over b2
for b10 being non-empty MSAlgebra over b3
st b4,b5 form_embedding_of b8,b9 & b6,b7 form_embedding_of b9,b10
holds b4 * b6,b5 * b7 form_embedding_of b8,b10;
:: CIRCTRM1:prednot 5 => CIRCTRM1:pred 5
definition
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
let a5 be non-empty MSAlgebra over a1;
let a6 be non-empty MSAlgebra over a2;
pred A5,A6 are_similar_wrt A3,A4 means
a3,a4 form_embedding_of a5,a6 & a3 ",a4 " form_embedding_of a6,a5;
end;
:: CIRCTRM1:dfs 13
definiens
let a1, a2 be non empty ManySortedSign;
let a3, a4 be Relation-like Function-like set;
let a5 be non-empty MSAlgebra over a1;
let a6 be non-empty MSAlgebra over a2;
To prove
a5,a6 are_similar_wrt a3,a4
it is sufficient to prove
thus a3,a4 form_embedding_of a5,a6 & a3 ",a4 " form_embedding_of a6,a5;
:: CIRCTRM1:def 13
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty MSAlgebra over b1
for b6 being non-empty MSAlgebra over b2 holds
b5,b6 are_similar_wrt b3,b4
iff
b3,b4 form_embedding_of b5,b6 & b3 ",b4 " form_embedding_of b6,b5;
:: CIRCTRM1:th 37
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty MSAlgebra over b1
for b6 being non-empty MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
holds b1,b2 are_equivalent_wrt b3,b4;
:: CIRCTRM1:th 38
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty MSAlgebra over b1
for b6 being non-empty MSAlgebra over b2 holds
b5,b6 are_similar_wrt b3,b4
iff
b1,b2 are_equivalent_wrt b3,b4 & the Sorts of b5 = b3 * the Sorts of b6 & the Charact of b5 = b4 * the Charact of b6;
:: CIRCTRM1:th 39
theorem
for b1 being non empty ManySortedSign
for b2 being non-empty MSAlgebra over b1 holds
b2,b2 are_similar_wrt id the carrier of b1,id the OperSymbols of b1;
:: CIRCTRM1:th 40
theorem
for b1, b2 being non empty ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty MSAlgebra over b1
for b6 being non-empty MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
holds b6,b5 are_similar_wrt b3 ",b4 ";
:: CIRCTRM1:th 41
theorem
for b1, b2, b3 being non empty ManySortedSign
for b4, b5, b6, b7 being Relation-like Function-like set
for b8 being non-empty MSAlgebra over b1
for b9 being non-empty MSAlgebra over b2
for b10 being non-empty MSAlgebra over b3
st b8,b9 are_similar_wrt b4,b5 & b9,b10 are_similar_wrt b6,b7
holds b8,b10 are_similar_wrt b4 * b6,b5 * b7;
:: CIRCTRM1:prednot 6 => CIRCTRM1:pred 6
definition
let a1, a2 be non empty ManySortedSign;
let a3 be non-empty MSAlgebra over a1;
let a4 be non-empty MSAlgebra over a2;
pred A3,A4 are_similar means
ex b1, b2 being Relation-like Function-like set st
a3,a4 are_similar_wrt b1,b2;
end;
:: CIRCTRM1:dfs 14
definiens
let a1, a2 be non empty ManySortedSign;
let a3 be non-empty MSAlgebra over a1;
let a4 be non-empty MSAlgebra over a2;
To prove
a3,a4 are_similar
it is sufficient to prove
thus ex b1, b2 being Relation-like Function-like set st
a3,a4 are_similar_wrt b1,b2;
:: CIRCTRM1:def 14
theorem
for b1, b2 being non empty ManySortedSign
for b3 being non-empty MSAlgebra over b1
for b4 being non-empty MSAlgebra over b2 holds
b3,b4 are_similar
iff
ex b5, b6 being Relation-like Function-like set st
b3,b4 are_similar_wrt b5,b6;
:: CIRCTRM1:th 42
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6
holds proj1 b3 = the carrier of b1 & proj2 b3 c= the carrier of b2 & proj1 b4 = the OperSymbols of b1 & proj2 b4 c= the OperSymbols of b2;
:: CIRCTRM1:th 43
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6
for b7 being Element of the OperSymbols of b1
for b8 being Element of the OperSymbols of b2
st b8 = b4 . b7
holds Den(b8,b6) = Den(b7,b5);
:: CIRCTRM1:th 44
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6
for b7 being Element of the OperSymbols of b1
for b8 being Element of the OperSymbols of b2
st b8 = b4 . b7
for b9 being Element of product the Sorts of b5
for b10 being Element of product the Sorts of b6
st b9 = b3 * b10
holds b8 depends_on_in b10 = b7 depends_on_in b9;
:: CIRCTRM1:th 45
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6
for b7 being Element of product the Sorts of b6 holds
b3 * b7 is Element of product the Sorts of b5;
:: CIRCTRM1:th 46
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b2
for b6 being non-empty locally-finite MSAlgebra over b1
st b3,b4 form_embedding_of b5,b6
for b7 being Element of product the Sorts of b6
for b8 being Element of product the Sorts of b5
st b8 = b3 * b7 &
(for b9 being Element of the carrier of b2
st b9 in InputVertices b2
holds b7 is_stable_at b3 . b9)
holds Following b8 = b3 * Following b7;
:: CIRCTRM1:th 47
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6 & b3 preserves_inputs_of b1,b2
for b7 being Element of product the Sorts of b6
for b8 being Element of product the Sorts of b5
st b8 = b3 * b7
holds Following b8 = b3 * Following b7;
:: CIRCTRM1:th 48
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6 & b3 preserves_inputs_of b1,b2
for b7 being Element of product the Sorts of b6
for b8 being Element of product the Sorts of b5
st b8 = b3 * b7
for b9 being Element of NAT holds
Following(b8,b9) = b3 * Following(b7,b9);
:: CIRCTRM1:th 49
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6 & b3 preserves_inputs_of b1,b2
for b7 being Element of product the Sorts of b6
for b8 being Element of product the Sorts of b5
st b8 = b3 * b7 & b7 is stable(b2, b6)
holds b8 is stable(b1, b5);
:: CIRCTRM1:th 50
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b3,b4 form_embedding_of b5,b6 & b3 preserves_inputs_of b1,b2
for b7 being Element of product the Sorts of b6
for b8 being Element of product the Sorts of b5
st b8 = b3 * b7
for b9 being Element of the carrier of b1 holds
b8 is_stable_at b9
iff
b7 is_stable_at b3 . b9;
:: CIRCTRM1:th 51
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b6 holds
b3 * b7 is Element of product the Sorts of b5;
:: CIRCTRM1:th 52
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b5
for b8 being Element of product the Sorts of b6 holds
b7 = b3 * b8
iff
b8 = b3 " * b7;
:: CIRCTRM1:th 53
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
holds b3 .: InputVertices b1 = InputVertices b2 & b3 .: InnerVertices b1 = InnerVertices b2;
:: CIRCTRM1:th 54
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
holds b3 preserves_inputs_of b1,b2;
:: CIRCTRM1:th 55
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b5
for b8 being Element of product the Sorts of b6
st b7 = b3 * b8
holds Following b7 = b3 * Following b8;
:: CIRCTRM1:th 56
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b5
for b8 being Element of product the Sorts of b6
st b7 = b3 * b8
for b9 being Element of NAT holds
Following(b7,b9) = b3 * Following(b8,b9);
:: CIRCTRM1:th 57
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b1
for b6 being non-empty locally-finite MSAlgebra over b2
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b5
for b8 being Element of product the Sorts of b6
st b7 = b3 * b8
holds b7 is stable(b1, b5)
iff
b8 is stable(b2, b6);
:: CIRCTRM1:th 58
theorem
for b1, b2 being non empty non void Circuit-like ManySortedSign
for b3, b4 being Relation-like Function-like set
for b5 being non-empty locally-finite MSAlgebra over b2
for b6 being non-empty locally-finite MSAlgebra over b1
st b5,b6 are_similar_wrt b3,b4
for b7 being Element of product the Sorts of b5
for b8 being Element of product the Sorts of b6
st b7 = b3 * b8
for b9 being Element of the carrier of b2 holds
b7 is_stable_at b9
iff
b8 is_stable_at b3 . b9;
:: CIRCTRM1:prednot 7 => CIRCTRM1:pred 7
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be non-empty ManySortedSet of the carrier of a1;
let a4 be non empty Element of bool (a1 -Terms a3);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
pred A6 calculates A4,A2 means
ex b1, b2 being Relation-like Function-like set st
b1,b2 form_embedding_of a4 -Circuit a2,a6 & b1 preserves_inputs_of a4 -CircuitStr,a5;
end;
:: CIRCTRM1:dfs 15
definiens
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be non-empty ManySortedSet of the carrier of a1;
let a4 be non empty Element of bool (a1 -Terms a3);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
To prove
a6 calculates a4,a2
it is sufficient to prove
thus ex b1, b2 being Relation-like Function-like set st
b1,b2 form_embedding_of a4 -Circuit a2,a6 & b1 preserves_inputs_of a4 -CircuitStr,a5;
:: CIRCTRM1:def 15
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being non-empty ManySortedSet of the carrier of b1
for b4 being non empty Element of bool (b1 -Terms b3)
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5 holds
b6 calculates b4,b2
iff
ex b7, b8 being Relation-like Function-like set st
b7,b8 form_embedding_of b4 -Circuit b2,b6 & b7 preserves_inputs_of b4 -CircuitStr,b5;
:: CIRCTRM1:prednot 8 => CIRCTRM1:pred 8
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be non-empty ManySortedSet of the carrier of a1;
let a4 be non empty Element of bool (a1 -Terms a3);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
pred A4,A2 specifies A6 means
a6,a4 -Circuit a2 are_similar;
end;
:: CIRCTRM1:dfs 16
definiens
let a1 be non empty non void ManySortedSign;
let a2 be non-empty MSAlgebra over a1;
let a3 be non-empty ManySortedSet of the carrier of a1;
let a4 be non empty Element of bool (a1 -Terms a3);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
To prove
a4,a2 specifies a6
it is sufficient to prove
thus a6,a4 -Circuit a2 are_similar;
:: CIRCTRM1:def 16
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty MSAlgebra over b1
for b3 being non-empty ManySortedSet of the carrier of b1
for b4 being non empty Element of bool (b1 -Terms b3)
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5 holds
b4,b2 specifies b6
iff
b6,b4 -Circuit b2 are_similar;
:: CIRCTRM1:modenot 2 => CIRCTRM1:mode 2
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non-empty MSAlgebra over a1;
let a4 be non empty Element of bool (a1 -Terms a2);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
assume a6 calculates a4,a3;
mode SortMap of A4,A3,A6 -> Relation-like Function-like one-to-one set means
it preserves_inputs_of a4 -CircuitStr,a5 &
(ex b1 being Relation-like Function-like set st
it,b1 form_embedding_of a4 -Circuit a3,a6);
end;
:: CIRCTRM1:dfs 17
definiens
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non-empty MSAlgebra over a1;
let a4 be non empty Element of bool (a1 -Terms a2);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
let a7 be Relation-like Function-like one-to-one set;
To prove
a7 is SortMap of a4,a3,a6
it is sufficient to prove
thus a6 calculates a4,a3;
thus a7 preserves_inputs_of a4 -CircuitStr,a5 &
(ex b1 being Relation-like Function-like set st
a7,b1 form_embedding_of a4 -Circuit a3,a6);
:: CIRCTRM1:def 17
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty MSAlgebra over b1
for b4 being non empty Element of bool (b1 -Terms b2)
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b6 calculates b4,b3
for b7 being Relation-like Function-like one-to-one set holds
b7 is SortMap of b4,b3,b6
iff
b7 preserves_inputs_of b4 -CircuitStr,b5 &
(ex b8 being Relation-like Function-like set st
b7,b8 form_embedding_of b4 -Circuit b3,b6);
:: CIRCTRM1:modenot 3 => CIRCTRM1:mode 3
definition
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non-empty MSAlgebra over a1;
let a4 be non empty Element of bool (a1 -Terms a2);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
let a7 be SortMap of a4,a3,a6;
assume a6 calculates a4,a3;
mode OperMap of A4,A3,A6,A7 -> Relation-like Function-like one-to-one set means
a7,it form_embedding_of a4 -Circuit a3,a6;
end;
:: CIRCTRM1:dfs 18
definiens
let a1 be non empty non void ManySortedSign;
let a2 be non-empty ManySortedSet of the carrier of a1;
let a3 be non-empty MSAlgebra over a1;
let a4 be non empty Element of bool (a1 -Terms a2);
let a5 be non empty non void Circuit-like ManySortedSign;
let a6 be non-empty locally-finite MSAlgebra over a5;
let a7 be SortMap of a4,a3,a6;
let a8 be Relation-like Function-like one-to-one set;
To prove
a8 is OperMap of a4,a3,a6,a7
it is sufficient to prove
thus a6 calculates a4,a3;
thus a7,a8 form_embedding_of a4 -Circuit a3,a6;
:: CIRCTRM1:def 18
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty ManySortedSet of the carrier of b1
for b3 being non-empty MSAlgebra over b1
for b4 being non empty Element of bool (b1 -Terms b2)
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b6 calculates b4,b3
for b7 being SortMap of b4,b3,b6
for b8 being Relation-like Function-like one-to-one set holds
b8 is OperMap of b4,b3,b6,b7
iff
b7,b8 form_embedding_of b4 -Circuit b3,b6;
:: CIRCTRM1:th 59
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b4,b2 specifies b6
holds b6 calculates b4,b2;
:: CIRCTRM1:th 60
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b6 calculates b4,b2
for b7 being SortMap of b4,b2,b6
for b8 being Element of b1 -Terms b3
st b8 in Subtrees b4
for b9 being Element of product the Sorts of b6 holds
Following(b9,1 + height proj1 b8) is_stable_at b7 . b8 &
(for b10 being Element of product the Sorts of b4 -Circuit b2
st b10 = b7 * b9
for b11 being CompatibleValuation of b10 holds
(Following(b9,1 + height proj1 b8)) . (b7 . b8) = b8 @(b11,b2));
:: CIRCTRM1:th 61
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b6 calculates b4,b2
for b7 being Element of b1 -Terms b3
st b7 in Subtrees b4
holds ex b8 being Element of the carrier of b5 st
for b9 being Element of product the Sorts of b6 holds
Following(b9,1 + height proj1 b7) is_stable_at b8 &
(ex b10 being SortMap of b4,b2,b6 st
for b11 being Element of product the Sorts of b4 -Circuit b2
st b11 = b10 * b9
for b12 being CompatibleValuation of b11 holds
(Following(b9,1 + height proj1 b7)) . b8 = b7 @(b12,b2));
:: CIRCTRM1:th 62
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b4,b2 specifies b6
for b7 being SortMap of b4,b2,b6
for b8 being Element of product the Sorts of b6
for b9 being Element of b1 -Terms b3
st b9 in Subtrees b4
holds Following(b8,1 + height proj1 b9) is_stable_at b7 . b9 &
(for b10 being Element of product the Sorts of b4 -Circuit b2
st b10 = b7 * b8
for b11 being CompatibleValuation of b10 holds
(Following(b8,1 + height proj1 b9)) . (b7 . b9) = b9 @(b11,b2));
:: CIRCTRM1:th 63
theorem
for b1 being non empty non void ManySortedSign
for b2 being non-empty locally-finite MSAlgebra over b1
for b3 being Variables of b2
for b4 being SetWithCompoundTerm of b1,b3
for b5 being non empty non void Circuit-like ManySortedSign
for b6 being non-empty locally-finite MSAlgebra over b5
st b4,b2 specifies b6
for b7 being Element of b1 -Terms b3
st b7 in Subtrees b4
holds ex b8 being Element of the carrier of b5 st
for b9 being Element of product the Sorts of b6 holds
Following(b9,1 + height proj1 b7) is_stable_at b8 &
(ex b10 being SortMap of b4,b2,b6 st
for b11 being Element of product the Sorts of b4 -Circuit b2
st b11 = b10 * b9
for b12 being CompatibleValuation of b11 holds
(Following(b9,1 + height proj1 b7)) . b8 = b7 @(b12,b2));