Article CALCUL_2, MML version 4.99.1005
:: CALCUL_2:funcnot 1 => CALCUL_2:func 1
definition
let a1, a2 be natural set;
func seq(A1,A2) -> set equals
{b1 where b1 is Element of NAT: 1 + a1 <= b1 & b1 <= a2 + a1};
end;
:: CALCUL_2:def 1
theorem
for b1, b2 being natural set holds
seq(b1,b2) = {b3 where b3 is Element of NAT: 1 + b1 <= b3 & b3 <= b2 + b1};
:: CALCUL_2:funcnot 2 => CALCUL_2:func 2
definition
let a1, a2 be natural set;
redefine func seq(a1,a2) -> Element of bool NAT;
end;
:: CALCUL_2:th 1
theorem
for b1, b2, b3 being natural set holds
b1 in seq(b2,b3)
iff
1 + b2 <= b1 & b1 <= b3 + b2;
:: CALCUL_2:th 2
theorem
for b1 being natural set holds
seq(b1,0) = {};
:: CALCUL_2:th 3
theorem
for b1, b2 being natural set
st b1 <> 0
holds b1 + b2 in seq(b2,b1);
:: CALCUL_2:th 4
theorem
for b1, b2, b3 being natural set holds
b1 <= b2
iff
seq(b3,b1) c= seq(b3,b2);
:: CALCUL_2:th 5
theorem
for b1, b2 being natural set holds
(seq(b1,b2)) \/ {(b1 + b2) + 1} = seq(b1,b2 + 1);
:: CALCUL_2:th 6
theorem
for b1, b2 being Element of NAT holds
seq(b1,b2),b2 are_equipotent;
:: CALCUL_2:funcreg 1
registration
let a1, a2 be Element of NAT;
cluster seq(a1,a2) -> finite;
end;
:: CALCUL_2:funcreg 2
registration
let a1 be FinSequence of CQC-WFF;
cluster Card a1 -> finite cardinal;
end;
:: CALCUL_2:th 7
theorem
for b1, b2 being Element of NAT holds
seq(b1,b2) c= Seg (b1 + b2);
:: CALCUL_2:th 8
theorem
for b1, b2 being Element of NAT holds
Seg b1 misses seq(b1,b2);
:: CALCUL_2:th 9
theorem
for b1, b2 being Relation-like Function-like FinSequence-like set holds
dom (b1 ^ b2) = (dom b1) \/ seq(len b1,len b2);
:: CALCUL_2:th 10
theorem
for b1, b2 being FinSequence of CQC-WFF holds
len Sgm seq(len b1,len b2) = len b2;
:: CALCUL_2:th 11
theorem
for b1, b2 being FinSequence of CQC-WFF holds
dom Sgm seq(len b1,len b2) = dom b2;
:: CALCUL_2:th 12
theorem
for b1, b2 being FinSequence of CQC-WFF holds
rng Sgm seq(len b1,len b2) = seq(len b1,len b2);
:: CALCUL_2:th 13
theorem
for b1 being Element of NAT
for b2, b3 being FinSequence of CQC-WFF
st b1 in dom Sgm seq(len b2,len b3)
holds (Sgm seq(len b2,len b3)) . b1 = (len b2) + b1;
:: CALCUL_2:th 14
theorem
for b1, b2 being FinSequence of CQC-WFF holds
seq(len b1,len b2) c= dom (b1 ^ b2);
:: CALCUL_2:th 15
theorem
for b1, b2 being FinSequence of CQC-WFF holds
dom ((b1 ^ b2) | seq(len b1,len b2)) = seq(len b1,len b2);
:: CALCUL_2:th 16
theorem
for b1, b2 being FinSequence of CQC-WFF holds
Seq ((b1 ^ b2) | seq(len b1,len b2)) = (Sgm seq(len b1,len b2)) * (b1 ^ b2);
:: CALCUL_2:th 17
theorem
for b1, b2 being FinSequence of CQC-WFF holds
dom Seq ((b1 ^ b2) | seq(len b1,len b2)) = dom b2;
:: CALCUL_2:th 18
theorem
for b1, b2 being FinSequence of CQC-WFF holds
b1 is_Subsequence_of b2 ^ b1;
:: CALCUL_2:funcnot 3 => CALCUL_2:func 3
definition
let a1 be non empty set;
let a2 be FinSequence of a1;
let a3 be Function-like quasi_total bijective Relation of dom a2,dom a2;
func Per(A2,A3) -> FinSequence of a1 equals
a3 * a2;
end;
:: CALCUL_2:def 2
theorem
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function-like quasi_total bijective Relation of dom b2,dom b2 holds
Per(b2,b3) = b3 * b2;
:: CALCUL_2:th 19
theorem
for b1 being FinSequence of CQC-WFF
for b2 being Function-like quasi_total bijective Relation of dom b1,dom b1 holds
dom Per(b1,b2) = dom b1;
:: CALCUL_2:th 20
theorem
for b1 being Element of CQC-WFF
for b2, b3 being FinSequence of CQC-WFF
st |- b2 ^ <*b1*>
holds |- (b3 ^ b2) ^ <*b1*>;
:: CALCUL_2:funcnot 4 => CALCUL_2:func 4
definition
let a1 be FinSequence of CQC-WFF;
func Begin A1 -> Element of CQC-WFF means
it = a1 . 1
if 1 <= len a1
otherwise it = VERUM;
end;
:: CALCUL_2:def 3
theorem
for b1 being FinSequence of CQC-WFF
for b2 being Element of CQC-WFF holds
(1 <= len b1 implies (b2 = Begin b1
iff
b2 = b1 . 1)) &
(1 <= len b1 or (b2 = Begin b1
iff
b2 = VERUM));
:: CALCUL_2:funcnot 5 => CALCUL_2:func 5
definition
let a1 be FinSequence of CQC-WFF;
assume 1 <= len a1;
func Impl A1 -> Element of CQC-WFF means
ex b1 being FinSequence of CQC-WFF st
it = b1 . len a1 &
len b1 = len a1 &
(b1 . 1 = Begin a1 or len a1 = 0) &
(for b2 being Element of NAT
st 1 <= b2 & b2 < len a1
holds ex b3, b4 being Element of CQC-WFF st
b3 = a1 . (b2 + 1) & b4 = b1 . b2 & b1 . (b2 + 1) = b3 => b4);
end;
:: CALCUL_2:def 4
theorem
for b1 being FinSequence of CQC-WFF
st 1 <= len b1
for b2 being Element of CQC-WFF holds
b2 = Impl b1
iff
ex b3 being FinSequence of CQC-WFF st
b2 = b3 . len b1 &
len b3 = len b1 &
(b3 . 1 = Begin b1 or len b1 = 0) &
(for b4 being Element of NAT
st 1 <= b4 & b4 < len b1
holds ex b5, b6 being Element of CQC-WFF st
b5 = b1 . (b4 + 1) & b6 = b3 . b4 & b3 . (b4 + 1) = b5 => b6);
:: CALCUL_2:th 21
theorem
for b1 being Element of CQC-WFF
for b2 being FinSequence of CQC-WFF holds
|- (b2 ^ <*b1*>) ^ <*b1*>;
:: CALCUL_2:th 22
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- b3 ^ <*b1 '&' b2*>
holds |- b3 ^ <*b1*>;
:: CALCUL_2:th 23
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- b3 ^ <*b1 '&' b2*>
holds |- b3 ^ <*b2*>;
:: CALCUL_2:th 24
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- b3 ^ <*b1*> &
|- (b3 ^ <*b1*>) ^ <*b2*>
holds |- b3 ^ <*b2*>;
:: CALCUL_2:th 25
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- b3 ^ <*b1*> & |- b3 ^ <*'not' b1*>
holds |- b3 ^ <*b2*>;
:: CALCUL_2:th 26
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- (b3 ^ <*b1*>) ^ <*b2*> &
|- (b3 ^ <*'not' b1*>) ^ <*b2*>
holds |- b3 ^ <*b2*>;
:: CALCUL_2:th 27
theorem
for b1, b2 being Element of CQC-WFF
for b3 being FinSequence of CQC-WFF
st |- (b3 ^ <*b1*>) ^ <*b2*>
holds |- b3 ^ <*b1 => b2*>;
:: CALCUL_2:th 28
theorem
for b1, b2 being FinSequence of CQC-WFF
st 1 <= len b1 & |- b2 ^ b1
holds |- b2 ^ <*Impl Rev b1*>;
:: CALCUL_2:th 29
theorem
for b1 being Element of CQC-WFF
for b2 being FinSequence of CQC-WFF
for b3 being Function-like quasi_total bijective Relation of dom b2,dom b2
st |- (Per(b2,b3)) ^ <*Impl Rev (b2 ^ <*b1*>)*>
holds |- (Per(b2,b3)) ^ <*b1*>;
:: CALCUL_2:th 30
theorem
for b1 being Element of CQC-WFF
for b2 being FinSequence of CQC-WFF
for b3 being Function-like quasi_total bijective Relation of dom b2,dom b2
st |- b2 ^ <*b1*>
holds |- (Per(b2,b3)) ^ <*b1*>;
:: CALCUL_2:funcnot 6 => FINSEQ_2:func 2
notation
let a1 be Element of NAT;
let a2 be set;
synonym IdFinS(a2,a1) for a1 |-> a2;
end;
:: CALCUL_2:th 31
theorem
for b1 being Element of NAT
for b2 being set
st 1 <= b1
holds proj2 (b1 |-> b2) = proj2 <*b2*>;
:: CALCUL_2:funcnot 7 => CALCUL_2:func 6
definition
let a1 be non empty set;
let a2 be Element of NAT;
let a3 be Element of a1;
redefine func IdFinS(a3,a2) -> FinSequence of a1;
end;
:: CALCUL_2:th 32
theorem
for b1, b2 being Element of CQC-WFF
for b3 being Element of NAT
for b4 being FinSequence of CQC-WFF
st 1 <= b3 &
|- (b4 ^ IdFinS(b1,b3)) ^ <*b2*>
holds |- (b4 ^ <*b1*>) ^ <*b2*>;