Article FINSOP_1, MML version 4.99.1005
:: FINSOP_1:funcnot 1 => FINSOP_1:func 1
definition
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be Element of a1;
redefine func a2 |-> a3 -> FinSequence of a1;
end;
:: FINSOP_1:funcnot 2 => FINSOP_1:func 2
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
let a3 be Function-like quasi_total Relation of [:a1,a1:],a1;
assume (a3 is having_a_unity(a1) or 1 <= len a2);
func A3 "**" A2 -> Element of a1 means
it = the_unity_wrt a3
if a3 is having_a_unity(a1) & len a2 = 0
otherwise ex b1 being Function-like quasi_total Relation of NAT,a1 st
b1 . 1 = a2 . 1 &
(for b2 being Element of NAT
st 0 <> b2 & b2 < len a2
holds b1 . (b2 + 1) = a3 .(b1 . b2,a2 . (b2 + 1))) &
it = b1 . len a2;
end;
:: FINSOP_1:def 1
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
st (b3 is having_a_unity(b1) or 1 <= len b2)
for b4 being Element of b1 holds
(b3 is having_a_unity(b1) & len b2 = 0 implies (b4 = b3 "**" b2
iff
b4 = the_unity_wrt b3)) &
(b3 is having_a_unity(b1) & len b2 = 0 or (b4 = b3 "**" b2
iff
ex b5 being Function-like quasi_total Relation of NAT,b1 st
b5 . 1 = b2 . 1 &
(for b6 being Element of NAT
st 0 <> b6 & b6 < len b2
holds b5 . (b6 + 1) = b3 .(b5 . b6,b2 . (b6 + 1))) &
b4 = b5 . len b2));
:: FINSOP_1:th 2
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
st 1 <= len b2
holds ex b4 being Function-like quasi_total Relation of NAT,b1 st
b4 . 1 = b2 . 1 &
(for b5 being Element of NAT
st 0 <> b5 & b5 < len b2
holds b4 . (b5 + 1) = b3 .(b4 . b5,b2 . (b5 + 1))) &
b3 "**" b2 = b4 . len b2;
:: FINSOP_1:th 3
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st 1 <= len b3 &
(ex b5 being Function-like quasi_total Relation of NAT,b1 st
b5 . 1 = b3 . 1 &
(for b6 being Element of NAT
st 0 <> b6 & b6 < len b3
holds b5 . (b6 + 1) = b4 .(b5 . b6,b3 . (b6 + 1))) &
b2 = b5 . len b3)
holds b2 = b4 "**" b3;
:: FINSOP_1:funcnot 3 => FINSOP_1:func 3
definition
let a1 be non empty set;
let a2 be Function-like quasi_total Relation of NAT,a1;
let a3 be FinSequence of a1;
redefine func a2 +* a3 -> Function-like quasi_total Relation of NAT,a1;
idempotence;
:: for a1 being non empty set
:: for a2 being Function-like quasi_total Relation of NAT,a1 holds
:: a2 +* a2 = a2;
end;
:: FINSOP_1:funcnot 4 => RELAT_1:func 1
notation
let a1 be Relation-like Function-like FinSequence-like set;
synonym findom a1 for proj1 a1;
end;
:: FINSOP_1:funcnot 5 => FINSOP_1:func 4
definition
let a1 be Relation-like Function-like FinSequence-like set;
redefine func findom a1 -> Element of Fin NAT;
end;
:: FINSOP_1:th 4
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
st (b3 is having_a_unity(b1) or 1 <= len b2) & b3 is associative(b1) & b3 is commutative(b1)
holds b3 "**" b2 = b3 $$(findom b2,(NAT --> the_unity_wrt b3) +* b2);
:: FINSOP_1:th 5
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st (b4 is having_a_unity(b1) or 1 <= len b3)
holds b4 "**" (b3 ^ <*b2*>) = b4 .(b4 "**" b3,b2);
:: FINSOP_1:th 6
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st b4 is associative(b1) &
(b4 is having_a_unity(b1) or 1 <= len b2 & 1 <= len b3)
holds b4 "**" (b2 ^ b3) = b4 .(b4 "**" b2,b4 "**" b3);
:: FINSOP_1:th 7
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st b4 is associative(b1) & (b4 is having_a_unity(b1) or 1 <= len b3)
holds b4 "**" (<*b2*> ^ b3) = b4 .(b2,b4 "**" b3);
:: FINSOP_1:th 8
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
for b5 being Function-like quasi_total bijective Relation of dom b2,dom b2
st b4 is commutative(b1) & b4 is associative(b1) & (b4 is having_a_unity(b1) or 1 <= len b2) & b3 = b5 * b2
holds b4 "**" b2 = b4 "**" b3;
:: FINSOP_1:th 9
theorem
for b1 being non empty set
for b2, b3 being FinSequence of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st (b4 is having_a_unity(b1) or 1 <= len b2) & b4 is associative(b1) & b4 is commutative(b1) & b2 is one-to-one & b3 is one-to-one & proj2 b2 = proj2 b3
holds b4 "**" b2 = b4 "**" b3;
:: FINSOP_1:th 10
theorem
for b1 being non empty set
for b2, b3, b4 being FinSequence of b1
for b5 being Function-like quasi_total Relation of [:b1,b1:],b1
st b5 is associative(b1) &
b5 is commutative(b1) &
(b5 is having_a_unity(b1) or 1 <= len b2) &
len b2 = len b3 &
len b2 = len b4 &
(for b6 being Element of NAT
st b6 in dom b2
holds b2 . b6 = b5 .(b3 . b6,b4 . b6))
holds b5 "**" b2 = b5 .(b5 "**" b3,b5 "**" b4);
:: FINSOP_1:th 11
theorem
for b1 being non empty set
for b2 being Function-like quasi_total Relation of [:b1,b1:],b1
st b2 is having_a_unity(b1)
holds b2 "**" <*> b1 = the_unity_wrt b2;
:: FINSOP_1:th 12
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b3 "**" <*b2*> = b2;
:: FINSOP_1:th 13
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b4 "**" <*b2,b3*> = b4 .(b2,b3);
:: FINSOP_1:th 14
theorem
for b1 being non empty set
for b2, b3 being Element of b1
for b4 being Function-like quasi_total Relation of [:b1,b1:],b1
st b4 is commutative(b1)
holds b4 "**" <*b2,b3*> = b4 "**" <*b3,b2*>;
:: FINSOP_1:th 15
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
for b5 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b5 "**" <*b2,b3,b4*> = b5 .(b5 .(b2,b3),b4);
:: FINSOP_1:th 16
theorem
for b1 being non empty set
for b2, b3, b4 being Element of b1
for b5 being Function-like quasi_total Relation of [:b1,b1:],b1
st b5 is commutative(b1)
holds b5 "**" <*b2,b3,b4*> = b5 "**" <*b3,b2,b4*>;
:: FINSOP_1:th 17
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b3 "**" (1 |-> b2) = b2;
:: FINSOP_1:th 18
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1 holds
b3 "**" (2 |-> b2) = b3 .(b2,b2);
:: FINSOP_1:th 19
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4, b5 being Element of NAT
st b3 is associative(b1) &
(b3 is having_a_unity(b1) or b4 <> 0 & b5 <> 0)
holds b3 "**" ((b4 + b5) |-> b2) = b3 .(b3 "**" (b4 |-> b2),b3 "**" (b5 |-> b2));
:: FINSOP_1:th 20
theorem
for b1 being non empty set
for b2 being Element of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
for b4, b5 being Element of NAT
st b3 is associative(b1) &
(b3 is having_a_unity(b1) or b4 <> 0 & b5 <> 0)
holds b3 "**" ((b4 * b5) |-> b2) = b3 "**" (b5 |-> (b3 "**" (b4 |-> b2)));
:: FINSOP_1:th 21
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
st len b2 = 1
holds b3 "**" b2 = b2 . 1;
:: FINSOP_1:th 22
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total Relation of [:b1,b1:],b1
st len b2 = 2
holds b3 "**" b2 = b3 .(b2 . 1,b2 . 2);