Journal of Formalized Mathematics
Volume 7, 1995
University of Bialystok
Copyright (c) 1995
Association of Mizar Users
The abstract of the Mizar article:
-
- by
- Beata Madras
- Received October 28, 1995
- MML identifier: TRIANG_1
- [
Mizar article,
MML identifier index
]
environ
vocabulary FINSEQ_1, ORDERS_1, BOOLE, WELLORD1, FINSUB_1, AMI_1, RELAT_1,
RELAT_2, FINSET_1, SETFAM_1, CARD_1, FUNCT_3, FUNCT_1, ORDERS_2,
FINSEQ_4, SUBSET_1, ARYTM_1, TARSKI, PROB_1, PBOOLE, FUNCT_2, QC_LANG1,
ORDINAL2, FINSEQ_2, PRALG_1, CQC_LANG, TRIANG_1;
notation TARSKI, XBOOLE_0, ZFMISC_1, SUBSET_1, NUMBERS, XCMPLX_0, XREAL_0,
RELAT_1, RELAT_2, SETFAM_1, STRUCT_0, NAT_1, FUNCT_1, FUNCT_2, FUNCT_3,
FRAENKEL, FINSET_1, FINSEQ_1, FINSEQ_2, FINSEQ_4, FINSUB_1, WELLORD1,
ORDERS_2, TOLER_1, GOBOARD1, AMI_1, CARD_1, PBOOLE, MSUALG_1, ORDERS_1,
FINSEQOP, CQC_LANG;
constructors NAT_1, FUNCT_3, FINSUB_1, WELLORD2, ORDERS_2, TOLER_1, GOBOARD1,
AMI_1, MSUALG_1, ORDERS_1, FRAENKEL, FINSEQ_4, FINSEQOP, MEMBERED;
clusters RELAT_1, FINSET_1, RELSET_1, ORDERS_1, STRUCT_0, XREAL_0, FINSUB_1,
FINSEQ_1, NAT_1, MEMBERED, NUMBERS, ORDINAL2;
requirements REAL, NUMERALS, BOOLE, SUBSET, ARITHM;
begin
reserve A,x,y,z,u for set;
reserve k,l,m,n for Nat;
scheme Regr1 { n() -> Nat, P[set] }:
for k st k <= n() holds P[k]
provided
P[n()] and
for k st k < n() & P[k+1] holds P[k];
definition
let n be Nat;
cluster Seg (n+1) -> non empty;
end;
definition
let X be non empty set, R be Order of X;
cluster RelStr (#X,R#) -> non empty;
end;
theorem :: TRIANG_1:1
{}|_2 A = {};
definition
let X be set;
cluster non empty Subset of Fin X;
end;
definition
let X be non empty set;
cluster non empty with_non-empty_elements Subset of Fin X;
end;
definition
let X be non empty set, F be non empty with_non-empty_elements Subset of Fin X;
cluster non empty Element of F;
end;
definition let IT be set;
attr IT is with_non-empty_element means
:: TRIANG_1:def 1
ex X be non empty set st X in IT;
end;
definition
cluster with_non-empty_element set;
end;
definition
let X be with_non-empty_element set;
cluster non empty Element of X;
end;
definition
cluster with_non-empty_element -> non empty set;
end;
definition
let X be non empty set;
cluster with_non-empty_element Subset of Fin X;
end;
definition
let X be non empty set, R be Order of X, A be Subset of X;
redefine func R|_2 A -> Order of A;
end;
scheme SubFinite{D()->set, A()->Subset of D(), P[set]}:
P[A()]
provided
A() is finite and
P[{}(D())] and
for x being Element of D(), B being Subset of D()
st x in A() & B c= A() & P[B] holds P[B \/ {x}];
theorem :: TRIANG_1:2
for F being non empty Poset, A be Subset of F st A is finite & A <> {} &
for B,C being Element of F st B in A & C in A holds B <= C or C <= B
ex m being Element of F st m in A & for C being Element of F st C in A
holds m <= C;
definition
let X be non empty set,
F be with_non-empty_element Subset of Fin X;
cluster finite non empty Element of F;
end;
definition
let P be non empty Poset,
A be non empty finite Subset of P,
x be Element of P;
cluster InitSegm(A,x) -> finite;
end;
theorem :: TRIANG_1:3
for A,B being finite set st A c= B & card A = card B holds A = B;
definition
let X be set, A be finite Subset of X, R be Order of X;
assume R linearly_orders A;
func SgmX (R,A) -> FinSequence of X means
:: TRIANG_1:def 2
rng it = A & for n,m be Nat
st n in dom it & m in dom it & n < m holds
it/.n <> it/.m & [it/.n,it/.m] in R;
end;
theorem :: TRIANG_1:4
for X be set,
A be finite Subset of X,
R be Order of X,
f be FinSequence of X st rng f = A &
for n,m be Nat st n in dom f & m in dom f & n < m
holds f/.n <> f/.m & [f/.n, f/.m] in R
holds f = SgmX(R,A);
:: Abstract Complexes
begin
definition
let C be non empty Poset;
func symplexes(C) -> Subset of Fin the carrier of C equals
:: TRIANG_1:def 3
{A where A is Element of Fin the carrier of C :
the InternalRel of C linearly_orders A};
end;
definition
let C be non empty Poset;
cluster symplexes(C) -> with_non-empty_element;
end;
reserve C for non empty Poset;
theorem :: TRIANG_1:5
for x be Element of C holds {x} in symplexes(C);
theorem :: TRIANG_1:6
{} in symplexes(C);
theorem :: TRIANG_1:7
for x, s be set st x c= s & s in symplexes(C) holds x in symplexes(C);
definition
let X be set, F be non empty Subset of Fin X;
cluster -> finite Element of F;
end;
definition
let X be set, F be non empty Subset of Fin X;
redefine mode Element of F -> Subset of X;
end;
theorem :: TRIANG_1:8
for X being set,
A being finite Subset of X,
R being Order of X
st R linearly_orders A
holds SgmX(R,A) is one-to-one;
theorem :: TRIANG_1:9
for X being set,
A being finite Subset of X,
R being Order of X
st R linearly_orders A
holds len(SgmX(R, A)) = Card A;
theorem :: TRIANG_1:10
for C be non empty Poset, A being non empty Element of symplexes(C)
st Card A = n
holds dom(SgmX(the InternalRel of C, A)) = Seg n;
definition
let C be non empty Poset;
cluster non empty Element of symplexes(C);
end;
begin :: Triangulations
definition
mode SetSequence is ManySortedSet of NAT;
end;
definition let IT be SetSequence;
attr IT is lower_non-empty means
:: TRIANG_1:def 4
for n st IT.n is non empty holds
for m st m < n holds IT.m is non empty;
end;
definition
cluster lower_non-empty SetSequence;
end;
definition
let X be SetSequence;
func FuncsSeq X -> SetSequence means
:: TRIANG_1:def 5
for n be Nat holds it.n = Funcs(X.(n+1),X.n);
end;
definition
let X be lower_non-empty SetSequence;
let n be Nat;
cluster (FuncsSeq X).n -> non empty;
end;
definition
let n;
let f be Element of Funcs(Seg n,Seg(n+1));
func @ f -> FinSequence of REAL equals
:: TRIANG_1:def 6
f;
end;
definition
func NatEmbSeq -> SetSequence means
:: TRIANG_1:def 7
for n be Nat holds
it.n = {f where f is Element of Funcs(Seg n,Seg(n+1)) : @ f is increasing};
end;
definition
let n;
cluster NatEmbSeq.n -> non empty;
end;
definition
let n be Nat;
cluster -> Function-like Relation-like Element of NatEmbSeq.n;
end;
definition
let X be SetSequence;
mode triangulation of X is ManySortedFunction of NatEmbSeq, FuncsSeq(X);
canceled;
end;
definition
struct TriangStr (# SkeletonSeq -> SetSequence,
FacesAssign -> ManySortedFunction of
NatEmbSeq, FuncsSeq(the SkeletonSeq) #);
end;
definition
let T be TriangStr;
attr T is lower_non-empty means
:: TRIANG_1:def 9
the SkeletonSeq of T is lower_non-empty;
end;
definition
cluster lower_non-empty strict TriangStr;
end;
definition
let T be lower_non-empty TriangStr;
cluster the SkeletonSeq of T -> lower_non-empty;
end;
definition
let S be lower_non-empty SetSequence,
F be ManySortedFunction of NatEmbSeq, FuncsSeq S;
cluster TriangStr (#S,F#) -> lower_non-empty;
end;
:: Relationship between Abstract Complexes and Triangulations
begin
definition
let T be TriangStr; let n be Nat;
mode Symplex of T,n is Element of (the SkeletonSeq of T).n;
end;
definition
let n be Nat;
mode Face of n is Element of NatEmbSeq.n;
end;
definition
let T be lower_non-empty TriangStr,
n be Nat,
x be Symplex of T,n+1,
f be Face of n;
assume (the SkeletonSeq of T).(n+1) <> {};
func face (x,f) -> Symplex of T,n means
:: TRIANG_1:def 10
for F,G be Function st F = (the FacesAssign of T).n & G = F.f holds
it = G.x;
end;
definition
let C be non empty Poset;
func Triang C -> lower_non-empty strict TriangStr means
:: TRIANG_1:def 11
(the SkeletonSeq of it).0 = { {} } &
(for n be Nat st n > 0 holds (the SkeletonSeq of it).n =
{ SgmX(the InternalRel of C, A)
where A is non empty Element of symplexes(C) : Card A = n }) &
for n be Nat,
f be Face of n,
s be Element of (the SkeletonSeq of it).(n+1)
st s in (the SkeletonSeq of it).(n+1)
for A be non empty Element of symplexes(C)
st SgmX(the InternalRel of C, A) = s
holds face (s,f) = (SgmX(the InternalRel of C, A)) * f;
end;
Back to top