Article POLYFORM, MML version 4.99.1005
:: POLYFORM:th 1
theorem
for b1, b2, b3 being set
st (ex b4, b5 being set st
b4 <> b5 & b1 = {b4,b5}) &
b2 in b1 &
b3 in b1 &
b2 <> b3
holds b1 = {b2,b3};
:: POLYFORM:th 2
theorem
for b1 being Relation-like Function-like set
st b1 is one-to-one
holds Card proj1 b1 = Card proj2 b1;
:: POLYFORM:th 3
theorem
for b1 being integer set
st 1 <= b1
holds b1 is natural set;
:: POLYFORM:funcnot 1 => POLYFORM:func 1
definition
let a1 be integer set;
let a2 be natural set;
redefine func a1 * a2 -> Element of INT;
commutativity;
:: for a1 being integer set
:: for a2 being natural set holds
:: a1 * a2 = a2 * a1;
end;
:: POLYFORM:th 4
theorem
1 is odd;
:: POLYFORM:th 5
theorem
2 is even;
:: POLYFORM:th 6
theorem
3 is odd;
:: POLYFORM:th 7
theorem
4 is even;
:: POLYFORM:th 8
theorem
for b1 being natural set
st b1 is even
holds (- 1) |^ b1 = 1;
:: POLYFORM:th 9
theorem
for b1 being natural set
st b1 is odd
holds (- 1) |^ b1 = - 1;
:: POLYFORM:th 10
theorem
for b1 being natural set holds
(- 1) |^ b1 is integer set;
:: POLYFORM:funcnot 2 => POLYFORM:func 2
definition
let a1 be integer set;
let a2 be natural set;
redefine func a1 |^ a2 -> Element of INT;
end;
:: POLYFORM:th 11
theorem
for b1, b2, b3 being Relation-like Function-like FinSequence-like set holds
len (b1 ^ b2) <= len (b1 ^ (b2 ^ b3));
:: POLYFORM:th 12
theorem
for b1 being natural set holds
1 < b1 + 2;
:: POLYFORM:th 13
theorem
(- 1) |^ 2 = 1;
:: POLYFORM:th 14
theorem
for b1 being natural set holds
(- 1) |^ b1 = (- 1) |^ (b1 + 2);
:: POLYFORM:funcreg 1
registration
let a1 be FinSequence of INT;
let a2 be natural set;
cluster a1 . a2 -> integer;
end;
:: POLYFORM:th 15
theorem
for b1, b2, b3 being FinSequence of INT
st 0 < len b3 &
len b1 = len b3 &
len b2 = len b3 &
(for b4 being natural set
st 1 <= b4 & b4 <= len b3
holds b3 . b4 = (b1 . b4) + (b2 . b4)) &
(for b4 being natural set
st 1 <= b4 & b4 < len b3
holds b2 . b4 = - (b1 . (b4 + 1)))
holds Sum b3 = (b1 . 1) + (b2 . len b3);
:: POLYFORM:th 16
theorem
for b1, b2, b3 being Relation-like Function-like FinSequence-like set holds
len ((b1 ^ b2) ^ b3) = ((len b1) + len b2) + len b3;
:: POLYFORM:th 17
theorem
for b1 being set
for b2, b3 being Relation-like Function-like FinSequence-like set holds
((<*b1*> ^ b2) ^ b3) . 1 = b1;
:: POLYFORM:th 18
theorem
for b1 being set
for b2, b3 being Relation-like Function-like FinSequence-like set holds
((b2 ^ b3) ^ <*b1*>) . (((len b2) + len b3) + 1) = b1;
:: POLYFORM:th 19
theorem
for b1, b2, b3 being Relation-like Function-like FinSequence-like set
for b4 being natural set
st len b1 < b4 & b4 <= len (b1 ^ b2)
holds ((b1 ^ b2) ^ b3) . b4 = b2 . (b4 - len b1);
:: POLYFORM:funcnot 3 => POLYFORM:func 3
definition
let a1 be integer set;
redefine func <*a1*> -> FinSequence of INT;
end;
:: POLYFORM:funcnot 4 => POLYFORM:func 4
definition
let a1, a2 be integer set;
redefine func <*a1, a2*> -> FinSequence of INT;
end;
:: POLYFORM:funcnot 5 => POLYFORM:func 5
definition
let a1, a2, a3 be integer set;
redefine func <*a1, a2, a3*> -> FinSequence of INT;
end;
:: POLYFORM:funcnot 6 => POLYFORM:func 6
definition
let a1, a2 be FinSequence of INT;
redefine func a1 ^ a2 -> FinSequence of INT;
end;
:: POLYFORM:th 20
theorem
for b1, b2 being FinSequence of INT holds
Sum (b1 ^ b2) = (Sum b1) + Sum b2;
:: POLYFORM:th 21
theorem
for b1 being integer set
for b2 being FinSequence of INT holds
Sum (<*b1*> ^ b2) = b1 + Sum b2;
:: POLYFORM:th 22
theorem
for b1, b2, b3 being FinSequence of INT holds
Sum ((b1 ^ b2) ^ b3) = ((Sum b1) + Sum b2) + Sum b3;
:: POLYFORM:th 23
theorem
for b1 being Element of the carrier of Z_2 holds
Sum <*b1*> = b1;
:: POLYFORM:modenot 1
definition
let a1, a2 be set;
mode incidence-matrix of a1,a2 is Element of Funcs([:a1,a2:],{0. Z_2,1. Z_2});
end;
:: POLYFORM:th 24
theorem
for b1, b2 being set holds
[:b1,b2:] --> 1. Z_2 is Element of Funcs([:b1,b2:],{0. Z_2,1. Z_2});
:: POLYFORM:structnot 1 => POLYFORM:struct 1
definition
struct() PolyhedronStr(#
PolytopsF -> Relation-like Function-like FinSequence-like FinSequence-yielding set,
IncidenceF -> Relation-like Function-like FinSequence-like Function-yielding set
#);
end;
:: POLYFORM:attrnot 1 => POLYFORM:attr 1
definition
let a1 be PolyhedronStr;
attr a1 is strict;
end;
:: POLYFORM:exreg 1
registration
cluster strict PolyhedronStr;
end;
:: POLYFORM:aggrnot 1 => POLYFORM:aggr 1
definition
let a1 be Relation-like Function-like FinSequence-like FinSequence-yielding set;
let a2 be Relation-like Function-like FinSequence-like Function-yielding set;
aggr PolyhedronStr(#a1,a2#) -> strict PolyhedronStr;
end;
:: POLYFORM:selnot 1 => POLYFORM:sel 1
definition
let a1 be PolyhedronStr;
sel the PolytopsF of a1 -> Relation-like Function-like FinSequence-like FinSequence-yielding set;
end;
:: POLYFORM:selnot 2 => POLYFORM:sel 2
definition
let a1 be PolyhedronStr;
sel the IncidenceF of a1 -> Relation-like Function-like FinSequence-like Function-yielding set;
end;
:: POLYFORM:attrnot 2 => POLYFORM:attr 2
definition
let a1 be PolyhedronStr;
attr a1 is polyhedron_1 means
len the IncidenceF of a1 = (len the PolytopsF of a1) - 1;
end;
:: POLYFORM:dfs 1
definiens
let a1 be PolyhedronStr;
To prove
a1 is polyhedron_1
it is sufficient to prove
thus len the IncidenceF of a1 = (len the PolytopsF of a1) - 1;
:: POLYFORM:def 1
theorem
for b1 being PolyhedronStr holds
b1 is polyhedron_1
iff
len the IncidenceF of b1 = (len the PolytopsF of b1) - 1;
:: POLYFORM:attrnot 3 => POLYFORM:attr 3
definition
let a1 be PolyhedronStr;
attr a1 is polyhedron_2 means
for b1 being natural set
st 1 <= b1 & b1 < len the PolytopsF of a1
holds (the IncidenceF of a1) . b1 is Element of Funcs([:proj2 ((the PolytopsF of a1) . b1),proj2 ((the PolytopsF of a1) . (b1 + 1)):],{0. Z_2,1. Z_2});
end;
:: POLYFORM:dfs 2
definiens
let a1 be PolyhedronStr;
To prove
a1 is polyhedron_2
it is sufficient to prove
thus for b1 being natural set
st 1 <= b1 & b1 < len the PolytopsF of a1
holds (the IncidenceF of a1) . b1 is Element of Funcs([:proj2 ((the PolytopsF of a1) . b1),proj2 ((the PolytopsF of a1) . (b1 + 1)):],{0. Z_2,1. Z_2});
:: POLYFORM:def 2
theorem
for b1 being PolyhedronStr holds
b1 is polyhedron_2
iff
for b2 being natural set
st 1 <= b2 & b2 < len the PolytopsF of b1
holds (the IncidenceF of b1) . b2 is Element of Funcs([:proj2 ((the PolytopsF of b1) . b2),proj2 ((the PolytopsF of b1) . (b2 + 1)):],{0. Z_2,1. Z_2});
:: POLYFORM:attrnot 4 => POLYFORM:attr 4
definition
let a1 be PolyhedronStr;
attr a1 is polyhedron_3 means
for b1 being natural set
st 1 <= b1 & b1 <= len the PolytopsF of a1
holds (the PolytopsF of a1) . b1 is not empty & (the PolytopsF of a1) . b1 is one-to-one;
end;
:: POLYFORM:dfs 3
definiens
let a1 be PolyhedronStr;
To prove
a1 is polyhedron_3
it is sufficient to prove
thus for b1 being natural set
st 1 <= b1 & b1 <= len the PolytopsF of a1
holds (the PolytopsF of a1) . b1 is not empty & (the PolytopsF of a1) . b1 is one-to-one;
:: POLYFORM:def 3
theorem
for b1 being PolyhedronStr holds
b1 is polyhedron_3
iff
for b2 being natural set
st 1 <= b2 & b2 <= len the PolytopsF of b1
holds (the PolytopsF of b1) . b2 is not empty & (the PolytopsF of b1) . b2 is one-to-one;
:: POLYFORM:exreg 2
registration
cluster polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
end;
:: POLYFORM:modenot 2
definition
mode polyhedron is polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
end;
:: POLYFORM:funcnot 7 => POLYFORM:func 7
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func dim A1 -> Element of NAT equals
len the PolytopsF of a1;
end;
:: POLYFORM:def 4
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
dim b1 = len the PolytopsF of b1;
:: POLYFORM:funcnot 8 => POLYFORM:func 8
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -polytopes A1 -> finite set means
(- 1 <= a2 or it = {}) &
(a2 = - 1 implies it = {{}}) &
(- 1 < a2 & a2 < dim a1 implies it = proj2 ((the PolytopsF of a1) . (a2 + 1))) &
(a2 = dim a1 implies it = {a1}) &
(a2 <= dim a1 or it = {});
end;
:: POLYFORM:def 5
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being finite set holds
b3 = b2 -polytopes b1
iff
(- 1 <= b2 or b3 = {}) &
(b2 = - 1 implies b3 = {{}}) &
(- 1 < b2 & b2 < dim b1 implies b3 = proj2 ((the PolytopsF of b1) . (b2 + 1))) &
(b2 = dim b1 implies b3 = {b1}) &
(b2 <= dim b1 or b3 = {});
:: POLYFORM:th 25
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
st - 1 < b2 & b2 < dim b1
holds b2 + 1 is natural set & 1 <= b2 + 1 & b2 + 1 <= dim b1;
:: POLYFORM:th 26
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -polytopes b1 is not empty
iff
- 1 <= b2 & b2 <= dim b1;
:: POLYFORM:th 27
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
st b2 < dim b1
holds b2 - 1 < dim b1;
:: POLYFORM:funcnot 9 => POLYFORM:func 9
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func eta(A1,A2) -> Element of Funcs([:(a2 - 1) -polytopes a1,a2 -polytopes a1:],{0. Z_2,1. Z_2}) means
(0 <= a2 or it = {}) &
(a2 = 0 implies it = [:{{}},0 -polytopes a1:] --> 1. Z_2) &
(0 < a2 & a2 < dim a1 implies it = (the IncidenceF of a1) . a2) &
(a2 = dim a1 implies it = [:((dim a1) - 1) -polytopes a1,{a1}:] --> 1. Z_2) &
(a2 <= dim a1 or it = {});
end;
:: POLYFORM:def 6
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of Funcs([:(b2 - 1) -polytopes b1,b2 -polytopes b1:],{0. Z_2,1. Z_2}) holds
b3 = eta(b1,b2)
iff
(0 <= b2 or b3 = {}) &
(b2 = 0 implies b3 = [:{{}},0 -polytopes b1:] --> 1. Z_2) &
(0 < b2 & b2 < dim b1 implies b3 = (the IncidenceF of b1) . b2) &
(b2 = dim b1 implies b3 = [:((dim b1) - 1) -polytopes b1,{b1}:] --> 1. Z_2) &
(b2 <= dim b1 or b3 = {});
:: POLYFORM:funcnot 10 => POLYFORM:func 10
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -polytope-seq A1 -> Relation-like Function-like FinSequence-like set means
(- 1 <= a2 or it = <*> {}) &
(a2 = - 1 implies it = <*{}*>) &
(- 1 < a2 & a2 < dim a1 implies it = (the PolytopsF of a1) . (a2 + 1)) &
(a2 = dim a1 implies it = <*a1*>) &
(a2 <= dim a1 or it = <*> {});
end;
:: POLYFORM:def 7
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Relation-like Function-like FinSequence-like set holds
b3 = b2 -polytope-seq b1
iff
(- 1 <= b2 or b3 = <*> {}) &
(b2 = - 1 implies b3 = <*{}*>) &
(- 1 < b2 & b2 < dim b1 implies b3 = (the PolytopsF of b1) . (b2 + 1)) &
(b2 = dim b1 implies b3 = <*b1*>) &
(b2 <= dim b1 or b3 = <*> {});
:: POLYFORM:funcnot 11 => POLYFORM:func 11
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func num-polytopes(A1,A2) -> Element of NAT equals
card (a2 -polytopes a1);
end;
:: POLYFORM:def 8
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
num-polytopes(b1,b2) = card (b2 -polytopes b1);
:: POLYFORM:funcnot 12 => POLYFORM:func 12
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func num-vertices A1 -> Element of NAT equals
num-polytopes(a1,0);
end;
:: POLYFORM:def 9
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
num-vertices b1 = num-polytopes(b1,0);
:: POLYFORM:funcnot 13 => POLYFORM:func 13
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func num-edges A1 -> Element of NAT equals
num-polytopes(a1,1);
end;
:: POLYFORM:def 10
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
num-edges b1 = num-polytopes(b1,1);
:: POLYFORM:funcnot 14 => POLYFORM:func 14
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func num-faces A1 -> Element of NAT equals
num-polytopes(a1,2);
end;
:: POLYFORM:def 11
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
num-faces b1 = num-polytopes(b1,2);
:: POLYFORM:th 28
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
dom (b2 -polytope-seq b1) = Seg num-polytopes(b1,b2);
:: POLYFORM:th 29
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
len (b2 -polytope-seq b1) = num-polytopes(b1,b2);
:: POLYFORM:th 30
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
proj2 (b2 -polytope-seq b1) = b2 -polytopes b1;
:: POLYFORM:th 31
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
num-polytopes(b1,- 1) = 1;
:: POLYFORM:th 32
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
num-polytopes(b1,dim b1) = 1;
:: POLYFORM:funcnot 15 => POLYFORM:func 15
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
let a3 be natural set;
assume 1 <= a3 & a3 <= num-polytopes(a1,a2) & - 1 <= a2 & a2 <= dim a1;
func A3 -th-polytope(A1,A2) -> Element of a2 -polytopes a1 equals
(a2 -polytope-seq a1) . a3;
end;
:: POLYFORM:def 12
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being natural set
st 1 <= b3 & b3 <= num-polytopes(b1,b2) & - 1 <= b2 & b2 <= dim b1
holds b3 -th-polytope(b1,b2) = (b2 -polytope-seq b1) . b3;
:: POLYFORM:th 33
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
st - 1 <= b2 & b2 <= dim b1
for b3 being Element of b2 -polytopes b1 holds
ex b4 being natural set st
b3 = b4 -th-polytope(b1,b2) & 1 <= b4 & b4 <= num-polytopes(b1,b2);
:: POLYFORM:th 34
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -polytope-seq b1 is one-to-one;
:: POLYFORM:th 35
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
st - 1 <= b2 & b2 <= dim b1
for b3, b4 being natural set
st 1 <= b4 & b4 <= num-polytopes(b1,b2) & 1 <= b3 & b3 <= num-polytopes(b1,b2) & b4 -th-polytope(b1,b2) = b3 -th-polytope(b1,b2)
holds b3 = b4;
:: POLYFORM:funcnot 16 => POLYFORM:func 16
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
let a3 be Element of (a2 - 1) -polytopes a1;
let a4 be Element of a2 -polytopes a1;
assume 0 <= a2 & a2 <= dim a1;
func incidence-value(A3,A4) -> Element of the carrier of Z_2 equals
(eta(a1,a2)) .(a3,a4);
end;
:: POLYFORM:def 13
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of (b2 - 1) -polytopes b1
for b4 being Element of b2 -polytopes b1
st 0 <= b2 & b2 <= dim b1
holds incidence-value(b3,b4) = (eta(b1,b2)) .(b3,b4);
:: POLYFORM:funcnot 17 => POLYFORM:func 17
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -chain-space A1 -> non empty right_complementable VectSp-like Abelian add-associative right_zeroed finite-dimensional VectSpStr over Z_2 equals
bspace (a2 -polytopes a1);
end;
:: POLYFORM:def 14
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -chain-space b1 = bspace (b2 -polytopes b1);
:: POLYFORM:th 36
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of b2 -polytopes b1 holds
(0. (b2 -chain-space b1)) @ b3 = 0. Z_2;
:: POLYFORM:th 37
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
num-polytopes(b1,b2) = dim (b2 -chain-space b1);
:: POLYFORM:funcnot 18 => POLYFORM:func 18
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -chains A1 -> non empty finite set equals
bool (a2 -polytopes a1);
end;
:: POLYFORM:def 15
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -chains b1 = bool (b2 -polytopes b1);
:: POLYFORM:funcnot 19 => POLYFORM:func 19
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
let a3 be Element of (a2 - 1) -polytopes a1;
let a4 be Element of the carrier of a2 -chain-space a1;
func incidence-sequence(A3,A4) -> FinSequence of the carrier of Z_2 means
((a2 - 1) -polytopes a1 is empty implies it = <*> {}) &
((a2 - 1) -polytopes a1 is empty or len it = num-polytopes(a1,a2) &
(for b1 being natural set
st 1 <= b1 & b1 <= num-polytopes(a1,a2)
holds it . b1 = (a4 @ (b1 -th-polytope(a1,a2))) * incidence-value(a3,b1 -th-polytope(a1,a2))));
end;
:: POLYFORM:def 16
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of (b2 - 1) -polytopes b1
for b4 being Element of the carrier of b2 -chain-space b1
for b5 being FinSequence of the carrier of Z_2 holds
b5 = incidence-sequence(b3,b4)
iff
((b2 - 1) -polytopes b1 is empty implies b5 = <*> {}) &
((b2 - 1) -polytopes b1 is empty or len b5 = num-polytopes(b1,b2) &
(for b6 being natural set
st 1 <= b6 & b6 <= num-polytopes(b1,b2)
holds b5 . b6 = (b4 @ (b6 -th-polytope(b1,b2))) * incidence-value(b3,b6 -th-polytope(b1,b2))));
:: POLYFORM:th 38
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of b2 -polytopes b1 holds
(b3 + b4) @ b5 = (b3 @ b5) + (b4 @ b5);
:: POLYFORM:th 39
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of (b2 - 1) -polytopes b1 holds
incidence-sequence(b5,b3 + b4) = (incidence-sequence(b5,b3)) + incidence-sequence(b5,b4);
:: POLYFORM:th 40
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of (b2 - 1) -polytopes b1 holds
Sum ((incidence-sequence(b5,b3)) + incidence-sequence(b5,b4)) = (Sum incidence-sequence(b5,b3)) + Sum incidence-sequence(b5,b4);
:: POLYFORM:th 41
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of (b2 - 1) -polytopes b1 holds
Sum incidence-sequence(b5,b3 + b4) = (Sum incidence-sequence(b5,b3)) + Sum incidence-sequence(b5,b4);
:: POLYFORM:th 42
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of the carrier of b2 -chain-space b1
for b4 being Element of the carrier of Z_2
for b5 being Element of b2 -polytopes b1 holds
(b4 * b3) @ b5 = b4 * (b3 @ b5);
:: POLYFORM:th 43
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of the carrier of b2 -chain-space b1
for b4 being Element of the carrier of Z_2
for b5 being Element of (b2 - 1) -polytopes b1 holds
incidence-sequence(b5,b4 * b3) = b4 * incidence-sequence(b5,b3);
:: POLYFORM:th 44
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1 holds
b3 = b4
iff
for b5 being Element of b2 -polytopes b1 holds
b3 @ b5 = b4 @ b5;
:: POLYFORM:th 45
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1 holds
b3 = b4
iff
for b5 being Element of b2 -polytopes b1 holds
b5 in b3
iff
b5 in b4;
:: POLYFORM:sch 1
scheme POLYFORM:sch 1
{F1 -> polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr,
F2 -> integer set}:
ex b1 being Element of bool (F2() -polytopes F1()) st
for b2 being Element of F2() -polytopes F1() holds
b2 in b1
iff
P1[b2] & b2 in F2() -polytopes F1()
:: POLYFORM:funcnot 20 => POLYFORM:func 20
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
let a3 be Element of the carrier of a2 -chain-space a1;
func Boundary A3 -> Element of the carrier of (a2 - 1) -chain-space a1 means
((a2 - 1) -polytopes a1 is empty implies it = 0. ((a2 - 1) -chain-space a1)) &
((a2 - 1) -polytopes a1 is empty or for b1 being Element of (a2 - 1) -polytopes a1 holds
b1 in it
iff
Sum incidence-sequence(b1,a3) = 1. Z_2);
end;
:: POLYFORM:def 17
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of the carrier of b2 -chain-space b1
for b4 being Element of the carrier of (b2 - 1) -chain-space b1 holds
b4 = Boundary b3
iff
((b2 - 1) -polytopes b1 is empty implies b4 = 0. ((b2 - 1) -chain-space b1)) &
((b2 - 1) -polytopes b1 is empty or for b5 being Element of (b2 - 1) -polytopes b1 holds
b5 in b4
iff
Sum incidence-sequence(b5,b3) = 1. Z_2);
:: POLYFORM:th 46
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of the carrier of b2 -chain-space b1
for b4 being Element of (b2 - 1) -polytopes b1 holds
(Boundary b3) @ b4 = Sum incidence-sequence(b4,b3);
:: POLYFORM:funcnot 21 => POLYFORM:func 21
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -boundary A1 -> Function-like quasi_total Relation of the carrier of a2 -chain-space a1,the carrier of (a2 - 1) -chain-space a1 means
for b1 being Element of the carrier of a2 -chain-space a1 holds
it . b1 = Boundary b1;
end;
:: POLYFORM:def 18
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Function-like quasi_total Relation of the carrier of b2 -chain-space b1,the carrier of (b2 - 1) -chain-space b1 holds
b3 = b2 -boundary b1
iff
for b4 being Element of the carrier of b2 -chain-space b1 holds
b3 . b4 = Boundary b4;
:: POLYFORM:th 47
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3, b4 being Element of the carrier of b2 -chain-space b1 holds
Boundary (b3 + b4) = (Boundary b3) + Boundary b4;
:: POLYFORM:th 48
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of the carrier of Z_2
for b4 being Element of the carrier of b2 -chain-space b1 holds
Boundary (b3 * b4) = b3 * Boundary b4;
:: POLYFORM:th 49
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -boundary b1 is Function-like quasi_total linear Relation of the carrier of b2 -chain-space b1,the carrier of (b2 - 1) -chain-space b1;
:: POLYFORM:funcnot 22 => POLYFORM:func 22
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
redefine func a2 -boundary a1 -> Function-like quasi_total linear Relation of the carrier of a2 -chain-space a1,the carrier of (a2 - 1) -chain-space a1;
end;
:: POLYFORM:funcnot 23 => POLYFORM:func 23
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -circuit-space A1 -> Subspace of a2 -chain-space a1 equals
ker (a2 -boundary a1);
end;
:: POLYFORM:def 19
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -circuit-space b1 = ker (b2 -boundary b1);
:: POLYFORM:funcnot 24 => POLYFORM:func 24
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -circuits A1 -> non empty Element of bool (a2 -chains a1) equals
[#] (a2 -circuit-space a1);
end;
:: POLYFORM:def 20
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -circuits b1 = [#] (b2 -circuit-space b1);
:: POLYFORM:funcnot 25 => POLYFORM:func 25
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -bounding-chain-space A1 -> Subspace of a2 -chain-space a1 equals
im ((a2 + 1) -boundary a1);
end;
:: POLYFORM:def 21
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -bounding-chain-space b1 = im ((b2 + 1) -boundary b1);
:: POLYFORM:funcnot 26 => POLYFORM:func 26
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -bounding-chains A1 -> non empty Element of bool (a2 -chains a1) equals
[#] (a2 -bounding-chain-space a1);
end;
:: POLYFORM:def 22
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -bounding-chains b1 = [#] (b2 -bounding-chain-space b1);
:: POLYFORM:funcnot 27 => POLYFORM:func 27
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -bounding-circuit-space A1 -> Subspace of a2 -chain-space a1 equals
(a2 -bounding-chain-space a1) /\ (a2 -circuit-space a1);
end;
:: POLYFORM:def 23
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -bounding-circuit-space b1 = (b2 -bounding-chain-space b1) /\ (b2 -circuit-space b1);
:: POLYFORM:funcnot 28 => POLYFORM:func 28
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
let a2 be integer set;
func A2 -bounding-circuits A1 -> non empty Element of bool (a2 -chains a1) equals
[#] (a2 -bounding-circuit-space a1);
end;
:: POLYFORM:def 24
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
b2 -bounding-circuits b1 = [#] (b2 -bounding-circuit-space b1);
:: POLYFORM:th 50
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set holds
dim (b2 -chain-space b1) = (rank (b2 -boundary b1)) + nullity (b2 -boundary b1);
:: POLYFORM:attrnot 5 => POLYFORM:attr 5
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
attr a1 is simply-connected means
for b1 being integer set holds
b1 -circuits a1 = b1 -bounding-chains a1;
end;
:: POLYFORM:dfs 25
definiens
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
To prove
a1 is simply-connected
it is sufficient to prove
thus for b1 being integer set holds
b1 -circuits a1 = b1 -bounding-chains a1;
:: POLYFORM:def 25
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
b1 is simply-connected
iff
for b2 being integer set holds
b2 -circuits b1 = b2 -bounding-chains b1;
:: POLYFORM:th 51
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
b1 is simply-connected
iff
for b2 being integer set holds
b2 -circuit-space b1 = b2 -bounding-chain-space b1;
:: POLYFORM:funcnot 29 => POLYFORM:func 29
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func alternating-f-vector A1 -> FinSequence of INT means
len it = (dim a1) + 2 &
(for b1 being natural set
st 1 <= b1 & b1 <= (dim a1) + 2
holds it . b1 = ((- 1) |^ b1) * num-polytopes(a1,b1 - 2));
end;
:: POLYFORM:def 26
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being FinSequence of INT holds
b2 = alternating-f-vector b1
iff
len b2 = (dim b1) + 2 &
(for b3 being natural set
st 1 <= b3 & b3 <= (dim b1) + 2
holds b2 . b3 = ((- 1) |^ b3) * num-polytopes(b1,b3 - 2));
:: POLYFORM:funcnot 30 => POLYFORM:func 30
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func alternating-proper-f-vector A1 -> FinSequence of INT means
len it = dim a1 &
(for b1 being natural set
st 1 <= b1 & b1 <= dim a1
holds it . b1 = ((- 1) |^ (b1 + 1)) * num-polytopes(a1,b1 - 1));
end;
:: POLYFORM:def 27
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being FinSequence of INT holds
b2 = alternating-proper-f-vector b1
iff
len b2 = dim b1 &
(for b3 being natural set
st 1 <= b3 & b3 <= dim b1
holds b2 . b3 = ((- 1) |^ (b3 + 1)) * num-polytopes(b1,b3 - 1));
:: POLYFORM:funcnot 31 => POLYFORM:func 31
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
func alternating-semi-proper-f-vector A1 -> FinSequence of INT means
len it = (dim a1) + 1 &
(for b1 being natural set
st 1 <= b1 & b1 <= (dim a1) + 1
holds it . b1 = ((- 1) |^ (b1 + 1)) * num-polytopes(a1,b1 - 1));
end;
:: POLYFORM:def 28
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being FinSequence of INT holds
b2 = alternating-semi-proper-f-vector b1
iff
len b2 = (dim b1) + 1 &
(for b3 being natural set
st 1 <= b3 & b3 <= (dim b1) + 1
holds b2 . b3 = ((- 1) |^ (b3 + 1)) * num-polytopes(b1,b3 - 1));
:: POLYFORM:th 52
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being natural set
st 1 <= b2 & b2 <= len alternating-proper-f-vector b1
holds (alternating-proper-f-vector b1) . b2 = (((- 1) |^ (b2 + 1)) * dim ((b2 - 2) -bounding-chain-space b1)) + (((- 1) |^ (b2 + 1)) * dim ((b2 - 1) -circuit-space b1));
:: POLYFORM:attrnot 6 => POLYFORM:attr 6
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
attr a1 is eulerian means
Sum alternating-proper-f-vector a1 = 1 + ((- 1) |^ ((dim a1) + 1));
end;
:: POLYFORM:dfs 29
definiens
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
To prove
a1 is eulerian
it is sufficient to prove
thus Sum alternating-proper-f-vector a1 = 1 + ((- 1) |^ ((dim a1) + 1));
:: POLYFORM:def 29
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
b1 is eulerian
iff
Sum alternating-proper-f-vector b1 = 1 + ((- 1) |^ ((dim b1) + 1));
:: POLYFORM:th 53
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
alternating-semi-proper-f-vector b1 = (alternating-proper-f-vector b1) ^ <*(- 1) |^ dim b1*>;
:: POLYFORM:attrnot 7 => POLYFORM:attr 6
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
attr a1 is eulerian means
Sum alternating-semi-proper-f-vector a1 = 1;
end;
:: POLYFORM:dfs 30
definiens
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
To prove
a1 is eulerian
it is sufficient to prove
thus Sum alternating-semi-proper-f-vector a1 = 1;
:: POLYFORM:def 30
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
b1 is eulerian
iff
Sum alternating-semi-proper-f-vector b1 = 1;
:: POLYFORM:th 54
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
alternating-f-vector b1 = <*- 1*> ^ alternating-semi-proper-f-vector b1;
:: POLYFORM:attrnot 8 => POLYFORM:attr 6
definition
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
attr a1 is eulerian means
Sum alternating-f-vector a1 = 0;
end;
:: POLYFORM:dfs 31
definiens
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
To prove
a1 is eulerian
it is sufficient to prove
thus Sum alternating-f-vector a1 = 0;
:: POLYFORM:def 31
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
b1 is eulerian
iff
Sum alternating-f-vector b1 = 0;
:: POLYFORM:th 55
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
0 -polytopes b1 is not empty;
:: POLYFORM:th 56
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
Card [#] ((- 1) -chain-space b1) = 2;
:: POLYFORM:th 57
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
[#] ((- 1) -chain-space b1) = {{},{{}}};
:: POLYFORM:th 58
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of b2 -polytopes b1
for b4 being Element of (b2 - 1) -polytopes b1
st b2 = 0 & b4 = {}
holds incidence-value(b4,b3) = 1. Z_2;
:: POLYFORM:th 59
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of b2 -polytopes b1
for b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of (b2 - 1) -polytopes b1
for b6 being natural set
st b2 = 0 & b4 = {b3} & b5 = {} & b3 = b6 -th-polytope(b1,b2) & 1 <= b6 & b6 <= num-polytopes(b1,b2)
holds (incidence-sequence(b5,b4)) . b6 = 1. Z_2;
:: POLYFORM:th 60
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of b2 -polytopes b1
for b4 being Element of (b2 - 1) -polytopes b1
for b5 being Element of the carrier of b2 -chain-space b1
for b6, b7 being natural set
st b2 = 0 & b5 = {b3} & b3 = b7 -th-polytope(b1,b2) & 1 <= b6 & b6 <= num-polytopes(b1,b2) & 1 <= b7 & b7 <= num-polytopes(b1,b2) & b6 <> b7
holds (incidence-sequence(b4,b5)) . b6 = 0. Z_2;
:: POLYFORM:th 61
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
for b3 being Element of b2 -polytopes b1
for b4 being Element of the carrier of b2 -chain-space b1
for b5 being Element of (b2 - 1) -polytopes b1
st b2 = 0 & b4 = {b3} & b5 = {}
holds Sum incidence-sequence(b5,b4) = 1. Z_2;
:: POLYFORM:th 62
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of 0 -polytopes b1 holds
(0 -boundary b1) . {b2} = {{}};
:: POLYFORM:th 63
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being integer set
st b2 = - 1
holds dim (b2 -bounding-chain-space b1) = 1;
:: POLYFORM:th 64
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
Card [#] ((dim b1) -chain-space b1) = 2;
:: POLYFORM:th 65
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
{b1} is Element of the carrier of (dim b1) -chain-space b1;
:: POLYFORM:th 66
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
{b1} in [#] ((dim b1) -chain-space b1);
:: POLYFORM:th 67
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
((dim b1) - 1) -polytopes b1 is not empty;
:: POLYFORM:funcreg 2
registration
let a1 be polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr;
cluster ((dim a1) - 1) -polytopes a1 -> non empty finite;
end;
:: POLYFORM:th 68
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
[#] ((dim b1) -chain-space b1) = {0. ((dim b1) -chain-space b1),{b1}};
:: POLYFORM:th 69
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of the carrier of (dim b1) -chain-space b1
st b2 <> 0. ((dim b1) -chain-space b1)
holds b2 = {b1};
:: POLYFORM:th 70
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2, b3 being Element of the carrier of (dim b1) -chain-space b1
st b2 <> b3 & b2 <> 0. ((dim b1) -chain-space b1)
holds b3 = 0. ((dim b1) -chain-space b1);
:: POLYFORM:th 71
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
(dim b1) -polytope-seq b1 = <*b1*>;
:: POLYFORM:th 72
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
1 -th-polytope(b1,dim b1) = b1;
:: POLYFORM:th 73
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of the carrier of (dim b1) -chain-space b1
for b3 being Element of (dim b1) -polytopes b1
st b2 = {b1}
holds b2 @ b3 = 1. Z_2;
:: POLYFORM:th 74
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of ((dim b1) - 1) -polytopes b1
for b3 being Element of (dim b1) -polytopes b1
st b3 = b1
holds incidence-value(b2,b3) = 1. Z_2;
:: POLYFORM:th 75
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of ((dim b1) - 1) -polytopes b1
for b3 being Element of the carrier of (dim b1) -chain-space b1
st b3 = {b1}
holds incidence-sequence(b2,b3) = <*1. Z_2*>;
:: POLYFORM:th 76
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being Element of ((dim b1) - 1) -polytopes b1
for b3 being Element of the carrier of (dim b1) -chain-space b1
st b3 = {b1}
holds Sum incidence-sequence(b2,b3) = 1. Z_2;
:: POLYFORM:th 77
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
((dim b1) -boundary b1) . {b1} = ((dim b1) - 1) -polytopes b1;
:: POLYFORM:th 78
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
(dim b1) -boundary b1 is one-to-one;
:: POLYFORM:th 79
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
dim (((dim b1) - 1) -bounding-chain-space b1) = 1;
:: POLYFORM:th 80
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st b1 is simply-connected
holds dim (((dim b1) - 1) -circuit-space b1) = 1;
:: POLYFORM:th 81
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
for b2 being natural set
st 1 < b2 & b2 < (dim b1) + 2
holds (alternating-f-vector b1) . b2 = (alternating-proper-f-vector b1) . (b2 - 1);
:: POLYFORM:th 82
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr holds
alternating-f-vector b1 = (<*- 1*> ^ alternating-proper-f-vector b1) ^ <*(- 1) |^ dim b1*>;
:: POLYFORM:th 83
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 is odd
holds Sum alternating-f-vector b1 = (Sum alternating-proper-f-vector b1) - 2;
:: POLYFORM:th 84
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 is even
holds Sum alternating-f-vector b1 = Sum alternating-proper-f-vector b1;
:: POLYFORM:th 85
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 = 1
holds Sum alternating-proper-f-vector b1 = num-polytopes(b1,0);
:: POLYFORM:th 86
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 = 2
holds Sum alternating-proper-f-vector b1 = (num-polytopes(b1,0)) - num-polytopes(b1,1);
:: POLYFORM:th 87
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 = 3
holds Sum alternating-proper-f-vector b1 = ((num-polytopes(b1,0)) - num-polytopes(b1,1)) + num-polytopes(b1,2);
:: POLYFORM:th 88
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st dim b1 = 0
holds b1 is eulerian;
:: POLYFORM:th 89
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st b1 is simply-connected
holds b1 is eulerian;
:: POLYFORM:th 90
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st b1 is simply-connected & dim b1 = 1
holds num-vertices b1 = 2;
:: POLYFORM:th 91
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st b1 is simply-connected & dim b1 = 2
holds num-vertices b1 = num-edges b1;
:: POLYFORM:th 92
theorem
for b1 being polyhedron_1 polyhedron_2 polyhedron_3 PolyhedronStr
st b1 is simply-connected & dim b1 = 3
holds ((num-vertices b1) - num-edges b1) + num-faces b1 = 2;