begin
theorem Th1:
for
X,
c,
d being
set st ex
a,
b being
set st
(
a <> b &
X = {a,b} ) &
c in X &
d in X &
c <> d holds
X = {c,d}
theorem Th2:
begin
theorem Th3:
theorem Th4:
theorem Th5:
theorem Th6:
theorem Th7:
theorem Th8:
theorem Th9:
theorem Th10:
Lm1:
for x being Element of NAT st 0 < x holds
0 + 1 <= x
by NAT_1:13;
theorem Th11:
theorem Th12:
for
n being
Nat holds 1
< n + 2
theorem Th13:
theorem Th14:
begin
theorem Th15:
theorem Th16:
theorem Th17:
theorem Th18:
theorem Th19:
theorem
canceled;
theorem Th21:
theorem Th22:
theorem
begin
theorem Th24:
:: deftheorem Def1 defines polyhedron_1 POLYFORM:def 1 :
for p being PolyhedronStr holds
( p is polyhedron_1 iff len the IncidenceF of p = (len the PolytopsF of p) - 1 );
:: deftheorem Def2 defines polyhedron_2 POLYFORM:def 2 :
for p being PolyhedronStr holds
( p is polyhedron_2 iff for n being Nat st 1 <= n & n < len the PolytopsF of p holds
the IncidenceF of p . n is incidence-matrix of (rng ( the PolytopsF of p . n)),(rng ( the PolytopsF of p . (n + 1))) );
:: deftheorem Def3 defines polyhedron_3 POLYFORM:def 3 :
for p being PolyhedronStr holds
( p is polyhedron_3 iff for n being Nat st 1 <= n & n <= len the PolytopsF of p holds
( not the PolytopsF of p . n is empty & the PolytopsF of p . n is one-to-one ) );
:: deftheorem defines dim POLYFORM:def 4 :
for p being polyhedron holds dim p = len the PolytopsF of p;
:: deftheorem Def5 defines -polytopes POLYFORM:def 5 :
for p being polyhedron
for k being Integer
for b3 being finite set holds
( b3 = k -polytopes p iff ( ( k < - 1 implies b3 = {} ) & ( k = - 1 implies b3 = {{}} ) & ( - 1 < k & k < dim p implies b3 = rng ( the PolytopsF of p . (k + 1)) ) & ( k = dim p implies b3 = {p} ) & ( k > dim p implies b3 = {} ) ) );
theorem Th25:
theorem Th26:
theorem
definition
let p be
polyhedron;
let k be
Integer;
func eta (
p,
k)
-> incidence-matrix of
((k - 1) -polytopes p),
(k -polytopes p) means :
Def6:
( (
k < 0 implies
it = {} ) & (
k = 0 implies
it = [:{{}},(0 -polytopes p):] --> (1. Z_2) ) & (
0 < k &
k < dim p implies
it = the
IncidenceF of
p . k ) & (
k = dim p implies
it = [:(((dim p) - 1) -polytopes p),{p}:] --> (1. Z_2) ) & (
k > dim p implies
it = {} ) );
existence
ex b1 being incidence-matrix of ((k - 1) -polytopes p),(k -polytopes p) st
( ( k < 0 implies b1 = {} ) & ( k = 0 implies b1 = [:{{}},(0 -polytopes p):] --> (1. Z_2) ) & ( 0 < k & k < dim p implies b1 = the IncidenceF of p . k ) & ( k = dim p implies b1 = [:(((dim p) - 1) -polytopes p),{p}:] --> (1. Z_2) ) & ( k > dim p implies b1 = {} ) )
uniqueness
for b1, b2 being incidence-matrix of ((k - 1) -polytopes p),(k -polytopes p) st ( k < 0 implies b1 = {} ) & ( k = 0 implies b1 = [:{{}},(0 -polytopes p):] --> (1. Z_2) ) & ( 0 < k & k < dim p implies b1 = the IncidenceF of p . k ) & ( k = dim p implies b1 = [:(((dim p) - 1) -polytopes p),{p}:] --> (1. Z_2) ) & ( k > dim p implies b1 = {} ) & ( k < 0 implies b2 = {} ) & ( k = 0 implies b2 = [:{{}},(0 -polytopes p):] --> (1. Z_2) ) & ( 0 < k & k < dim p implies b2 = the IncidenceF of p . k ) & ( k = dim p implies b2 = [:(((dim p) - 1) -polytopes p),{p}:] --> (1. Z_2) ) & ( k > dim p implies b2 = {} ) holds
b1 = b2
end;
:: deftheorem Def6 defines eta POLYFORM:def 6 :
for p being polyhedron
for k being Integer
for b3 being incidence-matrix of ((k - 1) -polytopes p),(k -polytopes p) holds
( b3 = eta (p,k) iff ( ( k < 0 implies b3 = {} ) & ( k = 0 implies b3 = [:{{}},(0 -polytopes p):] --> (1. Z_2) ) & ( 0 < k & k < dim p implies b3 = the IncidenceF of p . k ) & ( k = dim p implies b3 = [:(((dim p) - 1) -polytopes p),{p}:] --> (1. Z_2) ) & ( k > dim p implies b3 = {} ) ) );
:: deftheorem Def7 defines -polytope-seq POLYFORM:def 7 :
for p being polyhedron
for k being Integer
for b3 being FinSequence holds
( b3 = k -polytope-seq p iff ( ( k < - 1 implies b3 = <*> {} ) & ( k = - 1 implies b3 = <*{}*> ) & ( - 1 < k & k < dim p implies b3 = the PolytopsF of p . (k + 1) ) & ( k = dim p implies b3 = <*p*> ) & ( k > dim p implies b3 = <*> {} ) ) );
:: deftheorem defines num-polytopes POLYFORM:def 8 :
for p being polyhedron
for k being Integer holds num-polytopes (p,k) = card (k -polytopes p);
:: deftheorem defines num-vertices POLYFORM:def 9 :
for p being polyhedron holds num-vertices p = num-polytopes (p,0);
:: deftheorem defines num-edges POLYFORM:def 10 :
for p being polyhedron holds num-edges p = num-polytopes (p,1);
:: deftheorem defines num-faces POLYFORM:def 11 :
for p being polyhedron holds num-faces p = num-polytopes (p,2);
theorem Th28:
theorem Th29:
theorem Th30:
theorem Th31:
theorem Th32:
:: deftheorem Def12 defines -th-polytope POLYFORM:def 12 :
for p being polyhedron
for k being Integer
for n being Nat st 1 <= n & n <= num-polytopes (p,k) holds
n -th-polytope (p,k) = (k -polytope-seq p) . n;
theorem Th33:
theorem Th34:
theorem Th35:
:: deftheorem Def13 defines incidence-value POLYFORM:def 13 :
for p being polyhedron
for k being Integer
for x being Element of (k - 1) -polytopes p
for y being Element of k -polytopes p st 0 <= k & k <= dim p holds
incidence-value (x,y) = (eta (p,k)) . (x,y);
begin
:: deftheorem defines -chain-space POLYFORM:def 14 :
for p being polyhedron
for k being Integer holds k -chain-space p = bspace (k -polytopes p);
theorem
theorem Th37:
:: deftheorem defines -chains POLYFORM:def 15 :
for p being polyhedron
for k being Integer holds k -chains p = bool (k -polytopes p);
definition
let p be
polyhedron;
let k be
Integer;
let x be
Element of
(k - 1) -polytopes p;
let v be
Element of
(k -chain-space p);
func incidence-sequence (
x,
v)
-> FinSequence of
Z_2 means :
Def16:
( (
(k - 1) -polytopes p is
empty implies
it = <*> {} ) & ( not
(k - 1) -polytopes p is
empty implies (
len it = num-polytopes (
p,
k) & ( for
n being
Nat st 1
<= n &
n <= num-polytopes (
p,
k) holds
it . n = (v @ (n -th-polytope (p,k))) * (incidence-value (x,(n -th-polytope (p,k)))) ) ) ) );
existence
ex b1 being FinSequence of Z_2 st
( ( (k - 1) -polytopes p is empty implies b1 = <*> {} ) & ( not (k - 1) -polytopes p is empty implies ( len b1 = num-polytopes (p,k) & ( for n being Nat st 1 <= n & n <= num-polytopes (p,k) holds
b1 . n = (v @ (n -th-polytope (p,k))) * (incidence-value (x,(n -th-polytope (p,k)))) ) ) ) )
uniqueness
for b1, b2 being FinSequence of Z_2 st ( (k - 1) -polytopes p is empty implies b1 = <*> {} ) & ( not (k - 1) -polytopes p is empty implies ( len b1 = num-polytopes (p,k) & ( for n being Nat st 1 <= n & n <= num-polytopes (p,k) holds
b1 . n = (v @ (n -th-polytope (p,k))) * (incidence-value (x,(n -th-polytope (p,k)))) ) ) ) & ( (k - 1) -polytopes p is empty implies b2 = <*> {} ) & ( not (k - 1) -polytopes p is empty implies ( len b2 = num-polytopes (p,k) & ( for n being Nat st 1 <= n & n <= num-polytopes (p,k) holds
b2 . n = (v @ (n -th-polytope (p,k))) * (incidence-value (x,(n -th-polytope (p,k)))) ) ) ) holds
b1 = b2
end;
:: deftheorem Def16 defines incidence-sequence POLYFORM:def 16 :
for p being polyhedron
for k being Integer
for x being Element of (k - 1) -polytopes p
for v being Element of (k -chain-space p)
for b5 being FinSequence of Z_2 holds
( b5 = incidence-sequence (x,v) iff ( ( (k - 1) -polytopes p is empty implies b5 = <*> {} ) & ( not (k - 1) -polytopes p is empty implies ( len b5 = num-polytopes (p,k) & ( for n being Nat st 1 <= n & n <= num-polytopes (p,k) holds
b5 . n = (v @ (n -th-polytope (p,k))) * (incidence-value (x,(n -th-polytope (p,k)))) ) ) ) ) );
theorem Th38:
theorem Th39:
theorem Th40:
theorem Th41:
theorem Th42:
theorem Th43:
theorem Th44:
theorem Th45:
:: deftheorem Def17 defines Boundary POLYFORM:def 17 :
for p being polyhedron
for k being Integer
for v being Element of (k -chain-space p)
for b4 being Element of ((k - 1) -chain-space p) holds
( b4 = Boundary v iff ( ( (k - 1) -polytopes p is empty implies b4 = 0. ((k - 1) -chain-space p) ) & ( not (k - 1) -polytopes p is empty implies for x being Element of (k - 1) -polytopes p holds
( x in b4 iff Sum (incidence-sequence (x,v)) = 1. Z_2 ) ) ) );
theorem Th46:
:: deftheorem Def18 defines -boundary POLYFORM:def 18 :
for p being polyhedron
for k being Integer
for b3 being Function of (k -chain-space p),((k - 1) -chain-space p) holds
( b3 = k -boundary p iff for c being Element of (k -chain-space p) holds b3 . c = Boundary c );
theorem Th47:
theorem Th48:
theorem Th49:
:: deftheorem defines -circuit-space POLYFORM:def 19 :
for p being polyhedron
for k being Integer holds k -circuit-space p = ker (k -boundary p);
:: deftheorem defines -circuits POLYFORM:def 20 :
for p being polyhedron
for k being Integer holds k -circuits p = [#] (k -circuit-space p);
:: deftheorem defines -bounding-chain-space POLYFORM:def 21 :
for p being polyhedron
for k being Integer holds k -bounding-chain-space p = im ((k + 1) -boundary p);
:: deftheorem defines -bounding-chains POLYFORM:def 22 :
for p being polyhedron
for k being Integer holds k -bounding-chains p = [#] (k -bounding-chain-space p);
:: deftheorem defines -bounding-circuit-space POLYFORM:def 23 :
for p being polyhedron
for k being Integer holds k -bounding-circuit-space p = (k -bounding-chain-space p) /\ (k -circuit-space p);
:: deftheorem defines -bounding-circuits POLYFORM:def 24 :
for p being polyhedron
for k being Integer holds k -bounding-circuits p = [#] (k -bounding-circuit-space p);
theorem
begin
:: deftheorem Def25 defines simply-connected POLYFORM:def 25 :
for p being polyhedron holds
( p is simply-connected iff for k being Integer holds k -circuits p = k -bounding-chains p );
theorem Th51:
:: deftheorem Def26 defines alternating-f-vector POLYFORM:def 26 :
for p being polyhedron
for b2 being FinSequence of INT holds
( b2 = alternating-f-vector p iff ( len b2 = (dim p) + 2 & ( for k being Nat st 1 <= k & k <= (dim p) + 2 holds
b2 . k = ((- 1) |^ k) * (num-polytopes (p,(k - 2))) ) ) );
:: deftheorem Def27 defines alternating-proper-f-vector POLYFORM:def 27 :
for p being polyhedron
for b2 being FinSequence of INT holds
( b2 = alternating-proper-f-vector p iff ( len b2 = dim p & ( for k being Nat st 1 <= k & k <= dim p holds
b2 . k = ((- 1) |^ (k + 1)) * (num-polytopes (p,(k - 1))) ) ) );
:: deftheorem Def28 defines alternating-semi-proper-f-vector POLYFORM:def 28 :
for p being polyhedron
for b2 being FinSequence of INT holds
( b2 = alternating-semi-proper-f-vector p iff ( len b2 = (dim p) + 1 & ( for k being Nat st 1 <= k & k <= (dim p) + 1 holds
b2 . k = ((- 1) |^ (k + 1)) * (num-polytopes (p,(k - 1))) ) ) );
theorem Th52:
:: deftheorem Def29 defines eulerian POLYFORM:def 29 :
for p being polyhedron holds
( p is eulerian iff Sum (alternating-proper-f-vector p) = 1 + ((- 1) |^ ((dim p) + 1)) );
theorem Th53:
:: deftheorem Def30 defines eulerian POLYFORM:def 30 :
for p being polyhedron holds
( p is eulerian iff Sum (alternating-semi-proper-f-vector p) = 1 );
theorem Th54:
:: deftheorem Def31 defines eulerian POLYFORM:def 31 :
for p being polyhedron holds
( p is eulerian iff Sum (alternating-f-vector p) = 0 );
begin
theorem Th55:
theorem Th56:
theorem Th57:
theorem Th58:
theorem Th59:
theorem Th60:
theorem Th61:
theorem Th62:
theorem Th63:
theorem Th64:
theorem Th65:
theorem Th66:
theorem Th67:
theorem Th68:
theorem Th69:
theorem Th70:
theorem
theorem Th72:
theorem Th73:
theorem Th74:
theorem Th75:
theorem Th76:
theorem Th77:
theorem Th78:
theorem Th79:
theorem Th80:
theorem Th81:
theorem Th82:
begin
theorem Th83:
theorem Th84:
theorem Th85:
theorem Th86:
theorem Th87:
theorem Th88:
theorem Th89:
theorem
theorem
theorem