:: TURING_1 semantic presentation
:: deftheorem Def1 defines SegM TURING_1:def 1 :
theorem Th1: :: TURING_1:1
for
b1,
b2 being
Nat holds
(
b1 in SegM b2 iff
b1 <= b2 )
theorem Th2: :: TURING_1:2
theorem Th3: :: TURING_1:3
theorem Th4: :: TURING_1:4
theorem Th5: :: TURING_1:5
theorem Th6: :: TURING_1:6
:: deftheorem Def2 defines Prefix TURING_1:def 2 :
theorem Th7: :: TURING_1:7
theorem Th8: :: TURING_1:8
for
b1,
b2,
b3 being
Nat holds
(
Sum (Prefix <*b1,b2,b3*>,1) = b1 &
Sum (Prefix <*b1,b2,b3*>,2) = b1 + b2 &
Sum (Prefix <*b1,b2,b3*>,3) = (b1 + b2) + b3 )
definition
attr a1 is
strict;
struct TuringStr -> ;
aggr TuringStr(#
Symbols,
States,
Tran,
InitS,
AcceptS #)
-> TuringStr ;
sel Symbols c1 -> non
empty finite set ;
sel States c1 -> non
empty finite set ;
sel Tran c1 -> Function of
[:the States of a1,the Symbols of a1:],
[:the States of a1,the Symbols of a1,{(- 1),0,1}:];
sel InitS c1 -> Element of the
States of
a1;
sel AcceptS c1 -> Element of the
States of
a1;
end;
:: deftheorem Def3 defines Tape-Chg TURING_1:def 3 :
:: deftheorem Def4 defines offset TURING_1:def 4 :
:: deftheorem Def5 defines Head TURING_1:def 5 :
:: deftheorem Def6 defines TRAN TURING_1:def 6 :
:: deftheorem Def7 defines Following TURING_1:def 7 :
definition
let c1 be
TuringStr ;
let c2 be
All-State of
c1;
func Computation c2 -> Function of
NAT ,
[:the States of a1,INT ,(Funcs INT ,the Symbols of a1):] means :
Def8:
:: TURING_1:def 8
(
a3 . 0
= a2 & ( for
b1 being
Nat holds
a3 . (b1 + 1) = Following (a3 . b1) ) );
existence
ex b1 being Function of NAT ,[:the States of c1,INT ,(Funcs INT ,the Symbols of c1):] st
( b1 . 0 = c2 & ( for b2 being Nat holds b1 . (b2 + 1) = Following (b1 . b2) ) )
uniqueness
for b1, b2 being Function of NAT ,[:the States of c1,INT ,(Funcs INT ,the Symbols of c1):] st b1 . 0 = c2 & ( for b3 being Nat holds b1 . (b3 + 1) = Following (b1 . b3) ) & b2 . 0 = c2 & ( for b3 being Nat holds b2 . (b3 + 1) = Following (b2 . b3) ) holds
b1 = b2
end;
:: deftheorem Def8 defines Computation TURING_1:def 8 :
theorem Th9: :: TURING_1:9
theorem Th10: :: TURING_1:10
theorem Th11: :: TURING_1:11
theorem Th12: :: TURING_1:12
theorem Th13: :: TURING_1:13
theorem Th14: :: TURING_1:14
theorem Th15: :: TURING_1:15
:: deftheorem Def9 defines Accept-Halt TURING_1:def 9 :
:: deftheorem Def10 defines Result TURING_1:def 10 :
theorem Th16: :: TURING_1:16
definition
let c1,
c2 be non
empty set ;
let c3 be
set ;
assume E18:
c3 in c2
;
func id c1,
c2,
c3 -> Function of
a1,
[:a1,a2:] means :: TURING_1:def 11
for
b1 being
Element of
a1 holds
a4 . b1 = [b1,a3];
existence
ex b1 being Function of c1,[:c1,c2:] st
for b2 being Element of c1 holds b1 . b2 = [b2,c3]
uniqueness
for b1, b2 being Function of c1,[:c1,c2:] st ( for b3 being Element of c1 holds b1 . b3 = [b3,c3] ) & ( for b3 being Element of c1 holds b2 . b3 = [b3,c3] ) holds
b1 = b2
end;
:: deftheorem Def11 defines id TURING_1:def 11 :
definition
func Sum_Tran -> Function of
[:(SegM 5),{0,1}:],
[:(SegM 5),{0,1},{(- 1),0,1}:] equals :: TURING_1:def 12
(((((((((id [:(SegM 5),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [0,0,1])) +* ([0,1] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,0,(- 1)])) +* ([4,1] .--> [4,1,(- 1)])) +* ([4,0] .--> [5,0,0]);
coherence
(((((((((id [:(SegM 5),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [0,0,1])) +* ([0,1] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,0,(- 1)])) +* ([4,1] .--> [4,1,(- 1)])) +* ([4,0] .--> [5,0,0]) is Function of [:(SegM 5),{0,1}:],[:(SegM 5),{0,1},{(- 1),0,1}:]
end;
:: deftheorem Def12 defines Sum_Tran TURING_1:def 12 :
Sum_Tran = (((((((((id [:(SegM 5),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [0,0,1])) +* ([0,1] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,0,(- 1)])) +* ([4,1] .--> [4,1,(- 1)])) +* ([4,0] .--> [5,0,0]);
theorem Th17: :: TURING_1:17
(
Sum_Tran . [0,0] = [0,0,1] &
Sum_Tran . [0,1] = [1,0,1] &
Sum_Tran . [1,1] = [1,1,1] &
Sum_Tran . [1,0] = [2,1,1] &
Sum_Tran . [2,1] = [2,1,1] &
Sum_Tran . [2,0] = [3,0,(- 1)] &
Sum_Tran . [3,1] = [4,0,(- 1)] &
Sum_Tran . [4,1] = [4,1,(- 1)] &
Sum_Tran . [4,0] = [5,0,0] )
:: deftheorem Def13 defines is_1_between TURING_1:def 13 :
:: deftheorem Def14 defines storeData TURING_1:def 14 :
theorem Th18: :: TURING_1:18
theorem Th19: :: TURING_1:19
theorem Th20: :: TURING_1:20
theorem Th21: :: TURING_1:21
theorem Th22: :: TURING_1:22
for
b1 being
TuringStr for
b2 being
Tape of
b1 for
b3,
b4,
b5 being
Nat st
b2 storeData <*b3,b4,b5*> holds
(
b2 . b3 = 0 &
b2 . ((b3 + b4) + 2) = 0 &
b2 . (((b3 + b4) + b5) + 4) = 0 & ( for
b6 being
Integer st
b3 < b6 &
b6 < (b3 + b4) + 2 holds
b2 . b6 = 1 ) & ( for
b6 being
Integer st
(b3 + b4) + 2
< b6 &
b6 < ((b3 + b4) + b5) + 4 holds
b2 . b6 = 1 ) )
theorem Th23: :: TURING_1:23
theorem Th24: :: TURING_1:24
theorem Th25: :: TURING_1:25
theorem Th26: :: TURING_1:26
:: deftheorem Def15 defines SumTuring TURING_1:def 15 :
Lemma31:
for b1 being Nat st b1 <= 5 holds
b1 is State of SumTuring
theorem Th27: :: TURING_1:27
theorem Th28: :: TURING_1:28
Lemma34:
( 0 in the Symbols of SumTuring & 1 in the Symbols of SumTuring )
theorem Th29: :: TURING_1:29
Lemma36:
for b1 being All-State of SumTuring
for b2, b3, b4 being set st b1 = [b2,b3,b4] & b2 <> 5 holds
Following b1 = [((TRAN b1) `1 ),((Head b1) + (offset (TRAN b1))),(Tape-Chg (b1 `3 ),(Head b1),((TRAN b1) `2 ))]
theorem Th30: :: TURING_1:30
Lemma38:
for b1 being TuringStr
for b2 being All-State of b1
for b3 being State of b1
for b4 being Element of INT
for b5 being Tape of b1
for b6, b7 being Nat st b7 = b4 & 1 is Symbol of b1 & b2 = [b3,b4,b5] & the Tran of b1 . [b3,1] = [b3,1,1] & b3 <> the AcceptS of b1 & ( for b8 being Integer st b7 <= b8 & b8 < b7 + b6 holds
b5 . b8 = 1 ) holds
(Computation b2) . b6 = [b3,(b7 + b6),b5]
theorem Th31: :: TURING_1:31
:: deftheorem Def16 defines computes TURING_1:def 16 :
theorem Th32: :: TURING_1:32
theorem Th33: :: TURING_1:33
definition
func Succ_Tran -> Function of
[:(SegM 4),{0,1}:],
[:(SegM 4),{0,1},{(- 1),0,1}:] equals :: TURING_1:def 17
(((((((id [:(SegM 4),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [3,1,(- 1)])) +* ([3,0] .--> [4,0,0]);
coherence
(((((((id [:(SegM 4),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [3,1,(- 1)])) +* ([3,0] .--> [4,0,0]) is Function of [:(SegM 4),{0,1}:],[:(SegM 4),{0,1},{(- 1),0,1}:]
end;
:: deftheorem Def17 defines Succ_Tran TURING_1:def 17 :
Succ_Tran = (((((((id [:(SegM 4),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,1,1])) +* ([1,0] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [3,1,(- 1)])) +* ([3,0] .--> [4,0,0]);
theorem Th34: :: TURING_1:34
(
Succ_Tran . [0,0] = [1,0,1] &
Succ_Tran . [1,1] = [1,1,1] &
Succ_Tran . [1,0] = [2,1,1] &
Succ_Tran . [2,0] = [3,0,(- 1)] &
Succ_Tran . [2,1] = [3,0,(- 1)] &
Succ_Tran . [3,1] = [3,1,(- 1)] &
Succ_Tran . [3,0] = [4,0,0] )
:: deftheorem Def18 defines SuccTuring TURING_1:def 18 :
Lemma44:
for b1 being Nat st b1 <= 4 holds
b1 is State of SuccTuring
Lemma45:
( 0 in the Symbols of SuccTuring & 1 in the Symbols of SuccTuring )
Lemma46:
for b1 being All-State of SuccTuring
for b2, b3, b4 being set st b1 = [b2,b3,b4] & b2 <> 4 holds
Following b1 = [((TRAN b1) `1 ),((Head b1) + (offset (TRAN b1))),(Tape-Chg (b1 `3 ),(Head b1),((TRAN b1) `2 ))]
theorem Th35: :: TURING_1:35
canceled;
theorem Th36: :: TURING_1:36
theorem Th37: :: TURING_1:37
definition
func Zero_Tran -> Function of
[:(SegM 4),{0,1}:],
[:(SegM 4),{0,1},{(- 1),0,1}:] equals :: TURING_1:def 19
(((((id [:(SegM 4),{0,1}:],{(- 1),0,1},1) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,1,(- 1)]);
coherence
(((((id [:(SegM 4),{0,1}:],{(- 1),0,1},1) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,1,(- 1)]) is Function of [:(SegM 4),{0,1}:],[:(SegM 4),{0,1},{(- 1),0,1}:]
end;
:: deftheorem Def19 defines Zero_Tran TURING_1:def 19 :
Zero_Tran = (((((id [:(SegM 4),{0,1}:],{(- 1),0,1},1) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [2,1,1])) +* ([2,0] .--> [3,0,(- 1)])) +* ([2,1] .--> [3,0,(- 1)])) +* ([3,1] .--> [4,1,(- 1)]);
theorem Th38: :: TURING_1:38
(
Zero_Tran . [0,0] = [1,0,1] &
Zero_Tran . [1,1] = [2,1,1] &
Zero_Tran . [2,0] = [3,0,(- 1)] &
Zero_Tran . [2,1] = [3,0,(- 1)] &
Zero_Tran . [3,1] = [4,1,(- 1)] )
:: deftheorem Def20 defines ZeroTuring TURING_1:def 20 :
Lemma50:
for b1 being Nat st b1 <= 4 holds
b1 is State of ZeroTuring
Lemma51:
( 0 in the Symbols of ZeroTuring & 1 in the Symbols of ZeroTuring )
Lemma52:
for b1 being All-State of ZeroTuring
for b2, b3, b4 being set st b1 = [b2,b3,b4] & b2 <> 4 holds
Following b1 = [((TRAN b1) `1 ),((Head b1) + (offset (TRAN b1))),(Tape-Chg (b1 `3 ),(Head b1),((TRAN b1) `2 ))]
theorem Th39: :: TURING_1:39
theorem Th40: :: TURING_1:40
definition
func U3(n)Tran -> Function of
[:(SegM 3),{0,1}:],
[:(SegM 3),{0,1},{(- 1),0,1}:] equals :: TURING_1:def 21
(((((id [:(SegM 3),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,0,1])) +* ([1,0] .--> [2,0,1])) +* ([2,1] .--> [2,0,1])) +* ([2,0] .--> [3,0,0]);
coherence
(((((id [:(SegM 3),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,0,1])) +* ([1,0] .--> [2,0,1])) +* ([2,1] .--> [2,0,1])) +* ([2,0] .--> [3,0,0]) is Function of [:(SegM 3),{0,1}:],[:(SegM 3),{0,1},{(- 1),0,1}:]
end;
:: deftheorem Def21 defines U3(n)Tran TURING_1:def 21 :
U3(n)Tran = (((((id [:(SegM 3),{0,1}:],{(- 1),0,1},0) +* ([0,0] .--> [1,0,1])) +* ([1,1] .--> [1,0,1])) +* ([1,0] .--> [2,0,1])) +* ([2,1] .--> [2,0,1])) +* ([2,0] .--> [3,0,0]);
theorem Th41: :: TURING_1:41
(
U3(n)Tran . [0,0] = [1,0,1] &
U3(n)Tran . [1,1] = [1,0,1] &
U3(n)Tran . [1,0] = [2,0,1] &
U3(n)Tran . [2,1] = [2,0,1] &
U3(n)Tran . [2,0] = [3,0,0] )
:: deftheorem Def22 defines U3(n)Turing TURING_1:def 22 :
Lemma56:
for b1 being Nat st b1 <= 3 holds
b1 is State of U3(n)Turing
Lemma57:
( 0 in the Symbols of U3(n)Turing & 1 in the Symbols of U3(n)Turing )
Lemma58:
for b1 being All-State of U3(n)Turing
for b2, b3, b4 being set st b1 = [b2,b3,b4] & b2 <> 3 holds
Following b1 = [((TRAN b1) `1 ),((Head b1) + (offset (TRAN b1))),(Tape-Chg (b1 `3 ),(Head b1),((TRAN b1) `2 ))]
Lemma59:
for b1 being TuringStr
for b2 being All-State of b1
for b3 being State of b1
for b4 being Element of INT
for b5 being Tape of b1
for b6, b7 being Nat st b7 = b4 & 0 is Symbol of b1 & b2 = [b3,b4,b5] & the Tran of b1 . [b3,1] = [b3,0,1] & b3 <> the AcceptS of b1 & ( for b8 being Integer st b7 <= b8 & b8 < b7 + b6 holds
b5 . b8 = 1 ) holds
ex b8 being Tape of b1 st
( (Computation b2) . b6 = [b3,(b7 + b6),b8] & ( for b9 being Integer st b7 <= b9 & b9 < b7 + b6 holds
b8 . b9 = 0 ) & ( for b9 being Integer st ( b7 > b9 or b9 >= b7 + b6 ) holds
b8 . b9 = b5 . b9 ) )
theorem Th42: :: TURING_1:42
theorem Th43: :: TURING_1:43
:: deftheorem Def23 defines UnionSt TURING_1:def 23 :
theorem Th44: :: TURING_1:44
theorem Th45: :: TURING_1:45
theorem Th46: :: TURING_1:46
theorem Th47: :: TURING_1:47
definition
let c1,
c2 be
TuringStr ;
let c3 be
Tran-Goal of
c1;
func FirstTuringTran c1,
c2,
c3 -> Element of
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2),{(- 1),0,1}:] equals :: TURING_1:def 24
[[(a3 `1 ),the InitS of a2],(a3 `2 ),(a3 `3 )];
coherence
[[(c3 `1 ),the InitS of c2],(c3 `2 ),(c3 `3 )] is Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:]
end;
:: deftheorem Def24 defines FirstTuringTran TURING_1:def 24 :
definition
let c1,
c2 be
TuringStr ;
let c3 be
Tran-Goal of
c2;
func SecondTuringTran c1,
c2,
c3 -> Element of
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2),{(- 1),0,1}:] equals :: TURING_1:def 25
[[the AcceptS of a1,(a3 `1 )],(a3 `2 ),(a3 `3 )];
coherence
[[the AcceptS of c1,(c3 `1 )],(c3 `2 ),(c3 `3 )] is Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:]
end;
:: deftheorem Def25 defines SecondTuringTran TURING_1:def 25 :
:: deftheorem Def26 defines FirstTuringState TURING_1:def 26 :
:: deftheorem Def27 defines SecondTuringState TURING_1:def 27 :
:: deftheorem Def28 defines FirstTuringSymbol TURING_1:def 28 :
:: deftheorem Def29 defines SecondTuringSymbol TURING_1:def 29 :
definition
let c1,
c2 be
TuringStr ;
let c3 be
Element of
[:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):];
func Uniontran c1,
c2,
c3 -> Element of
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2),{(- 1),0,1}:] equals :
Def30:
:: TURING_1:def 30
FirstTuringTran a1,
a2,
(the Tran of a1 . [(FirstTuringState a3),(FirstTuringSymbol a3)]) if ex
b1 being
State of
a1ex
b2 being
Symbol of
a1 st
(
a3 = [[b1,the InitS of a2],b2] &
b1 <> the
AcceptS of
a1 )
SecondTuringTran a1,
a2,
(the Tran of a2 . [(SecondTuringState a3),(SecondTuringSymbol a3)]) if ex
b1 being
State of
a2ex
b2 being
Symbol of
a2 st
a3 = [[the AcceptS of a1,b1],b2] otherwise [(a3 `1 ),(a3 `2 ),(- 1)];
consistency
for b1 being Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] st ex b2 being State of c1ex b3 being Symbol of c1 st
( c3 = [[b2,the InitS of c2],b3] & b2 <> the AcceptS of c1 ) & ex b2 being State of c2ex b3 being Symbol of c2 st c3 = [[the AcceptS of c1,b2],b3] holds
( b1 = FirstTuringTran c1,c2,(the Tran of c1 . [(FirstTuringState c3),(FirstTuringSymbol c3)]) iff b1 = SecondTuringTran c1,c2,(the Tran of c2 . [(SecondTuringState c3),(SecondTuringSymbol c3)]) )
coherence
( ( ex b1 being State of c1ex b2 being Symbol of c1 st
( c3 = [[b1,the InitS of c2],b2] & b1 <> the AcceptS of c1 ) implies FirstTuringTran c1,c2,(the Tran of c1 . [(FirstTuringState c3),(FirstTuringSymbol c3)]) is Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] ) & ( ex b1 being State of c2ex b2 being Symbol of c2 st c3 = [[the AcceptS of c1,b1],b2] implies SecondTuringTran c1,c2,(the Tran of c2 . [(SecondTuringState c3),(SecondTuringSymbol c3)]) is Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] ) & ( ( for b1 being State of c1
for b2 being Symbol of c1 holds
( not c3 = [[b1,the InitS of c2],b2] or not b1 <> the AcceptS of c1 ) ) & ( for b1 being State of c2
for b2 being Symbol of c2 holds not c3 = [[the AcceptS of c1,b1],b2] ) implies [(c3 `1 ),(c3 `2 ),(- 1)] is Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] ) )
end;
:: deftheorem Def30 defines Uniontran TURING_1:def 30 :
for
b1,
b2 being
TuringStr for
b3 being
Element of
[:(UnionSt b1,b2),(the Symbols of b1 \/ the Symbols of b2):] holds
( ( ex
b4 being
State of
b1ex
b5 being
Symbol of
b1 st
(
b3 = [[b4,the InitS of b2],b5] &
b4 <> the
AcceptS of
b1 ) implies
Uniontran b1,
b2,
b3 = FirstTuringTran b1,
b2,
(the Tran of b1 . [(FirstTuringState b3),(FirstTuringSymbol b3)]) ) & ( ex
b4 being
State of
b2ex
b5 being
Symbol of
b2 st
b3 = [[the AcceptS of b1,b4],b5] implies
Uniontran b1,
b2,
b3 = SecondTuringTran b1,
b2,
(the Tran of b2 . [(SecondTuringState b3),(SecondTuringSymbol b3)]) ) & ( ( for
b4 being
State of
b1 for
b5 being
Symbol of
b1 holds
( not
b3 = [[b4,the InitS of b2],b5] or not
b4 <> the
AcceptS of
b1 ) ) & ( for
b4 being
State of
b2 for
b5 being
Symbol of
b2 holds not
b3 = [[the AcceptS of b1,b4],b5] ) implies
Uniontran b1,
b2,
b3 = [(b3 `1 ),(b3 `2 ),(- 1)] ) );
definition
let c1,
c2 be
TuringStr ;
func UnionTran c1,
c2 -> Function of
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2):],
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2),{(- 1),0,1}:] means :
Def31:
:: TURING_1:def 31
for
b1 being
Element of
[:(UnionSt a1,a2),(the Symbols of a1 \/ the Symbols of a2):] holds
a3 . b1 = Uniontran a1,
a2,
b1;
existence
ex b1 being Function of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):],[:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] st
for b2 being Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):] holds b1 . b2 = Uniontran c1,c2,b2
uniqueness
for b1, b2 being Function of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):],[:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2),{(- 1),0,1}:] st ( for b3 being Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):] holds b1 . b3 = Uniontran c1,c2,b3 ) & ( for b3 being Element of [:(UnionSt c1,c2),(the Symbols of c1 \/ the Symbols of c2):] holds b2 . b3 = Uniontran c1,c2,b3 ) holds
b1 = b2
end;
:: deftheorem Def31 defines UnionTran TURING_1:def 31 :
for
b1,
b2 being
TuringStr for
b3 being
Function of
[:(UnionSt b1,b2),(the Symbols of b1 \/ the Symbols of b2):],
[:(UnionSt b1,b2),(the Symbols of b1 \/ the Symbols of b2),{(- 1),0,1}:] holds
(
b3 = UnionTran b1,
b2 iff for
b4 being
Element of
[:(UnionSt b1,b2),(the Symbols of b1 \/ the Symbols of b2):] holds
b3 . b4 = Uniontran b1,
b2,
b4 );
definition
let c1,
c2 be
TuringStr ;
func c1 ';' c2 -> strict TuringStr means :
Def32:
:: TURING_1:def 32
( the
Symbols of
a3 = the
Symbols of
a1 \/ the
Symbols of
a2 & the
States of
a3 = UnionSt a1,
a2 & the
Tran of
a3 = UnionTran a1,
a2 & the
InitS of
a3 = [the InitS of a1,the InitS of a2] & the
AcceptS of
a3 = [the AcceptS of a1,the AcceptS of a2] );
existence
ex b1 being strict TuringStr st
( the Symbols of b1 = the Symbols of c1 \/ the Symbols of c2 & the States of b1 = UnionSt c1,c2 & the Tran of b1 = UnionTran c1,c2 & the InitS of b1 = [the InitS of c1,the InitS of c2] & the AcceptS of b1 = [the AcceptS of c1,the AcceptS of c2] )
uniqueness
for b1, b2 being strict TuringStr st the Symbols of b1 = the Symbols of c1 \/ the Symbols of c2 & the States of b1 = UnionSt c1,c2 & the Tran of b1 = UnionTran c1,c2 & the InitS of b1 = [the InitS of c1,the InitS of c2] & the AcceptS of b1 = [the AcceptS of c1,the AcceptS of c2] & the Symbols of b2 = the Symbols of c1 \/ the Symbols of c2 & the States of b2 = UnionSt c1,c2 & the Tran of b2 = UnionTran c1,c2 & the InitS of b2 = [the InitS of c1,the InitS of c2] & the AcceptS of b2 = [the AcceptS of c1,the AcceptS of c2] holds
b1 = b2
;
end;
:: deftheorem Def32 defines ';' TURING_1:def 32 :
theorem Th48: :: TURING_1:48
theorem Th49: :: TURING_1:49
theorem Th50: :: TURING_1:50
theorem Th51: :: TURING_1:51
theorem Th52: :: TURING_1:52
theorem Th53: :: TURING_1:53
Lemma74:
for b1 being All-State of ZeroTuring
for b2 being Tape of ZeroTuring
for b3, b4 being Nat st b1 = [0,b3,b2] & b2 storeData <*b3,b4*> holds
( b1 is Accept-Halt & (Result b1) `2 = b3 & (Result b1) `3 storeData <*b3,0*> )
theorem Th54: :: TURING_1:54