Journal of Formalized Mathematics
Volume 6, 1994
University of Bialystok
Copyright (c) 1994
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Yatsuka Nakamura,
- Piotr Rudnicki,
- Andrzej Trybulec,
and
- Pauline N. Kawamoto
- Received December 13, 1994
- MML identifier: MSAFREE2
- [
Mizar article,
MML identifier index
]
environ
vocabulary MSUALG_1, UNIALG_2, AMI_1, BOOLE, RELAT_1, FUNCT_1, FUNCOP_1,
ZF_REFLE, PBOOLE, CARD_3, FINSEQ_1, QC_LANG1, FINSEQ_4, TDGROUP, PRELAMB,
MSAFREE, FREEALG, PRALG_1, ALG_1, TREES_4, REALSET1, MSUALG_2, PRE_CIRC,
FINSET_1, CAT_1, TREES_2, DTCONSTR, TREES_3, CARD_1, LANG1, PROB_1,
TREES_1, MSAFREE2;
notation TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, NAT_1, CARD_1, RELAT_1,
FUNCT_1, STRUCT_0, FINSET_1, FINSEQ_1, FUNCT_2, PROB_1, CARD_3, TREES_1,
TREES_2, TREES_3, TREES_4, PBOOLE, PRALG_1, MSUALG_1, FINSEQ_2, MSAFREE,
MSUALG_2, CQC_LANG, DTCONSTR, LANG1, GROUP_1, RELSET_1, MSUALG_3,
FINSEQ_4, PRE_CIRC;
constructors NAT_1, AMI_1, MSAFREE, GROUP_1, MSUALG_3, PRE_CIRC, FINSOP_1,
PRVECT_1, FINSEQ_4, XBOOLE_0;
clusters FINSET_1, TREES_1, TREES_2, TREES_3, DTCONSTR, PRELAMB, PRALG_1,
MSUALG_1, MSAFREE, MSUALG_2, PRE_CIRC, CARD_1, FUNCT_1, RELSET_1,
STRUCT_0, CQC_LANG, XBOOLE_0, ZFMISC_1;
requirements BOOLE, SUBSET;
begin
::---------------------------------------------------------------------------
:: Many Sorted Signatures
::---------------------------------------------------------------------------
definition
let S be ManySortedSign;
mode Vertex of S is Element of S;
end;
definition
let S be non empty ManySortedSign;
func SortsWithConstants S -> Subset of S equals
:: MSAFREE2:def 1
{ v where v is SortSymbol of S : v is with_const_op }
if S is non void otherwise {};
end;
definition
let G be non empty ManySortedSign;
func InputVertices G -> Subset of G equals
:: MSAFREE2:def 2
(the carrier of G) \ rng the ResultSort of G;
func InnerVertices G -> Subset of G equals
:: MSAFREE2:def 3
rng the ResultSort of G;
end;
theorem :: MSAFREE2:1
for G being void non empty ManySortedSign
holds InputVertices G = the carrier of G;
theorem :: MSAFREE2:2
for G being non void non empty ManySortedSign, v being Vertex of G
st v in InputVertices G
holds not ex o being OperSymbol of G st the_result_sort_of o = v;
theorem :: MSAFREE2:3
for G being non empty ManySortedSign
holds InputVertices G \/ InnerVertices G = the carrier of G;
theorem :: MSAFREE2:4
for G being non empty ManySortedSign
holds InputVertices G misses InnerVertices G;
theorem :: MSAFREE2:5
for G being non empty ManySortedSign
holds SortsWithConstants G c= InnerVertices G;
theorem :: MSAFREE2:6
for G being non empty ManySortedSign
holds InputVertices G misses SortsWithConstants G;
definition let IT be non empty ManySortedSign;
attr IT is with_input_V means
:: MSAFREE2:def 4
InputVertices IT <> {};
end;
definition
cluster non void with_input_V (non empty ManySortedSign);
end;
definition
let G be with_input_V (non empty ManySortedSign);
cluster InputVertices G -> non empty;
end;
definition
let G be non void non empty ManySortedSign;
redefine func InnerVertices G -> non empty Subset of G;
end;
definition
let S be non empty ManySortedSign;
let MSA be non-empty MSAlgebra over S;
mode InputValues of MSA -> ManySortedSet of InputVertices S means
:: MSAFREE2:def 5
for v being Vertex of S st v in InputVertices S
holds it.v in (the Sorts of MSA).v;
end;
:: Generalize this for arbitrary subset of the carrier
definition
let S be non empty ManySortedSign;
attr S is Circuit-like means
:: MSAFREE2:def 6
for S' being non void non empty ManySortedSign st S' = S
for o1, o2 being OperSymbol of S'
st the_result_sort_of o1 = the_result_sort_of o2
holds o1 = o2;
end;
definition
cluster void -> Circuit-like (non empty ManySortedSign);
end;
definition
cluster non void Circuit-like strict (non empty ManySortedSign);
end;
definition
let IIG be Circuit-like non void (non empty ManySortedSign);
let v be Vertex of IIG such that
v in InnerVertices IIG;
func action_at v -> OperSymbol of IIG means
:: MSAFREE2:def 7
the_result_sort_of it = v;
end;
begin
::---------------------------------------------------------------------------
:: Free Many Sorted Algebras
::---------------------------------------------------------------------------
theorem :: MSAFREE2:7
for S being non void non empty ManySortedSign, A being MSAlgebra over S,
o being OperSymbol of S,
p being FinSequence st len p = len the_arity_of o
& for k being Nat st k in dom p
holds p.k in (the Sorts of A).((the_arity_of o)/.k)
holds p in Args (o, A);
definition
let S be non void non empty ManySortedSign,
MSA be non-empty MSAlgebra over S;
func FreeEnv MSA -> free strict (non-empty MSAlgebra over S) equals
:: MSAFREE2:def 8
FreeMSA (the Sorts of MSA);
end;
theorem :: MSAFREE2:8
for S being non void non empty ManySortedSign,
MSA being non-empty MSAlgebra over S
holds FreeGen(the Sorts of MSA) is free GeneratorSet of FreeEnv MSA;
definition
let S be non void non empty ManySortedSign,
MSA be non-empty MSAlgebra over S;
func Eval MSA -> ManySortedFunction of FreeEnv MSA, MSA means
:: MSAFREE2:def 9
it is_homomorphism FreeEnv MSA, MSA
& for s being SortSymbol of S,
x, y being set st y in FreeSort(the Sorts of MSA, s)
& y = root-tree [x, s]
& x in (the Sorts of MSA).s
holds it.s.y = x;
end;
theorem :: MSAFREE2:9
for S being non void non empty ManySortedSign,
A being non-empty MSAlgebra over S
holds the Sorts of A is GeneratorSet of A;
definition
let S be non empty ManySortedSign;
let IT be MSAlgebra over S;
attr IT is finitely-generated means
:: MSAFREE2:def 10
for S' being non void non empty ManySortedSign st S' = S
for A being MSAlgebra over S' st A = IT
ex G being GeneratorSet of A st G is locally-finite if S is not void
otherwise the Sorts of IT is locally-finite;
end;
definition
let S be non empty ManySortedSign;
let IT be MSAlgebra over S;
attr IT is locally-finite means
:: MSAFREE2:def 11
the Sorts of IT is locally-finite;
end;
definition
let S be non empty ManySortedSign;
cluster locally-finite -> finitely-generated (non-empty MSAlgebra over S);
end;
definition
let S be non empty ManySortedSign;
func Trivial_Algebra S -> strict MSAlgebra over S means
:: MSAFREE2:def 12
the Sorts of it = (the carrier of S) --> {0};
end;
definition
let S be non empty ManySortedSign;
cluster locally-finite non-empty strict MSAlgebra over S;
end;
definition let IT be non empty ManySortedSign;
attr IT is monotonic means
:: MSAFREE2:def 13
for A being finitely-generated (non-empty MSAlgebra over IT)
holds A is locally-finite;
end;
definition
cluster non void finite monotonic Circuit-like (non empty ManySortedSign);
end;
theorem :: MSAFREE2:10
for S being non void non empty ManySortedSign
for X being non-empty ManySortedSet of the carrier of S,
v be SortSymbol of S,
e be Element of (the Sorts of FreeMSA X).v
holds e is finite DecoratedTree;
theorem :: MSAFREE2:11
for S being non void non empty ManySortedSign,
X being non-empty locally-finite ManySortedSet of the carrier of S
holds FreeMSA X is finitely-generated;
theorem :: MSAFREE2:12
for S being non void non empty ManySortedSign,
A being non-empty MSAlgebra over S,
v being Vertex of S,
e being Element of (the Sorts of FreeEnv A).v
st v in InputVertices S
ex x being Element of (the Sorts of A).v st e = root-tree [x, v];
theorem :: MSAFREE2:13
for S being non void non empty ManySortedSign,
X being non-empty ManySortedSet of the carrier of S,
o being OperSymbol of S,
p being DTree-yielding FinSequence
st [o,the carrier of S]-tree p
in (the Sorts of FreeMSA X).(the_result_sort_of o)
holds len p = len the_arity_of o;
theorem :: MSAFREE2:14
for S being non void non empty ManySortedSign,
X being non-empty ManySortedSet of the carrier of S,
o being OperSymbol of S,
p being DTree-yielding FinSequence
st [o,the carrier of S]-tree p
in (the Sorts of FreeMSA X).(the_result_sort_of o)
holds
for i being Nat st i in dom the_arity_of o
holds p.i in (the Sorts of FreeMSA X).((the_arity_of o).i);
definition
let S be non void non empty ManySortedSign,
X be non-empty ManySortedSet of the carrier of S,
v be Vertex of S;
cluster -> finite non empty
Function-like Relation-like Element of (the Sorts of FreeMSA X).v;
end;
definition
let S be non void non empty ManySortedSign,
X be non-empty ManySortedSet of the carrier of S,
v be Vertex of S;
cluster Function-like Relation-like Element of (the Sorts of FreeMSA X).v;
end;
definition
let S be non void non empty ManySortedSign,
X be non-empty ManySortedSet of the carrier of S,
v be Vertex of S;
cluster -> DecoratedTree-like
(Function-like Relation-like Element of (the Sorts of FreeMSA X).v);
end;
definition
let IIG be non void non empty ManySortedSign;
let X be non-empty ManySortedSet of the carrier of IIG,
v be Vertex of IIG;
cluster finite Element of (the Sorts of FreeMSA X).v;
end;
theorem :: MSAFREE2:15
for S being non void non empty ManySortedSign,
X being non-empty ManySortedSet of the carrier of S,
v being Vertex of S, o being OperSymbol of S,
e being Element of (the Sorts of FreeMSA X).v
st v in InnerVertices S & e.{} = [o,the carrier of S]
ex p being DTree-yielding FinSequence st len p = len the_arity_of o
& for i being Nat st i in dom p
holds p.i in (the Sorts of FreeMSA X).((the_arity_of o).i);
definition
let S be non void non empty ManySortedSign,
X be non-empty ManySortedSet of the carrier of S,
v be SortSymbol of S,
e be Element of (the Sorts of FreeMSA X).v;
func depth e -> Nat means
:: MSAFREE2:def 14
ex dt being finite DecoratedTree, t being finite Tree
st dt = e & t = dom dt & it = height t;
end;
Back to top