let it1, it2 be Element of Fin Int-Locations ; ( ( InsCode i in {1,2,3,4,5} & ex a, b being Int-Location st
( ( i = a := b or i = AddTo a,b or i = SubFrom a,b or i = MultBy a,b or i = Divide a,b ) & it1 = {a,b} ) & ex a, b being Int-Location st
( ( i = a := b or i = AddTo a,b or i = SubFrom a,b or i = MultBy a,b or i = Divide a,b ) & it2 = {a,b} ) implies it1 = it2 ) & ( ( InsCode i = 7 or InsCode i = 8 ) & ex a being Int-Location ex l being Element of NAT st
( ( i = a =0_goto l or i = a >0_goto l ) & it1 = {a} ) & ex a being Int-Location ex l being Element of NAT st
( ( i = a =0_goto l or i = a >0_goto l ) & it2 = {a} ) implies it1 = it2 ) & ( ( InsCode i = 9 or InsCode i = 10 ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it1 = {a,b} ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it2 = {a,b} ) implies it1 = it2 ) & ( ( InsCode i = 11 or InsCode i = 12 ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it1 = {a} ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it2 = {a} ) implies it1 = it2 ) & ( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 ) )
hereby ( ( ( InsCode i = 7 or InsCode i = 8 ) & ex a being Int-Location ex l being Element of NAT st
( ( i = a =0_goto l or i = a >0_goto l ) & it1 = {a} ) & ex a being Int-Location ex l being Element of NAT st
( ( i = a =0_goto l or i = a >0_goto l ) & it2 = {a} ) implies it1 = it2 ) & ( ( InsCode i = 9 or InsCode i = 10 ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it1 = {a,b} ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it2 = {a,b} ) implies it1 = it2 ) & ( ( InsCode i = 11 or InsCode i = 12 ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it1 = {a} ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it2 = {a} ) implies it1 = it2 ) & ( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 ) )
assume
InsCode i in {1,2,3,4,5}
;
( ex a1, b1 being Int-Location st
( ( i = a1 := b1 or i = AddTo a1,b1 or i = SubFrom a1,b1 or i = MultBy a1,b1 or i = Divide a1,b1 ) & it1 = {a1,b1} ) & ex a2, b2 being Int-Location st
( ( i = a2 := b2 or i = AddTo a2,b2 or i = SubFrom a2,b2 or i = MultBy a2,b2 or i = Divide a2,b2 ) & it2 = {a2,b2} ) implies it1 = it2 )given a1,
b1 being
Int-Location such that A5:
(
i = a1 := b1 or
i = AddTo a1,
b1 or
i = SubFrom a1,
b1 or
i = MultBy a1,
b1 or
i = Divide a1,
b1 )
and A6:
it1 = {a1,b1}
;
( ex a2, b2 being Int-Location st
( ( i = a2 := b2 or i = AddTo a2,b2 or i = SubFrom a2,b2 or i = MultBy a2,b2 or i = Divide a2,b2 ) & it2 = {a2,b2} ) implies it1 = it2 )given a2,
b2 being
Int-Location such that A7:
(
i = a2 := b2 or
i = AddTo a2,
b2 or
i = SubFrom a2,
b2 or
i = MultBy a2,
b2 or
i = Divide a2,
b2 )
and A8:
it2 = {a2,b2}
;
it1 = it2A9:
( (
i = AddTo a1,
b1 or
i = AddTo a2,
b2 ) implies
InsCode i = 2 )
by SCMFSA_2:43;
A10:
( (
i = Divide a1,
b1 or
i = Divide a2,
b2 ) implies
InsCode i = 5 )
by SCMFSA_2:46;
A11:
( (
i = MultBy a1,
b1 or
i = MultBy a2,
b2 ) implies
InsCode i = 4 )
by SCMFSA_2:45;
A12:
( (
i = SubFrom a1,
b1 or
i = SubFrom a2,
b2 ) implies
InsCode i = 3 )
by SCMFSA_2:44;
per cases
( ( i = a1 := b1 & i = a2 := b2 ) or ( i = AddTo a1,b1 & i = AddTo a2,b2 ) or ( i = SubFrom a1,b1 & i = SubFrom a2,b2 ) or ( i = MultBy a1,b1 & i = MultBy a2,b2 ) or ( i = Divide a1,b1 & i = Divide a2,b2 ) )
by A5, A7, A9, A12, A11, A10, SCMFSA_2:42;
end;
end;
hereby ( ( ( InsCode i = 9 or InsCode i = 10 ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it1 = {a,b} ) & ex a, b being Int-Location ex f being FinSeq-Location st
( ( i = b := f,a or i = f,a := b ) & it2 = {a,b} ) implies it1 = it2 ) & ( ( InsCode i = 11 or InsCode i = 12 ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it1 = {a} ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it2 = {a} ) implies it1 = it2 ) & ( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 ) )
end;
hereby ( ( ( InsCode i = 11 or InsCode i = 12 ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it1 = {a} ) & ex a being Int-Location ex f being FinSeq-Location st
( ( i = a :=len f or i = f :=<0,...,0> a ) & it2 = {a} ) implies it1 = it2 ) & ( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 ) )
assume
(
InsCode i = 9 or
InsCode i = 10 )
;
( ex a1, b1 being Int-Location ex f1 being FinSeq-Location st
( ( i = b1 := f1,a1 or i = f1,a1 := b1 ) & it1 = {a1,b1} ) & ex a2, b2 being Int-Location ex f2 being FinSeq-Location st
( ( i = b2 := f2,a2 or i = f2,a2 := b2 ) & it2 = {a2,b2} ) implies it1 = it2 )given a1,
b1 being
Int-Location ,
f1 being
FinSeq-Location such that A23:
(
i = b1 := f1,
a1 or
i = f1,
a1 := b1 )
and A24:
it1 = {a1,b1}
;
( ex a2, b2 being Int-Location ex f2 being FinSeq-Location st
( ( i = b2 := f2,a2 or i = f2,a2 := b2 ) & it2 = {a2,b2} ) implies it1 = it2 )given a2,
b2 being
Int-Location ,
f2 being
FinSeq-Location such that A25:
(
i = b2 := f2,
a2 or
i = f2,
a2 := b2 )
and A26:
it2 = {a2,b2}
;
it1 = it2A27:
( (
i = f1,
a1 := b1 or
i = f2,
a2 := b2 ) implies
InsCode i = 10 )
by SCMFSA_2:51;
end;
hereby ( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 )
assume
(
InsCode i = 11 or
InsCode i = 12 )
;
( ex a1 being Int-Location ex f1 being FinSeq-Location st
( ( i = a1 :=len f1 or i = f1 :=<0,...,0> a1 ) & it1 = {a1} ) & ex a2 being Int-Location ex f2 being FinSeq-Location st
( ( i = a2 :=len f2 or i = f2 :=<0,...,0> a2 ) & it2 = {a2} ) implies it1 = it2 )given a1 being
Int-Location ,
f1 being
FinSeq-Location such that A30:
(
i = a1 :=len f1 or
i = f1 :=<0,...,0> a1 )
and A31:
it1 = {a1}
;
( ex a2 being Int-Location ex f2 being FinSeq-Location st
( ( i = a2 :=len f2 or i = f2 :=<0,...,0> a2 ) & it2 = {a2} ) implies it1 = it2 )given a2 being
Int-Location ,
f2 being
FinSeq-Location such that A32:
(
i = a2 :=len f2 or
i = f2 :=<0,...,0> a2 )
and A33:
it2 = {a2}
;
it1 = it2A34:
( (
i = f1 :=<0,...,0> a1 or
i = f2 :=<0,...,0> a2 ) implies
InsCode i = 12 )
by SCMFSA_2:53;
end;
thus
( InsCode i in {1,2,3,4,5} or InsCode i = 7 or InsCode i = 8 or InsCode i = 9 or InsCode i = 10 or InsCode i = 11 or InsCode i = 12 or not it1 = {} or not it2 = {} or it1 = it2 )
; verum