:: PRELAMB semantic presentation
:: deftheorem Def1 defines \ PRELAMB:def 1 :
:: deftheorem Def2 defines /" PRELAMB:def 2 :
:: deftheorem Def3 defines * PRELAMB:def 3 :
Lemma1:
for b1 being Function holds (pr1 (dom b1),(rng b1)) .: b1 = dom b1
Lemma2:
for b1 being Function holds
( dom b1 is finite iff b1 is finite )
definition
let c
1 be non
empty typealg ;
let c
2 be
PreProof of c
1;
let c
3 be
Element of
dom c
2;
canceled;attr a
3 is
correct means :
Def5:
:: PRELAMB:def 5
(
branchdeg a
3 = 0 & ex b
1 being
type of a
1 st
(a2 . a3) `1 = [<*b1*>,b1] )
if (a2 . a3) `2 = 0
(
branchdeg a
3 = 1 & ex b
1 being
FinSequence of the
carrier of a
1ex b
2, b
3 being
type of a
1 st
(
(a2 . a3) `1 = [b1,(b2 /" b3)] &
(a2 . (a3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) )
if (a2 . a3) `2 = 1
(
branchdeg a
3 = 1 & ex b
1 being
FinSequence of the
carrier of a
1ex b
2, b
3 being
type of a
1 st
(
(a2 . a3) `1 = [b1,(b3 \ b2)] &
(a2 . (a3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) )
if (a2 . a3) `2 = 2
(
branchdeg a
3 = 2 & ex b
1, b
2, b
3 being
FinSequence of the
carrier of a
1ex b
4, b
5, b
6 being
type of a
1 st
(
(a2 . a3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] &
(a2 . (a3 ^ <*0*>)) `1 = [b1,b5] &
(a2 . (a3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) )
if (a2 . a3) `2 = 3
(
branchdeg a
3 = 2 & ex b
1, b
2, b
3 being
FinSequence of the
carrier of a
1ex b
4, b
5, b
6 being
type of a
1 st
(
(a2 . a3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] &
(a2 . (a3 ^ <*0*>)) `1 = [b1,b5] &
(a2 . (a3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) )
if (a2 . a3) `2 = 4
for b
1 being
type of a
1 holds
(
branchdeg a
3 = 1 & ex b
2 being
FinSequence of the
carrier of a
1ex b
3, b
4 being
type of a
1ex b
5 being
FinSequence of the
carrier of a
1 st
(
(a2 . a3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] &
(a2 . (a3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) )
if (a2 . a3) `2 = 5
(
branchdeg a
3 = 2 & ex b
1, b
2 being
FinSequence of the
carrier of a
1ex b
3, b
4 being
type of a
1 st
(
(a2 . a3) `1 = [(b1 ^ b2),(b3 * b4)] &
(a2 . (a3 ^ <*0*>)) `1 = [b1,b3] &
(a2 . (a3 ^ <*1*>)) `1 = [b2,b4] ) )
if (a2 . a3) `2 = 6
(
branchdeg a
3 = 2 & ex b
1, b
2, b
3 being
FinSequence of the
carrier of a
1ex b
4, b
5 being
type of a
1 st
(
(a2 . a3) `1 = [((b2 ^ b1) ^ b3),b5] &
(a2 . (a3 ^ <*0*>)) `1 = [b1,b4] &
(a2 . (a3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) )
if (a2 . a3) `2 = 7
otherwise not verum;
correctness
consistency
( ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 1 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) & ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 2 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) & ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 3 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 4 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 5 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) iff for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 6 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 0 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 0 & ex b1 being type of c1 st (c2 . c3) `1 = [<*b1*>,b1] ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 2 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) & ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 3 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 4 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 5 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) iff for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 6 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 1 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b2 /" b3)] & (c2 . (c3 ^ <*0*>)) `1 = [(b1 ^ <*b3*>),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 2 & (c2 . c3) `2 = 3 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 2 & (c2 . c3) `2 = 4 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 2 & (c2 . c3) `2 = 5 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) iff for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) ) & ( (c2 . c3) `2 = 2 & (c2 . c3) `2 = 6 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 2 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 1 & ex b1 being FinSequence of the carrier of c1ex b2, b3 being type of c1 st
( (c2 . c3) `1 = [b1,(b3 \ b2)] & (c2 . (c3 ^ <*0*>)) `1 = [(<*b3*> ^ b1),b2] ) ) ) ) ) & ( (c2 . c3) `2 = 3 & (c2 . c3) `2 = 4 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) ) ) & ( (c2 . c3) `2 = 3 & (c2 . c3) `2 = 5 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) iff for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) ) & ( (c2 . c3) `2 = 3 & (c2 . c3) `2 = 6 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) ) ) & ( (c2 . c3) `2 = 3 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) ) ) & ( (c2 . c3) `2 = 4 & (c2 . c3) `2 = 5 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) iff for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) ) & ( (c2 . c3) `2 = 4 & (c2 . c3) `2 = 6 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) ) ) & ( (c2 . c3) `2 = 4 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5, b6 being type of c1 st
( (c2 . c3) `1 = [(((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b3),b6] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b5] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b6] ) ) ) ) ) & ( (c2 . c3) `2 = 5 & (c2 . c3) `2 = 6 implies ( ( for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) iff ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) ) & ( (c2 . c3) `2 = 5 & (c2 . c3) `2 = 7 implies ( ( for b1 being type of c1 holds
( branchdeg c3 = 1 & ex b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1ex b5 being FinSequence of the carrier of c1 st
( (c2 . c3) `1 = [((b2 ^ <*(b3 * b4)*>) ^ b5),b1] & (c2 . (c3 ^ <*0*>)) `1 = [(((b2 ^ <*b3*>) ^ <*b4*>) ^ b5),b1] ) ) ) iff ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) ) & ( (c2 . c3) `2 = 6 & (c2 . c3) `2 = 7 implies ( ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) implies ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) ) ) & ( branchdeg c3 = 2 & ex b1, b2, b3 being FinSequence of the carrier of c1ex b4, b5 being type of c1 st
( (c2 . c3) `1 = [((b2 ^ b1) ^ b3),b5] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b4] & (c2 . (c3 ^ <*1*>)) `1 = [((b2 ^ <*b4*>) ^ b3),b5] ) implies ( branchdeg c3 = 2 & ex b1, b2 being FinSequence of the carrier of c1ex b3, b4 being type of c1 st
( (c2 . c3) `1 = [(b1 ^ b2),(b3 * b4)] & (c2 . (c3 ^ <*0*>)) `1 = [b1,b3] & (c2 . (c3 ^ <*1*>)) `1 = [b2,b4] ) ) ) ) ) );
;
end;
:: deftheorem Def4 PRELAMB:def 4 :
canceled;
:: deftheorem Def5 defines correct PRELAMB:def 5 :
for b
1 being non
empty typealg for b
2 being
PreProof of b
1for b
3 being
Element of
dom b
2 holds
( (
(b2 . b3) `2 = 0 implies ( b
3 is
correct iff (
branchdeg b
3 = 0 & ex b
4 being
type of b
1 st
(b2 . b3) `1 = [<*b4*>,b4] ) ) ) & (
(b2 . b3) `2 = 1 implies ( b
3 is
correct iff (
branchdeg b
3 = 1 & ex b
4 being
FinSequence of the
carrier of b
1ex b
5, b
6 being
type of b
1 st
(
(b2 . b3) `1 = [b4,(b5 /" b6)] &
(b2 . (b3 ^ <*0*>)) `1 = [(b4 ^ <*b6*>),b5] ) ) ) ) & (
(b2 . b3) `2 = 2 implies ( b
3 is
correct iff (
branchdeg b
3 = 1 & ex b
4 being
FinSequence of the
carrier of b
1ex b
5, b
6 being
type of b
1 st
(
(b2 . b3) `1 = [b4,(b6 \ b5)] &
(b2 . (b3 ^ <*0*>)) `1 = [(<*b6*> ^ b4),b5] ) ) ) ) & (
(b2 . b3) `2 = 3 implies ( b
3 is
correct iff (
branchdeg b
3 = 2 & ex b
4, b
5, b
6 being
FinSequence of the
carrier of b
1ex b
7, b
8, b
9 being
type of b
1 st
(
(b2 . b3) `1 = [(((b5 ^ <*(b7 /" b8)*>) ^ b4) ^ b6),b9] &
(b2 . (b3 ^ <*0*>)) `1 = [b4,b8] &
(b2 . (b3 ^ <*1*>)) `1 = [((b5 ^ <*b7*>) ^ b6),b9] ) ) ) ) & (
(b2 . b3) `2 = 4 implies ( b
3 is
correct iff (
branchdeg b
3 = 2 & ex b
4, b
5, b
6 being
FinSequence of the
carrier of b
1ex b
7, b
8, b
9 being
type of b
1 st
(
(b2 . b3) `1 = [(((b5 ^ b4) ^ <*(b8 \ b7)*>) ^ b6),b9] &
(b2 . (b3 ^ <*0*>)) `1 = [b4,b8] &
(b2 . (b3 ^ <*1*>)) `1 = [((b5 ^ <*b7*>) ^ b6),b9] ) ) ) ) & (
(b2 . b3) `2 = 5 implies ( b
3 is
correct iff for b
4 being
type of b
1 holds
(
branchdeg b
3 = 1 & ex b
5 being
FinSequence of the
carrier of b
1ex b
6, b
7 being
type of b
1ex b
8 being
FinSequence of the
carrier of b
1 st
(
(b2 . b3) `1 = [((b5 ^ <*(b6 * b7)*>) ^ b8),b4] &
(b2 . (b3 ^ <*0*>)) `1 = [(((b5 ^ <*b6*>) ^ <*b7*>) ^ b8),b4] ) ) ) ) & (
(b2 . b3) `2 = 6 implies ( b
3 is
correct iff (
branchdeg b
3 = 2 & ex b
4, b
5 being
FinSequence of the
carrier of b
1ex b
6, b
7 being
type of b
1 st
(
(b2 . b3) `1 = [(b4 ^ b5),(b6 * b7)] &
(b2 . (b3 ^ <*0*>)) `1 = [b4,b6] &
(b2 . (b3 ^ <*1*>)) `1 = [b5,b7] ) ) ) ) & (
(b2 . b3) `2 = 7 implies ( b
3 is
correct iff (
branchdeg b
3 = 2 & ex b
4, b
5, b
6 being
FinSequence of the
carrier of b
1ex b
7, b
8 being
type of b
1 st
(
(b2 . b3) `1 = [((b5 ^ b4) ^ b6),b8] &
(b2 . (b3 ^ <*0*>)) `1 = [b4,b7] &
(b2 . (b3 ^ <*1*>)) `1 = [((b5 ^ <*b7*>) ^ b6),b8] ) ) ) ) & ( not
(b2 . b3) `2 = 0 & not
(b2 . b3) `2 = 1 & not
(b2 . b3) `2 = 2 & not
(b2 . b3) `2 = 3 & not
(b2 . b3) `2 = 4 & not
(b2 . b3) `2 = 5 & not
(b2 . b3) `2 = 6 & not
(b2 . b3) `2 = 7 implies ( b
3 is
correct iff not verum ) ) );
:: deftheorem Def6 defines left PRELAMB:def 6 :
:: deftheorem Def7 defines right PRELAMB:def 7 :
:: deftheorem Def8 defines middle PRELAMB:def 8 :
:: deftheorem Def9 defines primitive PRELAMB:def 9 :
:: deftheorem Def10 defines represents PRELAMB:def 10 :
:: deftheorem Def11 defines free PRELAMB:def 11 :
:: deftheorem Def12 defines repr_of PRELAMB:def 12 :
deffunc H1( typealg ) -> set = [:(the carrier of a1 * ),the carrier of a1:];
:: deftheorem Def13 defines Proof PRELAMB:def 13 :
theorem Th1: :: PRELAMB:1
theorem Th2: :: PRELAMB:2
theorem Th3: :: PRELAMB:3
theorem Th4: :: PRELAMB:4
theorem Th5: :: PRELAMB:5
theorem Th6: :: PRELAMB:6
theorem Th7: :: PRELAMB:7
theorem Th8: :: PRELAMB:8
theorem Th9: :: PRELAMB:9
theorem Th10: :: PRELAMB:10
theorem Th11: :: PRELAMB:11
:: deftheorem Def14 defines cut-free PRELAMB:def 14 :
:: deftheorem Def15 defines size_w.r.t. PRELAMB:def 15 :
Lemma9:
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function of b1, NAT holds
b3 * b2 is FinSequence of NAT
Lemma10:
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function of b1, NAT holds
b3 * b2 is FinSequence of REAL
Lemma11:
for b1 being non empty set
for b2 being FinSequence of b1
for b3 being Function of b1, NAT holds
Sum (b3 * b2) is Nat
definition
let c
1 be non
empty typealg ;
let c
2 be
Proof of c
1;
func cutdeg c
2 -> Nat means :: PRELAMB:def 16
ex b
1, b
2, b
3 being
FinSequence of the
carrier of a
1ex b
4, b
5 being
type of a
1 st
(
(a2 . {} ) `1 = [((b2 ^ b1) ^ b3),b5] &
(a2 . <*0*>) `1 = [b1,b4] &
(a2 . <*1*>) `1 = [((b2 ^ <*b4*>) ^ b3),b5] & a
3 = (((size_w.r.t. a1) . b4) + ((size_w.r.t. a1) . b5)) + (Sum ((size_w.r.t. a1) * ((b2 ^ b1) ^ b3))) )
if (a2 . {} ) `2 = 7
otherwise a
3 = 0;
existence
( not ( (c2 . {} ) `2 = 7 & ( for b1 being Nat
for b2, b3, b4 being FinSequence of the carrier of c1
for b5, b6 being type of c1 holds
not ( (c2 . {} ) `1 = [((b3 ^ b2) ^ b4),b6] & (c2 . <*0*>) `1 = [b2,b5] & (c2 . <*1*>) `1 = [((b3 ^ <*b5*>) ^ b4),b6] & b1 = (((size_w.r.t. c1) . b5) + ((size_w.r.t. c1) . b6)) + (Sum ((size_w.r.t. c1) * ((b3 ^ b2) ^ b4))) ) ) ) & not ( not (c2 . {} ) `2 = 7 & ( for b1 being Nat holds
not b1 = 0 ) ) )
uniqueness
for b1, b2 being Nat holds
( ( (c2 . {} ) `2 = 7 & ex b3, b4, b5 being FinSequence of the carrier of c1ex b6, b7 being type of c1 st
( (c2 . {} ) `1 = [((b4 ^ b3) ^ b5),b7] & (c2 . <*0*>) `1 = [b3,b6] & (c2 . <*1*>) `1 = [((b4 ^ <*b6*>) ^ b5),b7] & b1 = (((size_w.r.t. c1) . b6) + ((size_w.r.t. c1) . b7)) + (Sum ((size_w.r.t. c1) * ((b4 ^ b3) ^ b5))) ) & ex b3, b4, b5 being FinSequence of the carrier of c1ex b6, b7 being type of c1 st
( (c2 . {} ) `1 = [((b4 ^ b3) ^ b5),b7] & (c2 . <*0*>) `1 = [b3,b6] & (c2 . <*1*>) `1 = [((b4 ^ <*b6*>) ^ b5),b7] & b2 = (((size_w.r.t. c1) . b6) + ((size_w.r.t. c1) . b7)) + (Sum ((size_w.r.t. c1) * ((b4 ^ b3) ^ b5))) ) implies b1 = b2 ) & ( not (c2 . {} ) `2 = 7 & b1 = 0 & b2 = 0 implies b1 = b2 ) )
consistency
for b1 being Nat holds
verum
;
end;
:: deftheorem Def16 defines cutdeg PRELAMB:def 16 :
:: deftheorem Def17 defines Model PRELAMB:def 17 :
:: deftheorem Def18 defines ==>. PRELAMB:def 18 :
definition
let c
1 be non
empty typestr ;
attr a
1 is
SynTypes_Calculus-like means :
Def19:
:: PRELAMB:def 19
( ( for b
1 being
type of a
1 holds
<*b1*> ==>. b
1 ) & ( for b
1 being
FinSequence of the
carrier of a
1for b
2, b
3 being
type of a
1 holds
( b
1 ^ <*b3*> ==>. b
2 implies b
1 ==>. b
2 /" b
3 ) ) & ( for b
1 being
FinSequence of the
carrier of a
1for b
2, b
3 being
type of a
1 holds
(
<*b3*> ^ b
1 ==>. b
2 implies b
1 ==>. b
3 \ b
2 ) ) & ( for b
1, b
2, b
3 being
FinSequence of the
carrier of a
1for b
4, b
5, b
6 being
type of a
1 holds
( b
1 ==>. b
5 &
(b2 ^ <*b4*>) ^ b
3 ==>. b
6 implies
((b2 ^ <*(b4 /" b5)*>) ^ b1) ^ b
3 ==>. b
6 ) ) & ( for b
1, b
2, b
3 being
FinSequence of the
carrier of a
1for b
4, b
5, b
6 being
type of a
1 holds
( b
1 ==>. b
5 &
(b2 ^ <*b4*>) ^ b
3 ==>. b
6 implies
((b2 ^ b1) ^ <*(b5 \ b4)*>) ^ b
3 ==>. b
6 ) ) & ( for b
1, b
2 being
FinSequence of the
carrier of a
1for b
3, b
4, b
5 being
type of a
1 holds
(
((b1 ^ <*b3*>) ^ <*b4*>) ^ b
2 ==>. b
5 implies
(b1 ^ <*(b3 * b4)*>) ^ b
2 ==>. b
5 ) ) & ( for b
1, b
2 being
FinSequence of the
carrier of a
1for b
3, b
4 being
type of a
1 holds
( b
1 ==>. b
3 & b
2 ==>. b
4 implies b
1 ^ b
2 ==>. b
3 * b
4 ) ) );
end;
:: deftheorem Def19 defines SynTypes_Calculus-like PRELAMB:def 19 :
for b
1 being non
empty typestr holds
( b
1 is
SynTypes_Calculus-like iff ( ( for b
2 being
type of b
1 holds
<*b2*> ==>. b
2 ) & ( for b
2 being
FinSequence of the
carrier of b
1for b
3, b
4 being
type of b
1 holds
( b
2 ^ <*b4*> ==>. b
3 implies b
2 ==>. b
3 /" b
4 ) ) & ( for b
2 being
FinSequence of the
carrier of b
1for b
3, b
4 being
type of b
1 holds
(
<*b4*> ^ b
2 ==>. b
3 implies b
2 ==>. b
4 \ b
3 ) ) & ( for b
2, b
3, b
4 being
FinSequence of the
carrier of b
1for b
5, b
6, b
7 being
type of b
1 holds
( b
2 ==>. b
6 &
(b3 ^ <*b5*>) ^ b
4 ==>. b
7 implies
((b3 ^ <*(b5 /" b6)*>) ^ b2) ^ b
4 ==>. b
7 ) ) & ( for b
2, b
3, b
4 being
FinSequence of the
carrier of b
1for b
5, b
6, b
7 being
type of b
1 holds
( b
2 ==>. b
6 &
(b3 ^ <*b5*>) ^ b
4 ==>. b
7 implies
((b3 ^ b2) ^ <*(b6 \ b5)*>) ^ b
4 ==>. b
7 ) ) & ( for b
2, b
3 being
FinSequence of the
carrier of b
1for b
4, b
5, b
6 being
type of b
1 holds
(
((b2 ^ <*b4*>) ^ <*b5*>) ^ b
3 ==>. b
6 implies
(b2 ^ <*(b4 * b5)*>) ^ b
3 ==>. b
6 ) ) & ( for b
2, b
3 being
FinSequence of the
carrier of b
1for b
4, b
5 being
type of b
1 holds
( b
2 ==>. b
4 & b
3 ==>. b
5 implies b
2 ^ b
3 ==>. b
4 * b
5 ) ) ) );
deffunc H2( typestr ) -> FinSequence of the carrier of a1 = <*> the carrier of a1;
Lemma14:
for b1 being SynTypes_Calculus
for b2, b3 being FinSequence of the carrier of b1
for b4, b5, b6 being type of b1 holds
( b2 ==>. b4 & b3 ^ <*b5*> ==>. b6 implies (b3 ^ <*(b5 /" b4)*>) ^ b2 ==>. b6 )
Lemma15:
for b1 being SynTypes_Calculus
for b2, b3 being FinSequence of the carrier of b1
for b4, b5, b6 being type of b1 holds
( b2 ==>. b4 & <*b5*> ^ b3 ==>. b6 implies (<*(b5 /" b4)*> ^ b2) ^ b3 ==>. b6 )
Lemma16:
for b1 being SynTypes_Calculus
for b2 being FinSequence of the carrier of b1
for b3, b4, b5 being type of b1 holds
( b2 ==>. b3 & <*b4*> ==>. b5 implies <*(b4 /" b3)*> ^ b2 ==>. b5 )
Lemma17:
for b1 being SynTypes_Calculus
for b2, b3 being FinSequence of the carrier of b1
for b4, b5, b6 being type of b1 holds
( b2 ==>. b4 & b3 ^ <*b5*> ==>. b6 implies (b3 ^ b2) ^ <*(b4 \ b5)*> ==>. b6 )
Lemma18:
for b1 being SynTypes_Calculus
for b2, b3 being FinSequence of the carrier of b1
for b4, b5, b6 being type of b1 holds
( b2 ==>. b4 & <*b5*> ^ b3 ==>. b6 implies (b2 ^ <*(b4 \ b5)*>) ^ b3 ==>. b6 )
Lemma19:
for b1 being SynTypes_Calculus
for b2 being FinSequence of the carrier of b1
for b3, b4, b5 being type of b1 holds
( b2 ==>. b3 & <*b4*> ==>. b5 implies b2 ^ <*(b3 \ b4)*> ==>. b5 )
Lemma20:
for b1 being SynTypes_Calculus
for b2 being FinSequence of the carrier of b1
for b3, b4, b5 being type of b1 holds
( (<*b3*> ^ <*b4*>) ^ b2 ==>. b5 implies <*(b3 * b4)*> ^ b2 ==>. b5 )
Lemma21:
for b1 being SynTypes_Calculus
for b2 being FinSequence of the carrier of b1
for b3, b4, b5 being type of b1 holds
( (b2 ^ <*b3*>) ^ <*b4*> ==>. b5 implies b2 ^ <*(b3 * b4)*> ==>. b5 )
Lemma22:
for b1 being SynTypes_Calculus
for b2, b3, b4 being type of b1 holds
( <*b2*> ^ <*b3*> ==>. b4 implies <*(b2 * b3)*> ==>. b4 )
theorem Th12: :: PRELAMB:12
theorem Th13: :: PRELAMB:13
theorem Th14: :: PRELAMB:14
theorem Th15: :: PRELAMB:15
theorem Th16: :: PRELAMB:16
theorem Th17: :: PRELAMB:17
theorem Th18: :: PRELAMB:18
theorem Th19: :: PRELAMB:19
theorem Th20: :: PRELAMB:20
theorem Th21: :: PRELAMB:21
theorem Th22: :: PRELAMB:22
theorem Th23: :: PRELAMB:23
theorem Th24: :: PRELAMB:24
:: deftheorem Def20 defines <==>. PRELAMB:def 20 :
theorem Th25: :: PRELAMB:25
theorem Th26: :: PRELAMB:26
theorem Th27: :: PRELAMB:27
theorem Th28: :: PRELAMB:28
theorem Th29: :: PRELAMB:29
theorem Th30: :: PRELAMB:30