let n be Nat; :: thesis: for x, y being nonpair-yielding FinSeqLen of
for s being State of (n -BitGFA1Circ x,y) holds Following s,(1 + (2 * n)) is stable
let f, g be nonpair-yielding FinSeqLen of ; :: thesis: for s being State of (n -BitGFA1Circ f,g) holds Following s,(1 + (2 * n)) is stable
deffunc H1( set , Nat) -> ManySortedSign = BitGFA1Str (f . ($2 + 1)),(g . ($2 + 1)),$1;
deffunc H2( set , Nat) -> MSAlgebra of BitGFA1Str (f . ($2 + 1)),(g . ($2 + 1)),$1 = BitGFA1Circ (f . ($2 + 1)),(g . ($2 + 1)),$1;
deffunc H3( set , Nat) -> Element of InnerVertices (GFA1CarryStr (f . ($2 + 1)),(g . ($2 + 1)),$1) = GFA1CarryOutput (f . ($2 + 1)),(g . ($2 + 1)),$1;
set S0 = 1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE );
set A0 = 1GateCircuit <*> ,((0 -tuples_on BOOLEAN ) --> TRUE );
set h0 = [<*> ,((0 -tuples_on BOOLEAN ) --> TRUE )];
n in NAT
by ORDINAL1:def 13;
then consider N being Function of NAT ,NAT such that
A1:
( N . 0 = 1 & N . 1 = 2 & N . 2 = n )
by FACIRC_2:37;
deffunc H4( Nat) -> Element of NAT = N . $1;
A2:
for x being set
for n being Nat holds H2(x,n) is strict gate`2=den Boolean Circuit of H1(x,n)
;
deffunc H5( Nat) -> Element of InnerVertices ($1 -BitGFA1Str f,g) = $1 -BitGFA1CarryOutput f,g;
consider h being ManySortedSet of such that
A4:
for n being Element of NAT holds h . n = H5(n)
from PBOOLE:sch 5();
A5:
for n being Nat
for x being set
for A being non-empty Circuit of H1(x,n) st x = h . n & A = H2(x,n) holds
for s being State of A holds Following s,H4(1) is stable
proof
set f1 =
and2c ;
set f2 =
and2a ;
set f3 =
and2 ;
set f0 =
xor2c ;
let n be
Nat;
:: thesis: for x being set
for A being non-empty Circuit of H1(x,n) st x = h . n & A = H2(x,n) holds
for s being State of A holds Following s,H4(1) is stable let x be
set ;
:: thesis: for A being non-empty Circuit of H1(x,n) st x = h . n & A = H2(x,n) holds
for s being State of A holds Following s,H4(1) is stable let A be
non-empty Circuit of
H1(
x,
n);
:: thesis: ( x = h . n & A = H2(x,n) implies for s being State of A holds Following s,H4(1) is stable )
assume Z:
x = h . n
;
:: thesis: ( not A = H2(x,n) or for s being State of A holds Following s,H4(1) is stable )
n in NAT
by ORDINAL1:def 13;
then
x = H5(
n)
by A4, Z;
then
(
f . (n + 1) <> [<*(g . (n + 1)),x*>,and2a ] &
g . (n + 1) <> [<*x,(f . (n + 1))*>,and2 ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,and2c ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,xor2c ] )
by Lm4;
hence
( not
A = H2(
x,
n) or for
s being
State of
A holds
Following s,
H4(1) is
stable )
by A1, GFACIRC1:85;
:: thesis: verum
end;
set Sn = n -BitGFA1Str f,g;
set An = n -BitGFA1Circ f,g;
set o0 = 0 -BitGFA1CarryOutput f,g;
consider f1, g1, h1 being ManySortedSet of such that
A6:
( n -BitGFA1Str f,g = f1 . n & n -BitGFA1Circ f,g = g1 . n )
and
A7:
( f1 . 0 = 1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & g1 . 0 = 1GateCircuit <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & h1 . 0 = [<*> ,((0 -tuples_on BOOLEAN ) --> TRUE )] & ( for n being Nat
for S being non empty ManySortedSign
for A being non-empty MSAlgebra of S
for z being set st S = f1 . n & A = g1 . n & z = h1 . n holds
( f1 . (n + 1) = S +* H1(z,n) & g1 . (n + 1) = A +* H2(z,n) & h1 . (n + 1) = H3(z,n) ) ) )
by Def6;
then A8:
h1 = h
by PBOOLE:3;
A9:
ex u, v being ManySortedSet of st
( n -BitGFA1Str f,g = u . H4(2) & n -BitGFA1Circ f,g = v . H4(2) & u . 0 = 1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & v . 0 = 1GateCircuit <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & h . 0 = 0 -BitGFA1CarryOutput f,g & ( for n being Nat
for S being non empty ManySortedSign
for A1 being non-empty MSAlgebra of S
for x being set
for A2 being non-empty MSAlgebra of H1(x,n) st S = u . n & A1 = v . n & x = h . n & A2 = H2(x,n) holds
( u . (n + 1) = S +* H1(x,n) & v . (n + 1) = A1 +* A2 & h . (n + 1) = H3(x,n) ) ) )
proof
take
f1
;
:: thesis: ex v being ManySortedSet of st
( n -BitGFA1Str f,g = f1 . H4(2) & n -BitGFA1Circ f,g = v . H4(2) & f1 . 0 = 1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & v . 0 = 1GateCircuit <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & h . 0 = 0 -BitGFA1CarryOutput f,g & ( for n being Nat
for S being non empty ManySortedSign
for A1 being non-empty MSAlgebra of S
for x being set
for A2 being non-empty MSAlgebra of H1(x,n) st S = f1 . n & A1 = v . n & x = h . n & A2 = H2(x,n) holds
( f1 . (n + 1) = S +* H1(x,n) & v . (n + 1) = A1 +* A2 & h . (n + 1) = H3(x,n) ) ) )
take
g1
;
:: thesis: ( n -BitGFA1Str f,g = f1 . H4(2) & n -BitGFA1Circ f,g = g1 . H4(2) & f1 . 0 = 1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & g1 . 0 = 1GateCircuit <*> ,((0 -tuples_on BOOLEAN ) --> TRUE ) & h . 0 = 0 -BitGFA1CarryOutput f,g & ( for n being Nat
for S being non empty ManySortedSign
for A1 being non-empty MSAlgebra of S
for x being set
for A2 being non-empty MSAlgebra of H1(x,n) st S = f1 . n & A1 = g1 . n & x = h . n & A2 = H2(x,n) holds
( f1 . (n + 1) = S +* H1(x,n) & g1 . (n + 1) = A1 +* A2 & h . (n + 1) = H3(x,n) ) ) )
thus
(
n -BitGFA1Str f,
g = f1 . H4(2) &
n -BitGFA1Circ f,
g = g1 . H4(2) &
f1 . 0 = 1GateCircStr <*> ,
((0 -tuples_on BOOLEAN ) --> TRUE ) &
g1 . 0 = 1GateCircuit <*> ,
((0 -tuples_on BOOLEAN ) --> TRUE ) &
h . 0 = 0 -BitGFA1CarryOutput f,
g & ( for
n being
Nat for
S being non
empty ManySortedSign for
A1 being
non-empty MSAlgebra of
S for
x being
set for
A2 being
non-empty MSAlgebra of
H1(
x,
n) st
S = f1 . n &
A1 = g1 . n &
x = h . n &
A2 = H2(
x,
n) holds
(
f1 . (n + 1) = S +* H1(
x,
n) &
g1 . (n + 1) = A1 +* A2 &
h . (n + 1) = H3(
x,
n) ) ) )
by A1, A4, A6, A7, A8;
:: thesis: verum
end;
A10:
( InnerVertices (1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE )) is Relation & not InputVertices (1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE )) is with_pair )
by FACIRC_1:38, FACIRC_1:39;
( 0 -BitGFA1CarryOutput f,g = [<*> ,((0 -tuples_on BOOLEAN ) --> TRUE )] & InnerVertices (1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE )) = {[<*> ,((0 -tuples_on BOOLEAN ) --> TRUE )]} )
by Th16, CIRCCOMB:49;
then A11:
( h . 0 = 0 -BitGFA1CarryOutput f,g & 0 -BitGFA1CarryOutput f,g in InnerVertices (1GateCircStr <*> ,((0 -tuples_on BOOLEAN ) --> TRUE )) )
by A4, TARSKI:def 1;
A12:
for n being Nat
for x being set holds InnerVertices H1(x,n) is Relation
by GFACIRC1:77;
A13:
for n being Nat
for x being set st x = h . n holds
not (InputVertices H1(x,n)) \ {x} is with_pair
proof
set f1 =
and2c ;
set f2 =
and2a ;
set f3 =
and2 ;
set f0 =
xor2c ;
let n be
Nat;
:: thesis: for x being set st x = h . n holds
not (InputVertices H1(x,n)) \ {x} is with_pair let x be
set ;
:: thesis: ( x = h . n implies not (InputVertices H1(x,n)) \ {x} is with_pair )
assume A14:
x = h . n
;
:: thesis: not (InputVertices H1(x,n)) \ {x} is with_pair
n in NAT
by ORDINAL1:def 13;
then
x = H5(
n)
by A4, A14;
then
(
f . (n + 1) <> [<*(g . (n + 1)),x*>,and2a ] &
g . (n + 1) <> [<*x,(f . (n + 1))*>,and2 ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,and2c ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,xor2c ] )
by Lm4;
then A15:
InputVertices H1(
x,
n)
= {(f . (n + 1)),(g . (n + 1)),x}
by GFACIRC1:78;
let a be
pair set ;
:: according to FACIRC_1:def 2 :: thesis: not a in (InputVertices H1(x,n)) \ {x}
assume
a in (InputVertices H1(x,n)) \ {x}
;
:: thesis: contradiction
then
(
a in {(f . (n + 1)),(g . (n + 1)),x} & not
a in {x} )
by A15, XBOOLE_0:def 5;
then
( (
a = f . (n + 1) or
a = g . (n + 1) or
a = x ) &
a <> x )
by ENUMSET1:def 1, TARSKI:def 1;
hence
contradiction
;
:: thesis: verum
end;
A16:
for n being Nat
for x being set st x = h . n holds
( h . (n + 1) = H3(x,n) & x in InputVertices H1(x,n) & H3(x,n) in InnerVertices H1(x,n) )
proof
set f1 =
and2c ;
set f2 =
and2a ;
set f3 =
and2 ;
set f0 =
xor2c ;
let n be
Nat;
:: thesis: for x being set st x = h . n holds
( h . (n + 1) = H3(x,n) & x in InputVertices H1(x,n) & H3(x,n) in InnerVertices H1(x,n) )let x be
set ;
:: thesis: ( x = h . n implies ( h . (n + 1) = H3(x,n) & x in InputVertices H1(x,n) & H3(x,n) in InnerVertices H1(x,n) ) )
assume A17:
x = h . n
;
:: thesis: ( h . (n + 1) = H3(x,n) & x in InputVertices H1(x,n) & H3(x,n) in InnerVertices H1(x,n) )
n in NAT
by ORDINAL1:def 13;
then A18:
(
x = H5(
n) &
h . (n + 1) = H5(
n + 1) )
by A4, A17;
hence
h . (n + 1) = H3(
x,
n)
by Th21;
:: thesis: ( x in InputVertices H1(x,n) & H3(x,n) in InnerVertices H1(x,n) )
(
f . (n + 1) <> [<*(g . (n + 1)),x*>,and2a ] &
g . (n + 1) <> [<*x,(f . (n + 1))*>,and2 ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,and2c ] &
x <> [<*(f . (n + 1)),(g . (n + 1))*>,xor2c ] )
by A18, Lm4;
then
InputVertices H1(
x,
n)
= {(f . (n + 1)),(g . (n + 1)),x}
by GFACIRC1:78;
hence
x in InputVertices H1(
x,
n)
by ENUMSET1:def 1;
:: thesis: H3(x,n) in InnerVertices H1(x,n)
A19:
InnerVertices H1(
x,
n)
= (({[<*(f . (n + 1)),(g . (n + 1))*>,xor2c ]} \/ {(GFA1AdderOutput (f . (n + 1)),(g . (n + 1)),x)}) \/ {[<*(f . (n + 1)),(g . (n + 1))*>,and2c ],[<*(g . (n + 1)),x*>,and2a ],[<*x,(f . (n + 1))*>,and2 ]}) \/ {(GFA1CarryOutput (f . (n + 1)),(g . (n + 1)),x)}
by GFACIRC1:76;
H3(
x,
n)
in {H3(x,n)}
by TARSKI:def 1;
hence
H3(
x,
n)
in InnerVertices H1(
x,
n)
by A19, XBOOLE_0:def 3;
:: thesis: verum
end;
for s being State of (n -BitGFA1Circ f,g) holds Following s,(H4( 0 ) + (H4(2) * H4(1))) is stable
from CIRCCMB2:sch 22(A2, A3, A5, A9, A10, A11, A12, A13, A16);
hence
for s being State of (n -BitGFA1Circ f,g) holds Following s,(1 + (2 * n)) is stable
by A1; :: thesis: verum