:: MIDSP_3 semantic presentation

theorem Th1: :: MIDSP_3:1
for b1, b2 being Nat
for b3 being non empty set
for b4 being FinSequence of b3 holds
not ( len b4 = (b1 + 1) + b2 & ( for b5, b6 being FinSequence of b3
for b7 being Element of b3 holds
not ( len b5 = b1 & len b6 = b2 & b4 = (b5 ^ <*b7*>) ^ b6 ) ) )
proof end;

theorem Th2: :: MIDSP_3:2
for b1, b2 being Nat holds
not ( b1 in Seg b2 & ( for b3, b4 being Nat holds
not ( b2 = (b3 + 1) + b4 & b1 = b3 + 1 ) ) )
proof end;

theorem Th3: :: MIDSP_3:3
for b1 being Nat
for b2 being non empty set
for b3 being Element of b2
for b4, b5, b6 being FinSequence of b2 holds
( b4 = (b5 ^ <*b3*>) ^ b6 & b1 = (len b5) + 1 implies ( ( for b7 being Nat holds
( 1 <= b7 & b7 <= len b5 implies b4 . b7 = b5 . b7 ) ) & b4 . b1 = b3 & ( for b7 being Nat holds
( b1 + 1 <= b7 & b7 <= len b4 implies b4 . b7 = b6 . (b7 - b1) ) ) ) )
proof end;

theorem Th4: :: MIDSP_3:4
for b1, b2 being Nat holds
not ( not b1 <= b2 & not b1 = b2 + 1 & not b2 + 2 <= b1 )
proof end;

theorem Th5: :: MIDSP_3:5
for b1, b2, b3, b4 being Nat holds
not ( b1 in (Seg b2) \ {b3} & b3 = b4 + 1 & not ( 1 <= b1 & b1 <= b4 ) & not ( b3 + 1 <= b1 & b1 <= b2 ) )
proof end;

definition
let c1 be non empty set ;
let c2 be Nat;
let c3 be Element of c2 -tuples_on c1;
let c4 be Nat;
let c5 be Element of c1;
redefine func +* as c3 +* c4,c5 -> Element of a2 -tuples_on a1;
coherence
c3 +* c4,c5 is Element of c2 -tuples_on c1
proof end;
end;

Lemma2: for b1, b2 being Nat
for b3 being non empty set
for b4 being Element of b3
for b5 being Element of b1 -tuples_on b3 holds
( b2 in Seg b1 implies (b5 +* b2,b4) . b2 = b4 )
proof end;

Lemma3: for b1, b2 being Nat
for b3 being non empty set
for b4 being Element of b3
for b5 being Element of b1 -tuples_on b3
for b6 being Nat holds
( b6 in (dom b5) \ {b2} implies (b5 +* b2,b4) . b6 = b5 . b6 )
proof end;

definition
let c1 be Nat;
attr a2 is strict;
struct ReperAlgebraStr of c1 -> MidStr ;
aggr ReperAlgebraStr(# carrier, MIDPOINT, reper #) -> ReperAlgebraStr of a1;
sel reper c2 -> Function of a1 -tuples_on the carrier of a2,the carrier of a2;
end;

registration
let c1 be Nat;
let c2 be non empty set ;
let c3 be BinOp of c2;
let c4 be Function of c1 -tuples_on c2,c2;
cluster ReperAlgebraStr(# a2,a3,a4 #) -> non empty ;
coherence
not ReperAlgebraStr(# c2,c3,c4 #) is empty
by STRUCT_0:def 1;
end;

E4: now
let c1 be Nat;
let c2 be MidSp;
let c3 be Function of (c1 + 2) -tuples_on the carrier of c2,the carrier of c2;
set c4 = ReperAlgebraStr(# the carrier of c2,the MIDPOINT of c2,c3 #);
thus ReperAlgebraStr(# the carrier of c2,the MIDPOINT of c2,c3 #) is MidSp-like
proof
let c5, c6, c7, c8 be Element of ReperAlgebraStr(# the carrier of c2,the MIDPOINT of c2,c3 #); :: according to MIDSP_1:def 4
reconsider c9 = c5, c10 = c6, c11 = c7, c12 = c8 as Element of c2 ;
E5: for b1, b2 being Element of ReperAlgebraStr(# the carrier of c2,the MIDPOINT of c2,c3 #)
for b3, b4 being Element of c2 holds
( b1 = b3 & b2 = b4 implies b1 @ b2 = b3 @ b4 ) ;
thus c5 @ c5 = c9 @ c9
.= c5 by MIDSP_1:def 4 ;
thus c5 @ c6 = c10 @ c9 by E5
.= c6 @ c5 ;
thus (c5 @ c6) @ (c7 @ c8) = (c9 @ c10) @ (c11 @ c12)
.= (c9 @ c11) @ (c10 @ c12) by MIDSP_1:def 4
.= (c5 @ c7) @ (c6 @ c8) ;
consider c13 being Element of c2 such that
E6: c13 @ c9 = c10 by MIDSP_1:def 4;
reconsider c14 = c13 as Element of ReperAlgebraStr(# the carrier of c2,the MIDPOINT of c2,c3 #) ;
take c14 ;
thus c14 @ c5 = c6 by E6;
end;
end;

registration
let c1 be Nat;
cluster non empty ReperAlgebraStr of a1;
existence
not for b1 being ReperAlgebraStr of c1 holds b1 is empty
proof end;
end;

registration
let c1 be Nat;
cluster non empty MidSp-like ReperAlgebraStr of a1 + 2;
existence
ex b1 being non empty ReperAlgebraStr of c1 + 2 st b1 is MidSp-like
proof end;
end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be Nat;
mode Tuple is Tuple of a3,the carrier of a2;
end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be Point of c2;
redefine func <* as <*c3*> -> Tuple of 1,a2;
coherence
<*c3*> is Tuple of 1,c2
by FINSEQ_2:118;
end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3, c4 be Nat;
let c5 be Tuple of c3,c2;
let c6 be Tuple of c4,c2;
redefine func ^ as c5 ^ c6 -> Tuple of (a3 + a4),a2;
coherence
c5 ^ c6 is Tuple of (c3 + c4),c2
by FINSEQ_2:127;
end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be Point of c2;
let c4 be Tuple of (c1 + 1),c2;
canceled;
func *' c3,c4 -> Point of a2 equals :: MIDSP_3:def 2
the reper of a2 . (<*a3*> ^ a4);
coherence
the reper of c2 . (<*c3*> ^ c4) is Point of c2
proof end;
end;

:: deftheorem Def1 MIDSP_3:def 1 :
canceled;

:: deftheorem Def2 defines *' MIDSP_3:def 2 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being Point of b2
for b4 being Tuple of (b1 + 1),b2 holds *' b3,b4 = the reper of b2 . (<*b3*> ^ b4);

theorem Th6: :: MIDSP_3:6
canceled;

theorem Th7: :: MIDSP_3:7
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b2 + 2
for b4 being Point of b3
for b5 being Tuple of (b2 + 1),b3 holds
( b1 in Seg (b2 + 1) implies ( (b5 +* b1,b4) . b1 = b4 & ( for b6 being Nat holds
( b6 in (dom b5) \ {b1} implies (b5 +* b1,b4) . b6 = b5 . b6 ) ) ) ) by Lemma2, Lemma3;

definition
let c1 be Nat;
canceled;
mode Nat of c1 -> Nat means :Def4: :: MIDSP_3:def 4
( 1 <= a2 & a2 <= a1 + 1 );
existence
ex b1 being Nat st
( 1 <= b1 & b1 <= c1 + 1 )
proof end;
end;

:: deftheorem Def3 MIDSP_3:def 3 :
canceled;

:: deftheorem Def4 defines Nat MIDSP_3:def 4 :
for b1, b2 being Nat holds
( b2 is Nat of b1 iff ( 1 <= b2 & b2 <= b1 + 1 ) );

theorem Th8: :: MIDSP_3:8
for b1, b2 being Nat holds
( b1 is Nat of b2 iff b1 in Seg (b2 + 1) )
proof end;

theorem Th9: :: MIDSP_3:9
canceled;

theorem Th10: :: MIDSP_3:10
for b1, b2 being Nat holds
( b1 <= b2 implies b1 + 1 is Nat of b2 )
proof end;

theorem Th11: :: MIDSP_3:11
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3, b4 being Tuple of (b1 + 1),b2 holds
( ( for b5 being Nat of b1 holds b3 . b5 = b4 . b5 ) implies b3 = b4 )
proof end;

theorem Th12: :: MIDSP_3:12
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b4 being Point of b3
for b5 being Tuple of (b1 + 1),b3
for b6 being Nat of b1 holds
( b6 = b2 implies (b5 +* b2,b4) . b6 = b4 )
proof end;

definition
let c1 be Nat;
let c2 be non empty set ;
let c3 be Element of (c1 + 1) -tuples_on c2;
let c4 be Nat of c1;
redefine func . as c3 . c4 -> Element of a2;
coherence
c3 . c4 is Element of c2
proof end;
end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
attr a2 is being_invariance means :Def5: :: MIDSP_3:def 5
for b1, b2 being Point of a2
for b3, b4 being Tuple of (a1 + 1),a2 holds
( ( for b5 being Nat of a1 holds b1 @ (b4 . b5) = b2 @ (b3 . b5) ) implies b1 @ (*' b2,b4) = b2 @ (*' b1,b3) );
end;

:: deftheorem Def5 defines being_invariance MIDSP_3:def 5 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b2 is being_invariance iff for b3, b4 being Point of b2
for b5, b6 being Tuple of (b1 + 1),b2 holds
( ( for b7 being Nat of b1 holds b3 @ (b6 . b7) = b4 @ (b5 . b7) ) implies b3 @ (*' b4,b6) = b4 @ (*' b3,b5) ) );

notation
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
synonym c2 is_invariance for being_invariance c2;
end;

definition
let c1, c2 be Nat;
let c3 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
pred c3 has_property_of_zero_in c2 means :Def6: :: MIDSP_3:def 6
for b1 being Point of a3
for b2 being Tuple of (a1 + 1),a3 holds *' b1,(b2 +* a2,b1) = b1;
end;

:: deftheorem Def6 defines has_property_of_zero_in MIDSP_3:def 6 :
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b3 has_property_of_zero_in b2 iff for b4 being Point of b3
for b5 being Tuple of (b1 + 1),b3 holds *' b4,(b5 +* b2,b4) = b4 );

definition
let c1, c2 be Nat;
let c3 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
pred c3 is_semi_additive_in c2 means :Def7: :: MIDSP_3:def 7
for b1, b2 being Point of a3
for b3 being Tuple of (a1 + 1),a3 holds
( b3 . a2 = b2 implies *' b1,(b3 +* a2,(b1 @ b2)) = b1 @ (*' b1,b3) );
end;

:: deftheorem Def7 defines is_semi_additive_in MIDSP_3:def 7 :
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b3 is_semi_additive_in b2 iff for b4, b5 being Point of b3
for b6 being Tuple of (b1 + 1),b3 holds
( b6 . b2 = b5 implies *' b4,(b6 +* b2,(b4 @ b5)) = b4 @ (*' b4,b6) ) );

theorem Th13: :: MIDSP_3:13
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being Nat of b1 holds
( b2 is_semi_additive_in b3 implies for b4, b5 being Point of b2
for b6, b7 being Tuple of (b1 + 1),b2 holds
( b7 = b6 +* b3,b5 implies *' b4,(b6 +* b3,(b4 @ b5)) = b4 @ (*' b4,b7) ) )
proof end;

definition
let c1, c2 be Nat;
let c3 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
pred c3 is_additive_in c2 means :Def8: :: MIDSP_3:def 8
for b1, b2, b3 being Point of a3
for b4 being Tuple of (a1 + 1),a3 holds
( b4 . a2 = b2 implies *' b1,(b4 +* a2,(b2 @ b3)) = (*' b1,b4) @ (*' b1,(b4 +* a2,b3)) );
end;

:: deftheorem Def8 defines is_additive_in MIDSP_3:def 8 :
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b3 is_additive_in b2 iff for b4, b5, b6 being Point of b3
for b7 being Tuple of (b1 + 1),b3 holds
( b7 . b2 = b5 implies *' b4,(b7 +* b2,(b5 @ b6)) = (*' b4,b7) @ (*' b4,(b7 +* b2,b6)) ) );

definition
let c1, c2 be Nat;
let c3 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
pred c3 is_alternative_in c2 means :Def9: :: MIDSP_3:def 9
for b1 being Point of a3
for b2 being Tuple of (a1 + 1),a3
for b3 being Point of a3 holds
( b2 . a2 = b3 implies *' b1,(b2 +* (a2 + 1),b3) = b1 );
end;

:: deftheorem Def9 defines is_alternative_in MIDSP_3:def 9 :
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b3 is_alternative_in b2 iff for b4 being Point of b3
for b5 being Tuple of (b1 + 1),b3
for b6 being Point of b3 holds
( b5 . b2 = b6 implies *' b4,(b5 +* (b2 + 1),b6) = b4 ) );

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be ATLAS of c2;
let c4 be Nat;
mode Tuple is Tuple of a4,the carrier of the algebra of a3;
end;

theorem Th14: :: MIDSP_3:14
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b2 + 2
for b4 being ATLAS of b3
for b5 being Vector of b4
for b6 being Tuple of (b2 + 1),b4 holds
( b1 in Seg (b2 + 1) implies ( (b6 +* b1,b5) . b1 = b5 & ( for b7 being Nat holds
( b7 in (dom b6) \ {b1} implies (b6 +* b1,b5) . b7 = b6 . b7 ) ) ) ) by Lemma2, Lemma3;

theorem Th15: :: MIDSP_3:15
for b1, b2 being Nat
for b3 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b4 being ATLAS of b3
for b5 being Vector of b4
for b6 being Tuple of (b1 + 1),b4 holds
( ( for b7 being Nat of b1 holds
( b7 = b2 implies (b6 +* b2,b5) . b7 = b5 ) ) & ( for b7, b8 being Nat of b1 holds
( b7 <> b8 implies (b6 +* b8,b5) . b7 = b6 . b7 ) ) )
proof end;

theorem Th16: :: MIDSP_3:16
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being ATLAS of b2
for b4, b5 being Tuple of (b1 + 1),b3 holds
( ( for b6 being Nat of b1 holds b4 . b6 = b5 . b6 ) implies b4 = b5 )
proof end;

scheme :: MIDSP_3:sch 1
s1{ F1() -> Nat, F2() -> non empty set , F3( set ) -> Element of F2() } :
ex b1 being FinSequence of F2() st
( len b1 = F1() + 1 & ( for b2 being Nat of F1() holds b1 . b2 = F3(b2) ) )
proof end;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be ATLAS of c2;
let c4 be Point of c2;
let c5 be Tuple of (c1 + 1),c3;
canceled;
func c4,c5 . c3 -> Tuple of (a1 + 1),a2 means :Def11: :: MIDSP_3:def 11
for b1 being Nat of a1 holds a6 . b1 = a4,(a5 . b1) . a3;
existence
ex b1 being Tuple of (c1 + 1),c2 st
for b2 being Nat of c1 holds b1 . b2 = c4,(c5 . b2) . c3
proof end;
uniqueness
for b1, b2 being Tuple of (c1 + 1),c2 holds
( ( for b3 being Nat of c1 holds b1 . b3 = c4,(c5 . b3) . c3 ) & ( for b3 being Nat of c1 holds b2 . b3 = c4,(c5 . b3) . c3 ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def10 MIDSP_3:def 10 :
canceled;

:: deftheorem Def11 defines . MIDSP_3:def 11 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being ATLAS of b2
for b4 being Point of b2
for b5 being Tuple of (b1 + 1),b3
for b6 being Tuple of (b1 + 1),b2 holds
( b6 = b4,b5 . b3 iff for b7 being Nat of b1 holds b6 . b7 = b4,(b5 . b7) . b3 );

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be ATLAS of c2;
let c4 be Point of c2;
let c5 be Tuple of (c1 + 1),c2;
func c3 . c4,c5 -> Tuple of (a1 + 1),a3 means :Def12: :: MIDSP_3:def 12
for b1 being Nat of a1 holds a6 . b1 = a3 . a4,(a5 . b1);
existence
ex b1 being Tuple of (c1 + 1),c3 st
for b2 being Nat of c1 holds b1 . b2 = c3 . c4,(c5 . b2)
proof end;
uniqueness
for b1, b2 being Tuple of (c1 + 1),c3 holds
( ( for b3 being Nat of c1 holds b1 . b3 = c3 . c4,(c5 . b3) ) & ( for b3 being Nat of c1 holds b2 . b3 = c3 . c4,(c5 . b3) ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def12 defines . MIDSP_3:def 12 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being ATLAS of b2
for b4 being Point of b2
for b5 being Tuple of (b1 + 1),b2
for b6 being Tuple of (b1 + 1),b3 holds
( b6 = b3 . b4,b5 iff for b7 being Nat of b1 holds b6 . b7 = b3 . b4,(b5 . b7) );

theorem Th17: :: MIDSP_3:17
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being Point of b2
for b4 being Tuple of (b1 + 1),b2
for b5 being ATLAS of b2
for b6 being Tuple of (b1 + 1),b5 holds
( b5 . b3,b4 = b6 iff b3,b6 . b5 = b4 )
proof end;

theorem Th18: :: MIDSP_3:18
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being Point of b2
for b4 being ATLAS of b2
for b5 being Tuple of (b1 + 1),b4 holds b4 . b3,(b3,b5 . b4) = b5 by Th17;

theorem Th19: :: MIDSP_3:19
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being Point of b2
for b4 being Tuple of (b1 + 1),b2
for b5 being ATLAS of b2 holds b3,(b5 . b3,b4) . b5 = b4 by Th17;

definition
let c1 be Nat;
let c2 be non empty MidSp-like ReperAlgebraStr of c1 + 2;
let c3 be ATLAS of c2;
let c4 be Point of c2;
let c5 be Tuple of (c1 + 1),c3;
func Phi c4,c5 -> Vector of a3 equals :: MIDSP_3:def 13
a3 . a4,(*' a4,(a4,a5 . a3));
coherence
c3 . c4,(*' c4,(c4,c5 . c3)) is Vector of c3
;
end;

:: deftheorem Def13 defines Phi MIDSP_3:def 13 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being ATLAS of b2
for b4 being Point of b2
for b5 being Tuple of (b1 + 1),b3 holds Phi b4,b5 = b3 . b4,(*' b4,(b4,b5 . b3));

theorem Th20: :: MIDSP_3:20
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3, b4 being Point of b2
for b5 being Tuple of (b1 + 1),b2
for b6 being ATLAS of b2
for b7 being Vector of b6
for b8 being Tuple of (b1 + 1),b6 holds
( b6 . b3,b5 = b8 & b6 . b3,b4 = b7 implies ( *' b3,b5 = b4 iff Phi b3,b8 = b7 ) )
proof end;

theorem Th21: :: MIDSP_3:21
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2
for b3 being ATLAS of b2 holds
( b2 is_invariance iff for b4, b5 being Point of b2
for b6 being Tuple of (b1 + 1),b3 holds Phi b4,b6 = Phi b5,b6 )
proof end;

theorem Th22: :: MIDSP_3:22
for b1 being Nat holds 1 in Seg (b1 + 1)
proof end;

theorem Th23: :: MIDSP_3:23
canceled;

theorem Th24: :: MIDSP_3:24
for b1 being Nat holds
1 is Nat of b1
proof end;

definition
let c1 be Nat;
mode ReperAlgebra of c1 -> non empty MidSp-like ReperAlgebraStr of a1 + 2 means :Def14: :: MIDSP_3:def 14
a2 is_invariance ;
existence
ex b1 being non empty MidSp-like ReperAlgebraStr of c1 + 2 st b1 is_invariance
proof end;
end;

:: deftheorem Def14 defines ReperAlgebra MIDSP_3:def 14 :
for b1 being Nat
for b2 being non empty MidSp-like ReperAlgebraStr of b1 + 2 holds
( b2 is ReperAlgebra of b1 iff b2 is_invariance );

theorem Th25: :: MIDSP_3:25
for b1 being Nat
for b2 being ReperAlgebra of b1
for b3, b4 being Point of b2
for b5 being ATLAS of b2
for b6 being Tuple of (b1 + 1),b5 holds Phi b3,b6 = Phi b4,b6
proof end;

definition
let c1 be Nat;
let c2 be ReperAlgebra of c1;
let c3 be ATLAS of c2;
let c4 be Tuple of (c1 + 1),c3;
func Phi c4 -> Vector of a3 means :Def15: :: MIDSP_3:def 15
for b1 being Point of a2 holds a5 = Phi b1,a4;
existence
ex b1 being Vector of c3 st
for b2 being Point of c2 holds b1 = Phi b2,c4
proof end;
uniqueness
for b1, b2 being Vector of c3 holds
( ( for b3 being Point of c2 holds b1 = Phi b3,c4 ) & ( for b3 being Point of c2 holds b2 = Phi b3,c4 ) implies b1 = b2 )
proof end;
end;

:: deftheorem Def15 defines Phi MIDSP_3:def 15 :
for b1 being Nat
for b2 being ReperAlgebra of b1
for b3 being ATLAS of b2
for b4 being Tuple of (b1 + 1),b3
for b5 being Vector of b3 holds
( b5 = Phi b4 iff for b6 being Point of b2 holds b5 = Phi b6,b4 );

Lemma28: for b1 being Nat
for b2 being ReperAlgebra of b1
for b3 being Point of b2
for b4 being Tuple of (b1 + 1),b2
for b5 being ATLAS of b2
for b6 being Tuple of (b1 + 1),b5 holds
( b5 . b3,b4 = b6 implies Phi b6 = b5 . b3,(*' b3,b4) )
proof end;

Lemma29: for b1 being Nat
for b2 being ReperAlgebra of b1
for b3 being Point of b2
for b4 being Tuple of (b1 + 1),b2
for b5 being ATLAS of b2
for b6 being Tuple of (b1 + 1),b5 holds
( b3,b6 . b5 = b4 implies Phi b6 = b5 . b3,(*' b3,b4) )
proof end;

theorem Th26: :: MIDSP_3:26
for b1 being Nat
for b2 being ReperAlgebra of b1
for b3, b4 being Point of b2
for b5 being Tuple of (b1 + 1),b2
for b6 being ATLAS of b2
for b7 being Vector of b6
for b8 being Tuple of (b1 + 1),b6 holds
( b6 . b3,b5 = b8 & b6 . b3,b4 = b7 & Phi b8 = b7 implies *' b3,b5 = b4 )
proof end;

theorem Th27: :: MIDSP_3:27
for b1 being Nat
for b2 being ReperAlgebra of b1
for b3, b4 being Point of b2
for b5 being Tuple of (b1 + 1),b2
for b6 being ATLAS of b2
for b7 being Vector of b6
for b8 being Tuple of (b1 + 1),b6 holds
( b3,b8 . b6 = b5 & b3,b7 . b6 = b4 & *' b3,b5 = b4 implies Phi b8 = b7 )
proof end;

theorem Th28: :: MIDSP_3:28
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4, b5 being Point of b3
for b6 being Tuple of (b1 + 1),b3
for b7 being ATLAS of b3
for b8 being Vector of b7
for b9 being Tuple of (b1 + 1),b7 holds
( b7 . b4,b6 = b9 & b7 . b4,b5 = b8 implies b7 . b4,(b6 +* b2,b5) = b9 +* b2,b8 )
proof end;

theorem Th29: :: MIDSP_3:29
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4, b5 being Point of b3
for b6 being Tuple of (b1 + 1),b3
for b7 being ATLAS of b3
for b8 being Vector of b7
for b9 being Tuple of (b1 + 1),b7 holds
( b4,b9 . b7 = b6 & b4,b8 . b7 = b5 implies b4,(b9 +* b2,b8) . b7 = b6 +* b2,b5 )
proof end;

theorem Th30: :: MIDSP_3:30
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( b3 has_property_of_zero_in b2 iff for b5 being Tuple of (b1 + 1),b4 holds Phi (b5 +* b2,(0. b4)) = 0. b4 )
proof end;

theorem Th31: :: MIDSP_3:31
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( b3 is_semi_additive_in b2 iff for b5 being Tuple of (b1 + 1),b4 holds Phi (b5 +* b2,(Double (b5 . b2))) = Double (Phi b5) )
proof end;

theorem Th32: :: MIDSP_3:32
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1 holds
( b3 has_property_of_zero_in b2 & b3 is_additive_in b2 implies b3 is_semi_additive_in b2 )
proof end;

Lemma36: for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( b3 is_semi_additive_in b2 implies for b5, b6, b7 being Point of b3
for b8 being Tuple of (b1 + 1),b3 holds
( b5 @ b7 = (b8 . b2) @ b6 implies ( *' b5,(b8 +* b2,((b8 . b2) @ b6)) = (*' b5,b8) @ (*' b5,(b8 +* b2,b6)) iff b4 . b5,(*' b5,(b8 +* b2,b7)) = (b4 . b5,(*' b5,b8)) + (b4 . b5,(*' b5,(b8 +* b2,b6))) ) ) )
proof end;

Lemma37: for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( ( for b5 being Tuple of (b1 + 1),b4
for b6 being Vector of b4 holds Phi (b5 +* b2,((b5 . b2) + b6)) = (Phi b5) + (Phi (b5 +* b2,b6)) ) implies b3 is_semi_additive_in b2 )
proof end;

theorem Th33: :: MIDSP_3:33
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( b3 has_property_of_zero_in b2 implies ( b3 is_additive_in b2 iff for b5 being Tuple of (b1 + 1),b4
for b6 being Vector of b4 holds Phi (b5 +* b2,((b5 . b2) + b6)) = (Phi b5) + (Phi (b5 +* b2,b6)) ) )
proof end;

theorem Th34: :: MIDSP_3:34
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being Point of b3
for b5 being Tuple of (b1 + 1),b3
for b6 being ATLAS of b3
for b7 being Tuple of (b1 + 1),b6 holds
( b6 . b4,b5 = b7 & b2 <= b1 implies b6 . b4,(b5 +* (b2 + 1),(b5 . b2)) = b7 +* (b2 + 1),(b7 . b2) )
proof end;

theorem Th35: :: MIDSP_3:35
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being Point of b3
for b5 being Tuple of (b1 + 1),b3
for b6 being ATLAS of b3
for b7 being Tuple of (b1 + 1),b6 holds
( b4,b7 . b6 = b5 & b2 <= b1 implies b4,(b7 +* (b2 + 1),(b7 . b2)) . b6 = b5 +* (b2 + 1),(b5 . b2) )
proof end;

theorem Th36: :: MIDSP_3:36
for b1 being Nat
for b2 being Nat of b1
for b3 being ReperAlgebra of b1
for b4 being ATLAS of b3 holds
( b2 <= b1 implies ( b3 is_alternative_in b2 iff for b5 being Tuple of (b1 + 1),b4 holds Phi (b5 +* (b2 + 1),(b5 . b2)) = 0. b4 ) )
proof end;