:: TRIANG_1 semantic presentation begin registration let X be non empty set ; let R be Order of X; cluster RelStr(# X,R #) -> non empty ; coherence not RelStr(# X,R #) is empty ; end; theorem :: TRIANG_1:1 for A being set holds {} |_2 A = {} ; theorem :: TRIANG_1:2 for F being non empty Poset for A being Subset of F st A is finite & A <> {} & ( for B, C being Element of F st B in A & C in A & not B <= C holds C <= B ) holds ex m being Element of F st ( m in A & ( for C being Element of F st C in A holds m <= C ) ) proof let F be non empty Poset; ::_thesis: for A being Subset of F st A is finite & A <> {} & ( for B, C being Element of F st B in A & C in A & not B <= C holds C <= B ) holds ex m being Element of F st ( m in A & ( for C being Element of F st C in A holds m <= C ) ) defpred S1[ set ] means ( $1 <> {} implies ex m being Element of F st ( m in $1 & ( for C being Element of F st C in $1 holds m <= C ) ) ); let A be Subset of F; ::_thesis: ( A is finite & A <> {} & ( for B, C being Element of F st B in A & C in A & not B <= C holds C <= B ) implies ex m being Element of F st ( m in A & ( for C being Element of F st C in A holds m <= C ) ) ) assume that A1: A is finite and A2: A <> {} and A3: for B, C being Element of F st B in A & C in A & not B <= C holds C <= B ; ::_thesis: ex m being Element of F st ( m in A & ( for C being Element of F st C in A holds m <= C ) ) A4: now__::_thesis:_for_x_being_Element_of_F for_B_being_Subset_of_F_st_x_in_A_&_B_c=_A_&_S1[B]_holds_ S1[B_\/_{x}] let x be Element of F; ::_thesis: for B being Subset of F st x in A & B c= A & S1[B] holds S1[B \/ {x}] let B be Subset of F; ::_thesis: ( x in A & B c= A & S1[B] implies S1[B \/ {x}] ) assume that A5: x in A and A6: B c= A and A7: S1[B] ; ::_thesis: S1[B \/ {x}] reconsider x9 = x as Element of F ; now__::_thesis:_(_B_\/_{x}_<>_{}_implies_ex_m_being_Element_of_F_st_ (_m_in_B_\/_{x}_&_(_for_C_being_Element_of_F_st_C_in_B_\/_{x}_holds_ m_<=_C_)_)_) percases ( for y being Element of F holds ( not y in B or not y <= x9 ) or ex y being Element of F st ( y in B & y <= x9 ) ) ; supposeA8: for y being Element of F holds ( not y in B or not y <= x9 ) ; ::_thesis: ( B \/ {x} <> {} implies ex m being Element of F st ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) ) assume B \/ {x} <> {} ; ::_thesis: ex m being Element of F st ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) take m = x9; ::_thesis: ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) x in {x} by TARSKI:def_1; hence m in B \/ {x} by XBOOLE_0:def_3; ::_thesis: for C being Element of F st C in B \/ {x} holds m <= C let C be Element of F; ::_thesis: ( C in B \/ {x} implies m <= C ) assume C in B \/ {x} ; ::_thesis: m <= C then A9: ( C in B or C in {x} ) by XBOOLE_0:def_3; then ( not C <= x9 or C = x ) by A8, TARSKI:def_1; hence m <= C by A3, A5, A6, A9, TARSKI:def_1; ::_thesis: verum end; supposeA10: ex y being Element of F st ( y in B & y <= x9 ) ; ::_thesis: ( B \/ {x} <> {} implies ex m being Element of F st ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) ) assume B \/ {x} <> {} ; ::_thesis: ex m being Element of F st ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) consider y being Element of F such that A11: y in B and A12: y <= x9 by A10; consider m being Element of F such that A13: m in B and A14: for C being Element of F st C in B holds m <= C by A7, A11; take m = m; ::_thesis: ( m in B \/ {x} & ( for C being Element of F st C in B \/ {x} holds m <= C ) ) thus m in B \/ {x} by A13, XBOOLE_0:def_3; ::_thesis: for C being Element of F st C in B \/ {x} holds m <= C let C be Element of F; ::_thesis: ( C in B \/ {x} implies m <= C ) assume C in B \/ {x} ; ::_thesis: m <= C then A15: ( C in B or C in {x} ) by XBOOLE_0:def_3; m <= y by A11, A14; then m <= x9 by A12, ORDERS_2:3; hence m <= C by A14, A15, TARSKI:def_1; ::_thesis: verum end; end; end; hence S1[B \/ {x}] ; ::_thesis: verum end; A16: S1[ {} the carrier of F] ; S1[A] from PRE_POLY:sch_2(A1, A16, A4); hence ex m being Element of F st ( m in A & ( for C being Element of F st C in A holds m <= C ) ) by A2; ::_thesis: verum end; registration let P be non empty Poset; let A be non empty finite Subset of P; let x be Element of P; cluster InitSegm (A,x) -> finite ; coherence InitSegm (A,x) is finite ; end; begin definition let C be non empty Poset; func symplexes C -> Subset of (Fin the carrier of C) equals :: TRIANG_1:def 1 { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; coherence { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } is Subset of (Fin the carrier of C) proof set S = { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } c= Fin the carrier of C proof let x be set ; :: according to TARSKI:def_3 ::_thesis: ( not x in { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } or x in Fin the carrier of C ) assume x in { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; ::_thesis: x in Fin the carrier of C then ex a being Element of Fin the carrier of C st ( x = a & the InternalRel of C linearly_orders a ) ; hence x in Fin the carrier of C ; ::_thesis: verum end; hence { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } is Subset of (Fin the carrier of C) ; ::_thesis: verum end; end; :: deftheorem defines symplexes TRIANG_1:def_1_:_ for C being non empty Poset holds symplexes C = { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; registration let C be non empty Poset; cluster symplexes C -> with_non-empty_element ; coherence not symplexes C is empty-membered proof set x = the Element of C; reconsider a = { the Element of C} as Element of Fin the carrier of C by FINSUB_1:def_5; A1: the InternalRel of C is_connected_in a proof let k, l be set ; :: according to RELAT_2:def_6 ::_thesis: ( not k in a or not l in a or k = l or [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) assume that A2: k in a and A3: l in a and A4: k <> l ; ::_thesis: ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) k = the Element of C by A2, TARSKI:def_1; hence ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) by A3, A4, TARSKI:def_1; ::_thesis: verum end; A5: field the InternalRel of C = the carrier of C by ORDERS_1:12; then the InternalRel of C is_antisymmetric_in the carrier of C by RELAT_2:def_12; then A6: the InternalRel of C is_antisymmetric_in a by ORDERS_1:9; the InternalRel of C is_transitive_in the carrier of C by A5, RELAT_2:def_16; then A7: the InternalRel of C is_transitive_in a by ORDERS_1:10; the InternalRel of C is_reflexive_in the carrier of C by A5, RELAT_2:def_9; then the InternalRel of C is_reflexive_in a by ORDERS_1:8; then the InternalRel of C linearly_orders a by A6, A7, A1, ORDERS_1:def_8; then a in { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; hence not symplexes C is empty-membered by SETFAM_1:def_10; ::_thesis: verum end; end; theorem Th3: :: TRIANG_1:3 for C being non empty Poset for x being Element of C holds {x} in symplexes C proof let C be non empty Poset; ::_thesis: for x being Element of C holds {x} in symplexes C let x be Element of C; ::_thesis: {x} in symplexes C reconsider a = {x} as Element of Fin the carrier of C by FINSUB_1:def_5; A1: the InternalRel of C is_connected_in a proof let k, l be set ; :: according to RELAT_2:def_6 ::_thesis: ( not k in a or not l in a or k = l or [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) assume that A2: k in a and A3: l in a and A4: k <> l ; ::_thesis: ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) k = x by A2, TARSKI:def_1; hence ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) by A3, A4, TARSKI:def_1; ::_thesis: verum end; A5: field the InternalRel of C = the carrier of C by ORDERS_1:12; then the InternalRel of C is_antisymmetric_in the carrier of C by RELAT_2:def_12; then A6: the InternalRel of C is_antisymmetric_in a by ORDERS_1:9; the InternalRel of C is_transitive_in the carrier of C by A5, RELAT_2:def_16; then A7: the InternalRel of C is_transitive_in a by ORDERS_1:10; the InternalRel of C is_reflexive_in the carrier of C by A5, RELAT_2:def_9; then the InternalRel of C is_reflexive_in a by ORDERS_1:8; then the InternalRel of C linearly_orders a by A6, A7, A1, ORDERS_1:def_8; hence {x} in symplexes C ; ::_thesis: verum end; theorem :: TRIANG_1:4 for C being non empty Poset holds {} in symplexes C proof let C be non empty Poset; ::_thesis: {} in symplexes C A1: {} is Subset of C by SUBSET_1:1; then reconsider a = {} as Element of Fin the carrier of C by FINSUB_1:def_5; A2: field the InternalRel of C = the carrier of C by ORDERS_1:12; then the InternalRel of C is_antisymmetric_in the carrier of C by RELAT_2:def_12; then A3: the InternalRel of C is_antisymmetric_in a by A1, ORDERS_1:9; A4: the InternalRel of C is_connected_in a proof let k, l be set ; :: according to RELAT_2:def_6 ::_thesis: ( not k in a or not l in a or k = l or [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) assume that A5: k in a and l in a and k <> l ; ::_thesis: ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) thus ( [k,l] in the InternalRel of C or [l,k] in the InternalRel of C ) by A5; ::_thesis: verum end; the InternalRel of C is_transitive_in the carrier of C by A2, RELAT_2:def_16; then A6: the InternalRel of C is_transitive_in a by A1, ORDERS_1:10; the InternalRel of C is_reflexive_in the carrier of C by A2, RELAT_2:def_9; then the InternalRel of C is_reflexive_in a by A1, ORDERS_1:8; then the InternalRel of C linearly_orders a by A3, A6, A4, ORDERS_1:def_8; hence {} in symplexes C ; ::_thesis: verum end; theorem Th5: :: TRIANG_1:5 for C being non empty Poset for x, s being set st x c= s & s in symplexes C holds x in symplexes C proof let C be non empty Poset; ::_thesis: for x, s being set st x c= s & s in symplexes C holds x in symplexes C let x, s be set ; ::_thesis: ( x c= s & s in symplexes C implies x in symplexes C ) assume that A1: x c= s and A2: s in symplexes C ; ::_thesis: x in symplexes C consider s1 being Element of Fin the carrier of C such that A3: s1 = s and A4: the InternalRel of C linearly_orders s1 by A2; s1 c= the carrier of C by FINSUB_1:def_5; then x c= the carrier of C by A1, A3, XBOOLE_1:1; then reconsider x1 = x as Element of Fin the carrier of C by A1, A2, FINSUB_1:def_5; the InternalRel of C linearly_orders x by A1, A3, A4, ORDERS_1:38; then x1 in { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; hence x in symplexes C ; ::_thesis: verum end; theorem Th6: :: TRIANG_1:6 for n being Element of NAT for C being non empty Poset for A being non empty Element of symplexes C st card A = n holds dom (SgmX ( the InternalRel of C,A)) = Seg n proof let n be Element of NAT ; ::_thesis: for C being non empty Poset for A being non empty Element of symplexes C st card A = n holds dom (SgmX ( the InternalRel of C,A)) = Seg n let C be non empty Poset; ::_thesis: for A being non empty Element of symplexes C st card A = n holds dom (SgmX ( the InternalRel of C,A)) = Seg n let A be non empty Element of symplexes C; ::_thesis: ( card A = n implies dom (SgmX ( the InternalRel of C,A)) = Seg n ) set f = SgmX ( the InternalRel of C,A); A in { A1 where A1 is Element of Fin the carrier of C : the InternalRel of C linearly_orders A1 } ; then A1: ex A1 being Element of Fin the carrier of C st ( A1 = A & the InternalRel of C linearly_orders A1 ) ; assume card A = n ; ::_thesis: dom (SgmX ( the InternalRel of C,A)) = Seg n then len (SgmX ( the InternalRel of C,A)) = n by A1, PRE_POLY:11; hence dom (SgmX ( the InternalRel of C,A)) = Seg n by FINSEQ_1:def_3; ::_thesis: verum end; registration let C be non empty Poset; cluster non empty finite for Element of symplexes C; existence not for b1 being Element of symplexes C holds b1 is empty proof set x = the Element of C; { the Element of C} in symplexes C by Th3; hence not for b1 being Element of symplexes C holds b1 is empty ; ::_thesis: verum end; end; begin definition mode SetSequence is ManySortedSet of NAT ; end; definition let IT be SetSequence; attrIT is lower_non-empty means :Def2: :: TRIANG_1:def 2 for n being Nat st not IT . n is empty holds for m being Nat st m < n holds not IT . m is empty ; end; :: deftheorem Def2 defines lower_non-empty TRIANG_1:def_2_:_ for IT being SetSequence holds ( IT is lower_non-empty iff for n being Nat st not IT . n is empty holds for m being Nat st m < n holds not IT . m is empty ); registration cluster Relation-like NAT -defined Function-like total lower_non-empty for set ; existence ex b1 being SetSequence st b1 is lower_non-empty proof set f = NAT --> 1; reconsider f = NAT --> 1 as ManySortedSet of NAT ; take f ; ::_thesis: f is lower_non-empty for n being Nat st not f . n is empty holds for m being Nat st m < n holds not f . m is empty proof let n be Nat; ::_thesis: ( not f . n is empty implies for m being Nat st m < n holds not f . m is empty ) assume not f . n is empty ; ::_thesis: for m being Nat st m < n holds not f . m is empty let m be Nat; ::_thesis: ( m < n implies not f . m is empty ) assume m < n ; ::_thesis: not f . m is empty m in NAT by ORDINAL1:def_12; hence not f . m is empty by FUNCOP_1:7; ::_thesis: verum end; hence f is lower_non-empty by Def2; ::_thesis: verum end; end; definition let X be SetSequence; func FuncsSeq X -> SetSequence means :Def3: :: TRIANG_1:def 3 for n being Nat holds it . n = Funcs ((X . (n + 1)),(X . n)); existence ex b1 being SetSequence st for n being Nat holds b1 . n = Funcs ((X . (n + 1)),(X . n)) proof deffunc H1( Element of NAT ) -> set = Funcs ((X . ($1 + 1)),(X . $1)); consider f being ManySortedSet of NAT such that A1: for n being Element of NAT holds f . n = H1(n) from PBOOLE:sch_5(); reconsider f = f as SetSequence ; take f ; ::_thesis: for n being Nat holds f . n = Funcs ((X . (n + 1)),(X . n)) let n be Nat; ::_thesis: f . n = Funcs ((X . (n + 1)),(X . n)) n in NAT by ORDINAL1:def_12; hence f . n = Funcs ((X . (n + 1)),(X . n)) by A1; ::_thesis: verum end; uniqueness for b1, b2 being SetSequence st ( for n being Nat holds b1 . n = Funcs ((X . (n + 1)),(X . n)) ) & ( for n being Nat holds b2 . n = Funcs ((X . (n + 1)),(X . n)) ) holds b1 = b2 proof let a, b be SetSequence; ::_thesis: ( ( for n being Nat holds a . n = Funcs ((X . (n + 1)),(X . n)) ) & ( for n being Nat holds b . n = Funcs ((X . (n + 1)),(X . n)) ) implies a = b ) assume that A2: for n being Nat holds a . n = Funcs ((X . (n + 1)),(X . n)) and A3: for n being Nat holds b . n = Funcs ((X . (n + 1)),(X . n)) ; ::_thesis: a = b let n be Element of NAT ; :: according to PBOOLE:def_21 ::_thesis: a . n = b . n a . n = Funcs ((X . (n + 1)),(X . n)) by A2; hence a . n c= b . n by A3; :: according to XBOOLE_0:def_10 ::_thesis: b . n c= a . n a . n = Funcs ((X . (n + 1)),(X . n)) by A2; hence b . n c= a . n by A3; ::_thesis: verum end; end; :: deftheorem Def3 defines FuncsSeq TRIANG_1:def_3_:_ for X, b2 being SetSequence holds ( b2 = FuncsSeq X iff for n being Nat holds b2 . n = Funcs ((X . (n + 1)),(X . n)) ); registration let X be lower_non-empty SetSequence; let n be Nat; cluster(FuncsSeq X) . n -> non empty ; coherence not (FuncsSeq X) . n is empty proof n < n + 1 by NAT_1:13; then A1: ( X . (n + 1) = {} or X . n <> {} ) by Def2; (FuncsSeq X) . n = Funcs ((X . (n + 1)),(X . n)) by Def3; hence not (FuncsSeq X) . n is empty by A1, FUNCT_2:8; ::_thesis: verum end; end; definition let n be Nat; let f be Element of Funcs ((Seg n),(Seg (n + 1))); func @ f -> FinSequence of REAL equals :: TRIANG_1:def 4 f; coherence f is FinSequence of REAL proof consider x being Function such that A1: x = f and dom x = Seg n and rng x c= Seg (n + 1) by FUNCT_2:def_2; reconsider x = x as FinSequence of Seg (n + 1) by A1, FINSEQ_2:25; Seg (n + 1) c= REAL by XBOOLE_1:1; then x is FinSequence of REAL by FINSEQ_2:24; hence f is FinSequence of REAL by A1; ::_thesis: verum end; end; :: deftheorem defines @ TRIANG_1:def_4_:_ for n being Nat for f being Element of Funcs ((Seg n),(Seg (n + 1))) holds @ f = f; definition func NatEmbSeq -> SetSequence means :Def5: :: TRIANG_1:def 5 for n being Nat holds it . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ; existence ex b1 being SetSequence st for n being Nat holds b1 . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } proof deffunc H1( Element of NAT ) -> set = { f where f is Element of Funcs ((Seg $1),(Seg ($1 + 1))) : @ f is increasing } ; consider F being ManySortedSet of NAT such that A1: for n being Element of NAT holds F . n = H1(n) from PBOOLE:sch_5(); reconsider F = F as SetSequence ; take F ; ::_thesis: for n being Nat holds F . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } let n be Nat; ::_thesis: F . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } n in NAT by ORDINAL1:def_12; hence F . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } by A1; ::_thesis: verum end; uniqueness for b1, b2 being SetSequence st ( for n being Nat holds b1 . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ) & ( for n being Nat holds b2 . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ) holds b1 = b2 proof let a, b be SetSequence; ::_thesis: ( ( for n being Nat holds a . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ) & ( for n being Nat holds b . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ) implies a = b ) assume that A2: for n being Nat holds a . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } and A3: for n being Nat holds b . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ; ::_thesis: a = b let n be Element of NAT ; :: according to PBOOLE:def_21 ::_thesis: a . n = b . n a . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } by A2; hence a . n c= b . n by A3; :: according to XBOOLE_0:def_10 ::_thesis: b . n c= a . n a . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } by A2; hence b . n c= a . n by A3; ::_thesis: verum end; end; :: deftheorem Def5 defines NatEmbSeq TRIANG_1:def_5_:_ for b1 being SetSequence holds ( b1 = NatEmbSeq iff for n being Nat holds b1 . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ); registration let n be Nat; clusterNatEmbSeq . n -> non empty ; coherence not NatEmbSeq . n is empty proof n <= n + 1 by NAT_1:11; then A1: Seg n c= Seg (n + 1) by FINSEQ_1:5; A2: rng (id (Seg n)) = Seg n ; dom (id (Seg n)) = Seg n ; then reconsider n1 = idseq n as Element of Funcs ((Seg n),(Seg (n + 1))) by A1, A2, FUNCT_2:def_2; @ n1 is increasing ; then n1 in { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } ; hence not NatEmbSeq . n is empty by Def5; ::_thesis: verum end; end; registration let n be Nat; cluster -> Relation-like Function-like for Element of NatEmbSeq . n; coherence for b1 being Element of NatEmbSeq . n holds ( b1 is Function-like & b1 is Relation-like ) proof reconsider n9 = n as Element of NAT by ORDINAL1:def_12; let x be Element of NatEmbSeq . n; ::_thesis: ( x is Function-like & x is Relation-like ) A1: x in NatEmbSeq . n9 ; NatEmbSeq . n = { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } by Def5; then ex f being Element of Funcs ((Seg n),(Seg (n + 1))) st ( x = f & @ f is increasing ) by A1; hence ( x is Function-like & x is Relation-like ) ; ::_thesis: verum end; end; definition let X be SetSequence; mode triangulation of X is ManySortedFunction of NatEmbSeq , FuncsSeq X; end; definition attrc1 is strict ; struct TriangStr -> ; aggrTriangStr(# SkeletonSeq, FacesAssign #) -> TriangStr ; sel SkeletonSeq c1 -> SetSequence; sel FacesAssign c1 -> ManySortedFunction of NatEmbSeq , FuncsSeq the SkeletonSeq of c1; end; definition let T be TriangStr ; attrT is lower_non-empty means :Def6: :: TRIANG_1:def 6 the SkeletonSeq of T is lower_non-empty ; end; :: deftheorem Def6 defines lower_non-empty TRIANG_1:def_6_:_ for T being TriangStr holds ( T is lower_non-empty iff the SkeletonSeq of T is lower_non-empty ); registration cluster strict lower_non-empty for TriangStr ; existence ex b1 being TriangStr st ( b1 is lower_non-empty & b1 is strict ) proof set Sk = NAT --> {}; reconsider Sk = NAT --> {} as ManySortedSet of NAT ; set A = the ManySortedFunction of NatEmbSeq , FuncsSeq Sk; take TriangStr(# Sk, the ManySortedFunction of NatEmbSeq , FuncsSeq Sk #) ; ::_thesis: ( TriangStr(# Sk, the ManySortedFunction of NatEmbSeq , FuncsSeq Sk #) is lower_non-empty & TriangStr(# Sk, the ManySortedFunction of NatEmbSeq , FuncsSeq Sk #) is strict ) for n being Nat st not Sk . n is empty holds for m being Nat st m < n holds not Sk . m is empty proof let n be Nat; ::_thesis: ( not Sk . n is empty implies for m being Nat st m < n holds not Sk . m is empty ) assume A1: not Sk . n is empty ; ::_thesis: for m being Nat st m < n holds not Sk . m is empty n in NAT by ORDINAL1:def_12; hence for m being Nat st m < n holds not Sk . m is empty by A1, FUNCOP_1:7; ::_thesis: verum end; then Sk is lower_non-empty by Def2; hence ( TriangStr(# Sk, the ManySortedFunction of NatEmbSeq , FuncsSeq Sk #) is lower_non-empty & TriangStr(# Sk, the ManySortedFunction of NatEmbSeq , FuncsSeq Sk #) is strict ) by Def6; ::_thesis: verum end; end; registration let T be lower_non-empty TriangStr ; cluster the SkeletonSeq of T -> lower_non-empty ; coherence the SkeletonSeq of T is lower_non-empty by Def6; end; registration let S be lower_non-empty SetSequence; let F be ManySortedFunction of NatEmbSeq , FuncsSeq S; cluster TriangStr(# S,F #) -> lower_non-empty ; coherence TriangStr(# S,F #) is lower_non-empty by Def6; end; 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 ; let n be Nat; let x be Symplex of T,(n + 1); let f be Face of n; assume A1: the SkeletonSeq of T . (n + 1) <> {} ; func face (x,f) -> Symplex of T,n means :Def7: :: TRIANG_1:def 7 for F, G being Function st F = the FacesAssign of T . n & G = F . f holds it = G . x; existence ex b1 being Symplex of T,n st for F, G being Function st F = the FacesAssign of T . n & G = F . f holds b1 = G . x proof reconsider n9 = n as Element of NAT by ORDINAL1:def_12; reconsider F = the FacesAssign of T . n9 as Function of (NatEmbSeq . n9),((FuncsSeq the SkeletonSeq of T) . n9) by PBOOLE:def_15; F . f in (FuncsSeq the SkeletonSeq of T) . n9 by FUNCT_2:5; then F . f in Funcs (( the SkeletonSeq of T . (n + 1)),( the SkeletonSeq of T . n)) by Def3; then consider G being Function such that A2: G = F . f and A3: dom G = the SkeletonSeq of T . (n + 1) and A4: rng G c= the SkeletonSeq of T . n by FUNCT_2:def_2; G . x in rng G by A1, A3, FUNCT_1:def_3; then reconsider S = G . x as Symplex of T,n by A4; take S ; ::_thesis: for F, G being Function st F = the FacesAssign of T . n & G = F . f holds S = G . x let F1, G1 be Function; ::_thesis: ( F1 = the FacesAssign of T . n & G1 = F1 . f implies S = G1 . x ) assume that A5: F1 = the FacesAssign of T . n and A6: G1 = F1 . f ; ::_thesis: S = G1 . x thus S = G1 . x by A2, A5, A6; ::_thesis: verum end; uniqueness for b1, b2 being Symplex of T,n st ( for F, G being Function st F = the FacesAssign of T . n & G = F . f holds b1 = G . x ) & ( for F, G being Function st F = the FacesAssign of T . n & G = F . f holds b2 = G . x ) holds b1 = b2 proof reconsider n9 = n as Element of NAT by ORDINAL1:def_12; let S1, S2 be Symplex of T,n; ::_thesis: ( ( for F, G being Function st F = the FacesAssign of T . n & G = F . f holds S1 = G . x ) & ( for F, G being Function st F = the FacesAssign of T . n & G = F . f holds S2 = G . x ) implies S1 = S2 ) assume that A7: for F, G being Function st F = the FacesAssign of T . n & G = F . f holds S1 = G . x and A8: for F, G being Function st F = the FacesAssign of T . n & G = F . f holds S2 = G . x ; ::_thesis: S1 = S2 reconsider F = the FacesAssign of T . n9 as Function of (NatEmbSeq . n9),((FuncsSeq the SkeletonSeq of T) . n9) by PBOOLE:def_15; F . f in (FuncsSeq the SkeletonSeq of T) . n9 by FUNCT_2:5; then F . f in Funcs (( the SkeletonSeq of T . (n + 1)),( the SkeletonSeq of T . n)) by Def3; then consider G being Function such that A9: G = F . f and dom G = the SkeletonSeq of T . (n + 1) and rng G c= the SkeletonSeq of T . n by FUNCT_2:def_2; S1 = G . x by A7, A9; hence S1 = S2 by A8, A9; ::_thesis: verum end; end; :: deftheorem Def7 defines face TRIANG_1:def_7_:_ for T being lower_non-empty TriangStr for n being Nat for x being Symplex of T,(n + 1) for f being Face of n st the SkeletonSeq of T . (n + 1) <> {} holds for b5 being Symplex of T,n holds ( b5 = face (x,f) iff for F, G being Function st F = the FacesAssign of T . n & G = F . f holds b5 = G . x ); definition let C be non empty Poset; func Triang C -> strict lower_non-empty TriangStr means :: TRIANG_1:def 8 ( the SkeletonSeq of it . 0 = {{}} & ( for n being 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 being Nat for f being Face of n for s being Element of the SkeletonSeq of it . (n + 1) st s in the SkeletonSeq of it . (n + 1) holds for A being 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 ) ); existence ex b1 being strict lower_non-empty TriangStr st ( the SkeletonSeq of b1 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of b1 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of b1 . (n + 1) st s in the SkeletonSeq of b1 . (n + 1) holds for A being 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 ) ) proof deffunc H1( Element of NAT ) -> set = IFEQ ($1,0,{{}}, { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = $1 } ); consider Sk being SetSequence such that A1: for n being Element of NAT holds Sk . n = H1(n) from PBOOLE:sch_5(); A2: now__::_thesis:_for_n_being_Nat_st_n_<>_0_holds_ Sk_._n_=__{__(SgmX_(_the_InternalRel_of_C,s))_where_s_is_non_empty_Element_of_symplexes_C_:_card_s_=_n__}_ let n be Nat; ::_thesis: ( n <> 0 implies Sk . n = { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } ) assume A3: n <> 0 ; ::_thesis: Sk . n = { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } n in NAT by ORDINAL1:def_12; hence Sk . n = IFEQ (n,0,{{}}, { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } ) by A1 .= { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } by A3, FUNCOP_1:def_8 ; ::_thesis: verum end; A4: Sk . 0 = IFEQ (0,0,{{}}, { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = 0 } ) by A1 .= {{}} by FUNCOP_1:def_8 ; Sk is lower_non-empty proof defpred S1[ Nat] means not Sk . $1 is empty ; let n be Nat; :: according to TRIANG_1:def_2 ::_thesis: ( not Sk . n is empty implies for m being Nat st m < n holds not Sk . m is empty ) A5: for m being Element of NAT st m < n & S1[m + 1] holds S1[m] proof let m be Element of NAT ; ::_thesis: ( m < n & S1[m + 1] implies S1[m] ) assume that m < n and A6: not Sk . (m + 1) is empty ; ::_thesis: S1[m] consider g being set such that A7: g in Sk . (m + 1) by A6, XBOOLE_0:def_1; Sk . (m + 1) = { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = m + 1 } by A2; then consider s being non empty Element of symplexes C such that g = SgmX ( the InternalRel of C,s) and A8: card s = m + 1 by A7; set x = the Element of s; reconsider sx = s \ { the Element of s} as finite set ; sx \/ { the Element of s} = s \/ { the Element of s} by XBOOLE_1:39; then A9: sx \/ { the Element of s} = s by XBOOLE_1:12; not the Element of s in sx by ZFMISC_1:56; then A10: m + 1 = (card sx) + 1 by A8, A9, CARD_2:41; percases ( m = 0 or m <> 0 ) ; suppose m = 0 ; ::_thesis: S1[m] hence S1[m] by A4; ::_thesis: verum end; supposeA11: m <> 0 ; ::_thesis: S1[m] then reconsider sx = sx as non empty Element of symplexes C by A10, Th5, XBOOLE_1:36; SgmX ( the InternalRel of C,sx) in { (SgmX ( the InternalRel of C,s1)) where s1 is non empty Element of symplexes C : card s1 = m } by A10; hence S1[m] by A2, A11; ::_thesis: verum end; end; end; assume A12: S1[n] ; ::_thesis: for m being Nat st m < n holds not Sk . m is empty A13: for m being Element of NAT st m <= n holds S1[m] from PRE_POLY:sch_1(A12, A5); let m be Nat; ::_thesis: ( m < n implies not Sk . m is empty ) assume A14: m < n ; ::_thesis: not Sk . m is empty m in NAT by ORDINAL1:def_12; hence not Sk . m is empty by A13, A14; ::_thesis: verum end; then reconsider Sk = Sk as lower_non-empty SetSequence ; defpred S1[ set , set , set ] means ex n being Nat ex y being Face of n st ( $2 = y & $3 = n & ( for s being Element of Sk . (n + 1) st s in Sk . (n + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = $1 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) ); A15: for i being set st i in NAT holds for x being set st x in NatEmbSeq . i holds ex y being set st ( y in (FuncsSeq Sk) . i & S1[y,x,i] ) proof let i be set ; ::_thesis: ( i in NAT implies for x being set st x in NatEmbSeq . i holds ex y being set st ( y in (FuncsSeq Sk) . i & S1[y,x,i] ) ) assume i in NAT ; ::_thesis: for x being set st x in NatEmbSeq . i holds ex y being set st ( y in (FuncsSeq Sk) . i & S1[y,x,i] ) then reconsider n = i as Element of NAT ; let x be set ; ::_thesis: ( x in NatEmbSeq . i implies ex y being set st ( y in (FuncsSeq Sk) . i & S1[y,x,i] ) ) assume A16: x in NatEmbSeq . i ; ::_thesis: ex y being set st ( y in (FuncsSeq Sk) . i & S1[y,x,i] ) then reconsider y = x as Face of n ; reconsider y1 = y as Function ; x in { f where f is Element of Funcs ((Seg n),(Seg (n + 1))) : @ f is increasing } by A16, Def5; then A17: ex f being Element of Funcs ((Seg n),(Seg (n + 1))) st ( f = x & @ f is increasing ) ; then consider y2 being Function such that A18: y2 = y1 and A19: dom y2 = Seg n and A20: rng y2 c= Seg (n + 1) by FUNCT_2:def_2; reconsider y2 = y2 as FinSequence by A19, FINSEQ_1:def_2; A21: len y2 = n by A19, FINSEQ_1:def_3; defpred S2[ set , set ] means ex f being Function st ( f = $1 & $2 = f * y1 ); A22: for s being set st s in Sk . (n + 1) holds ex u being set st S2[s,u] proof let s be set ; ::_thesis: ( s in Sk . (n + 1) implies ex u being set st S2[s,u] ) assume s in Sk . (n + 1) ; ::_thesis: ex u being set st S2[s,u] then s in { (SgmX ( the InternalRel of C,s9)) where s9 is non empty Element of symplexes C : card s9 = n + 1 } by A2; then consider A being non empty Element of symplexes C such that A23: SgmX ( the InternalRel of C,A) = s and card A = n + 1 ; reconsider u = (SgmX ( the InternalRel of C,A)) * y as set ; consider f being Function such that A24: f = s by A23; take u ; ::_thesis: S2[s,u] take f ; ::_thesis: ( f = s & u = f * y1 ) thus ( f = s & u = f * y1 ) by A23, A24; ::_thesis: verum end; consider g being Function such that A25: dom g = Sk . (n + 1) and A26: for s being set st s in Sk . (n + 1) holds S2[s,g . s] from CLASSES1:sch_1(A22); reconsider y2 = y2 as FinSequence of Seg (n + 1) by A20, FINSEQ_1:def_4; reconsider g9 = g as set ; take g9 ; ::_thesis: ( g9 in (FuncsSeq Sk) . i & S1[g9,x,i] ) A27: y2 is one-to-one proof let a, b be set ; :: according to FUNCT_1:def_4 ::_thesis: ( not a in dom y2 or not b in dom y2 or not y2 . a = y2 . b or a = b ) assume that A28: a in dom y2 and A29: b in dom y2 and A30: y2 . a = y2 . b ; ::_thesis: a = b reconsider a = a, b = b as Element of NAT by A28, A29; now__::_thesis:_not_a_<>_b assume A31: a <> b ; ::_thesis: contradiction percases ( a < b or b < a ) by A31, XXREAL_0:1; suppose a < b ; ::_thesis: contradiction hence contradiction by A17, A18, A28, A29, A30, SEQM_3:def_1; ::_thesis: verum end; suppose b < a ; ::_thesis: contradiction hence contradiction by A17, A18, A28, A29, A30, SEQM_3:def_1; ::_thesis: verum end; end; end; hence a = b ; ::_thesis: verum end; rng g c= Sk . n proof reconsider F = symplexes C as with_non-empty_element Subset of (Fin the carrier of C) ; let z be set ; :: according to TARSKI:def_3 ::_thesis: ( not z in rng g or z in Sk . n ) assume z in rng g ; ::_thesis: z in Sk . n then consider a being set such that A32: a in dom g and A33: z = g . a by FUNCT_1:def_3; consider f being Function such that A34: f = a and A35: g . a = f * y2 by A18, A25, A26, A32; percases ( n = 0 or n <> 0 ) ; supposeA36: n = 0 ; ::_thesis: z in Sk . n then Seg n = {} ; then dom (f * y1) = {} by A18, A19, RELAT_1:25, XBOOLE_1:3; then z = {} by A18, A33, A35; hence z in Sk . n by A4, A36, TARSKI:def_1; ::_thesis: verum end; supposeA37: n <> 0 ; ::_thesis: z in Sk . n f in { (SgmX ( the InternalRel of C,s1)) where s1 is non empty Element of symplexes C : card s1 = n + 1 } by A2, A25, A32, A34; then consider s1 being non empty Element of symplexes C such that A38: SgmX ( the InternalRel of C,s1) = f and A39: card s1 = n + 1 ; s1 in { A where A is Element of Fin the carrier of C : the InternalRel of C linearly_orders A } ; then A40: ex s19 being Element of Fin the carrier of C st ( s19 = s1 & the InternalRel of C linearly_orders s19 ) ; then rng f = s1 by A38, PRE_POLY:def_2; then reconsider f = f as FinSequence of s1 by A38, FINSEQ_1:def_4; reconsider f = f as FinSequence of RelStr(# s1,( the InternalRel of C |_2 s1) #) ; A41: f is one-to-one by A38, A40, PRE_POLY:10; A42: dom f = Seg (n + 1) by A38, A39, Th6; A43: f is Function of (dom f),s1 by FINSEQ_2:26; then f is Function of (Seg (n + 1)), the carrier of C by A42, FUNCT_2:7; then reconsider z1 = z as FinSequence of RelStr(# the carrier of C, the InternalRel of C #) by A33, A35, FINSEQ_2:32; reconsider f = f as Function of (Seg (n + 1)), the carrier of C by A42, A43, FUNCT_2:7; A44: dom (f * y2) = Seg n by A19, A20, A42, RELAT_1:27; rng (f * y2) c= the carrier of C by FINSEQ_1:def_4; then reconsider r = rng (f * y2) as Element of Fin the carrier of C by FINSUB_1:def_5; rng (f * y2) c= s1 by RELAT_1:def_19; then reconsider s9 = r as non empty Element of F by A37, A44, Th5, RELAT_1:42; for n1, m1 being Nat st n1 in dom z1 & m1 in dom z1 & n1 < m1 holds ( z1 /. n1 <> z1 /. m1 & [(z1 /. n1),(z1 /. m1)] in the InternalRel of C ) proof let n1, m1 be Nat; ::_thesis: ( n1 in dom z1 & m1 in dom z1 & n1 < m1 implies ( z1 /. n1 <> z1 /. m1 & [(z1 /. n1),(z1 /. m1)] in the InternalRel of C ) ) assume that A45: n1 in dom z1 and A46: m1 in dom z1 and A47: n1 < m1 ; ::_thesis: ( z1 /. n1 <> z1 /. m1 & [(z1 /. n1),(z1 /. m1)] in the InternalRel of C ) y2 . m1 in Seg (n + 1) by A19, A33, A35, A44, A46, FINSEQ_2:11; then reconsider ym = y2 . m1 as Element of NAT ; y2 . n1 in Seg (n + 1) by A19, A33, A35, A44, A45, FINSEQ_2:11; then reconsider yn = y2 . n1 as Element of NAT ; A48: yn < ym by A17, A18, A19, A33, A35, A44, A45, A46, A47, SEQM_3:def_1; A49: ym in rng y2 by A19, A33, A35, A44, A46, FUNCT_1:def_3; then reconsider fm = f . ym as Element of RelStr(# s1,( the InternalRel of C |_2 s1) #) by A20, A42, FINSEQ_2:11; A50: fm = f /. ym by A20, A42, A49, PARTFUN1:def_6; z1 . m1 = fm by A33, A35, A46, FUNCT_1:12; then reconsider zm = z1 . m1 as Element of RelStr(# s1,( the InternalRel of C |_2 s1) #) ; A51: zm = z1 /. m1 by A46, PARTFUN1:def_6; A52: z1 . m1 = f . (y2 . m1) by A33, A35, A46, FUNCT_1:12; A53: z1 . n1 = f . (y2 . n1) by A33, A35, A45, FUNCT_1:12; A54: yn in rng y2 by A19, A33, A35, A44, A45, FUNCT_1:def_3; then reconsider fn = f . yn as Element of RelStr(# s1,( the InternalRel of C |_2 s1) #) by A20, A42, FINSEQ_2:11; z1 . n1 = fn by A33, A35, A45, FUNCT_1:12; then reconsider zn = z1 . n1 as Element of RelStr(# s1,( the InternalRel of C |_2 s1) #) ; A55: zn = z1 /. n1 by A45, PARTFUN1:def_6; fn = f /. yn by A20, A42, A54, PARTFUN1:def_6; hence ( z1 /. n1 <> z1 /. m1 & [(z1 /. n1),(z1 /. m1)] in the InternalRel of C ) by A20, A38, A40, A42, A53, A52, A48, A54, A49, A50, A55, A51, PRE_POLY:def_2; ::_thesis: verum end; then A56: z1 = SgmX ( the InternalRel of C,s9) by A33, A35, PRE_POLY:9; len (f * y2) = n by A20, A21, A42, FINSEQ_2:29; then card s9 = n by A27, A41, FINSEQ_4:62; then z in { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } by A56; hence z in Sk . n by A2, A37; ::_thesis: verum end; end; end; then g9 in Funcs ((Sk . (n + 1)),(Sk . n)) by A25, FUNCT_2:def_2; hence g9 in (FuncsSeq Sk) . i by Def3; ::_thesis: S1[g9,x,i] reconsider y = x as Face of n by A16; take n ; ::_thesis: ex y being Face of n st ( x = y & i = n & ( for s being Element of Sk . (n + 1) st s in Sk . (n + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) ) take y ; ::_thesis: ( x = y & i = n & ( for s being Element of Sk . (n + 1) st s in Sk . (n + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) ) thus ( x = y & i = n ) ; ::_thesis: for s being Element of Sk . (n + 1) st s in Sk . (n + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y let s be Element of Sk . (n + 1); ::_thesis: ( s in Sk . (n + 1) implies for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) assume s in Sk . (n + 1) ; ::_thesis: for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y then A57: ex f being Function st ( f = s & g . s = f * y1 ) by A26; let A be non empty Element of symplexes C; ::_thesis: ( SgmX ( the InternalRel of C,A) = s implies for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) assume A58: SgmX ( the InternalRel of C,A) = s ; ::_thesis: for g1 being Function st g1 = g9 holds g1 . s = (SgmX ( the InternalRel of C,A)) * y let g1 be Function; ::_thesis: ( g1 = g9 implies g1 . s = (SgmX ( the InternalRel of C,A)) * y ) assume g1 = g9 ; ::_thesis: g1 . s = (SgmX ( the InternalRel of C,A)) * y hence g1 . s = (SgmX ( the InternalRel of C,A)) * y by A58, A57; ::_thesis: verum end; consider F being ManySortedFunction of NatEmbSeq , FuncsSeq Sk such that A59: for i being set st i in NAT holds ex f being Function of (NatEmbSeq . i),((FuncsSeq Sk) . i) st ( f = F . i & ( for x being set st x in NatEmbSeq . i holds S1[f . x,x,i] ) ) from MSSUBFAM:sch_1(A15); take TriangStr(# Sk,F #) ; ::_thesis: ( the SkeletonSeq of TriangStr(# Sk,F #) . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of TriangStr(# Sk,F #) . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) st s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) holds for A being 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 ) ) thus the SkeletonSeq of TriangStr(# Sk,F #) . 0 = {{}} by A4; ::_thesis: ( ( for n being Nat st n > 0 holds the SkeletonSeq of TriangStr(# Sk,F #) . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) st s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) holds for A being 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 ) ) thus for n being Nat st n > 0 holds the SkeletonSeq of TriangStr(# Sk,F #) . n = { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } by A2; ::_thesis: for n being Nat for f being Face of n for s being Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) st s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) holds for A being 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 let n be Nat; ::_thesis: for f being Face of n for s being Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) st s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) holds for A being 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 n in NAT by ORDINAL1:def_12; then consider f1 being Function of (NatEmbSeq . n),((FuncsSeq Sk) . n) such that A60: f1 = F . n and A61: for x being set st x in NatEmbSeq . n holds ex m being Nat ex y being Face of m st ( x = y & n = m & ( for s being Element of Sk . (m + 1) st s in Sk . (m + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = f1 . x holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) ) by A59; let x be Face of n; ::_thesis: for s being Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) st s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds face (s,x) = (SgmX ( the InternalRel of C,A)) * x let s be Element of the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1); ::_thesis: ( s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) implies for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds face (s,x) = (SgmX ( the InternalRel of C,A)) * x ) assume A62: s in the SkeletonSeq of TriangStr(# Sk,F #) . (n + 1) ; ::_thesis: for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds face (s,x) = (SgmX ( the InternalRel of C,A)) * x let A be non empty Element of symplexes C; ::_thesis: ( SgmX ( the InternalRel of C,A) = s implies face (s,x) = (SgmX ( the InternalRel of C,A)) * x ) assume A63: SgmX ( the InternalRel of C,A) = s ; ::_thesis: face (s,x) = (SgmX ( the InternalRel of C,A)) * x A64: ex m being Nat ex y being Face of m st ( x = y & n = m & ( for s being Element of Sk . (m + 1) st s in Sk . (m + 1) holds for A being non empty Element of symplexes C st SgmX ( the InternalRel of C,A) = s holds for g1 being Function st g1 = f1 . x holds g1 . s = (SgmX ( the InternalRel of C,A)) * y ) ) by A61; f1 . x in (FuncsSeq Sk) . n ; then f1 . x in Funcs ((Sk . (n + 1)),(Sk . n)) by Def3; then consider G being Function such that A65: f1 . x = G and dom G = Sk . (n + 1) and rng G c= Sk . n by FUNCT_2:def_2; face (s,x) = G . s by A60, A62, A65, Def7; hence face (s,x) = (SgmX ( the InternalRel of C,A)) * x by A62, A63, A64, A65; ::_thesis: verum end; uniqueness for b1, b2 being strict lower_non-empty TriangStr st the SkeletonSeq of b1 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of b1 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of b1 . (n + 1) st s in the SkeletonSeq of b1 . (n + 1) holds for A being 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 ) & the SkeletonSeq of b2 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of b2 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of b2 . (n + 1) st s in the SkeletonSeq of b2 . (n + 1) holds for A being 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 ) holds b1 = b2 proof let T1, T2 be strict lower_non-empty TriangStr ; ::_thesis: ( the SkeletonSeq of T1 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of T1 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of T1 . (n + 1) st s in the SkeletonSeq of T1 . (n + 1) holds for A being 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 ) & the SkeletonSeq of T2 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of T2 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of T2 . (n + 1) st s in the SkeletonSeq of T2 . (n + 1) holds for A being 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 ) implies T1 = T2 ) assume that A66: the SkeletonSeq of T1 . 0 = {{}} and A67: for n being Nat st n > 0 holds the SkeletonSeq of T1 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } and A68: for n being Nat for f being Face of n for s being Element of the SkeletonSeq of T1 . (n + 1) st s in the SkeletonSeq of T1 . (n + 1) holds for A being 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 and A69: the SkeletonSeq of T2 . 0 = {{}} and A70: for n being Nat st n > 0 holds the SkeletonSeq of T2 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } and A71: for n being Nat for f being Face of n for s being Element of the SkeletonSeq of T2 . (n + 1) st s in the SkeletonSeq of T2 . (n + 1) holds for A being 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 ; ::_thesis: T1 = T2 A72: for x being set st x in NAT holds the SkeletonSeq of T1 . x = the SkeletonSeq of T2 . x proof let x be set ; ::_thesis: ( x in NAT implies the SkeletonSeq of T1 . x = the SkeletonSeq of T2 . x ) assume x in NAT ; ::_thesis: the SkeletonSeq of T1 . x = the SkeletonSeq of T2 . x then reconsider n = x as Element of NAT ; now__::_thesis:_the_SkeletonSeq_of_T1_._n_=_the_SkeletonSeq_of_T2_._n percases ( n = 0 or n <> 0 ) ; suppose n = 0 ; ::_thesis: the SkeletonSeq of T1 . n = the SkeletonSeq of T2 . n hence the SkeletonSeq of T1 . n = the SkeletonSeq of T2 . n by A66, A69; ::_thesis: verum end; supposeA73: n <> 0 ; ::_thesis: the SkeletonSeq of T1 . n = the SkeletonSeq of T2 . n then the SkeletonSeq of T1 . n = { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n } by A67; hence the SkeletonSeq of T1 . n = the SkeletonSeq of T2 . n by A70, A73; ::_thesis: verum end; end; end; hence the SkeletonSeq of T1 . x = the SkeletonSeq of T2 . x ; ::_thesis: verum end; then A74: the SkeletonSeq of T1 = the SkeletonSeq of T2 by PBOOLE:3; now__::_thesis:_for_i_being_set_st_i_in_NAT_holds_ the_FacesAssign_of_T1_._i_=_the_FacesAssign_of_T2_._i let i be set ; ::_thesis: ( i in NAT implies the FacesAssign of T1 . i = the FacesAssign of T2 . i ) assume i in NAT ; ::_thesis: the FacesAssign of T1 . i = the FacesAssign of T2 . i then reconsider n = i as Element of NAT ; reconsider F1n = the FacesAssign of T1 . n, F2n = the FacesAssign of T2 . n as Function of (NatEmbSeq . n),((FuncsSeq the SkeletonSeq of T1) . n) by A74, PBOOLE:def_15; A75: dom F2n = NatEmbSeq . n by FUNCT_2:def_1; A76: now__::_thesis:_for_x_being_set_st_x_in_NatEmbSeq_._n_holds_ F1n_._x_=_F2n_._x let x be set ; ::_thesis: ( x in NatEmbSeq . n implies F1n . x = F2n . x ) assume x in NatEmbSeq . n ; ::_thesis: F1n . x = F2n . x then reconsider x1 = x as Face of n ; F1n . x1 in (FuncsSeq the SkeletonSeq of T1) . n ; then F1n . x1 in Funcs (( the SkeletonSeq of T1 . (n + 1)),( the SkeletonSeq of T1 . n)) by Def3; then consider F1nx being Function such that A77: F1nx = F1n . x1 and A78: dom F1nx = the SkeletonSeq of T1 . (n + 1) and rng F1nx c= the SkeletonSeq of T1 . n by FUNCT_2:def_2; F2n . x1 in (FuncsSeq the SkeletonSeq of T1) . n ; then F2n . x1 in Funcs (( the SkeletonSeq of T1 . (n + 1)),( the SkeletonSeq of T1 . n)) by Def3; then consider F2nx being Function such that A79: F2nx = F2n . x1 and A80: dom F2nx = the SkeletonSeq of T1 . (n + 1) and rng F2nx c= the SkeletonSeq of T1 . n by FUNCT_2:def_2; now__::_thesis:_for_y_being_set_st_y_in_the_SkeletonSeq_of_T1_._(n_+_1)_holds_ F1nx_._y_=_F2nx_._y let y be set ; ::_thesis: ( y in the SkeletonSeq of T1 . (n + 1) implies F1nx . y = F2nx . y ) assume A81: y in the SkeletonSeq of T1 . (n + 1) ; ::_thesis: F1nx . y = F2nx . y then reconsider y1 = y as Symplex of T1,(n + 1) ; A82: F1nx . y1 = face (y1,x1) by A77, A81, Def7; reconsider y2 = y as Symplex of T2,(n + 1) by A72, A81; A83: F2nx . y2 = face (y2,x1) by A74, A79, A81, Def7; y1 in { (SgmX ( the InternalRel of C,s)) where s is non empty Element of symplexes C : card s = n + 1 } by A67, A81; then consider A being non empty Element of symplexes C such that A84: SgmX ( the InternalRel of C,A) = y1 and card A = n + 1 ; face (y1,x1) = (SgmX ( the InternalRel of C,A)) * x1 by A68, A81, A84; hence F1nx . y = F2nx . y by A71, A74, A81, A82, A83, A84; ::_thesis: verum end; hence F1n . x = F2n . x by A77, A78, A79, A80, FUNCT_1:2; ::_thesis: verum end; dom F1n = NatEmbSeq . n by FUNCT_2:def_1; hence the FacesAssign of T1 . i = the FacesAssign of T2 . i by A75, A76, FUNCT_1:2; ::_thesis: verum end; hence T1 = T2 by A74, PBOOLE:3; ::_thesis: verum end; end; :: deftheorem defines Triang TRIANG_1:def_8_:_ for C being non empty Poset for b2 being strict lower_non-empty TriangStr holds ( b2 = Triang C iff ( the SkeletonSeq of b2 . 0 = {{}} & ( for n being Nat st n > 0 holds the SkeletonSeq of b2 . n = { (SgmX ( the InternalRel of C,A)) where A is non empty Element of symplexes C : card A = n } ) & ( for n being Nat for f being Face of n for s being Element of the SkeletonSeq of b2 . (n + 1) st s in the SkeletonSeq of b2 . (n + 1) holds for A being 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 ) ) );