let f, g be nonpair-yielding FinSequence; :: thesis: for n being Element of NAT holds
( InputVertices ((n + 1) -BitSubtracterStr (f,g)) = (InputVertices (n -BitSubtracterStr (f,g))) \/ ((InputVertices (BitSubtracterWithBorrowStr ((f . (n + 1)),(g . (n + 1)),(n -BitBorrowOutput (f,g))))) \ {(n -BitBorrowOutput (f,g))}) & InnerVertices (n -BitSubtracterStr (f,g)) is Relation & not InputVertices (n -BitSubtracterStr (f,g)) is with_pair )

deffunc H1( Nat) -> non empty non void strict unsplit gate`1=arity gate`2isBoolean ManySortedSign = $1 -BitSubtracterStr (f,g);
deffunc H2( set , Nat) -> ManySortedSign = BitSubtracterWithBorrowStr ((f . ($2 + 1)),(g . ($2 + 1)),$1);
deffunc H3( Nat) -> Element of InnerVertices ($1 -BitSubtracterStr (f,g)) = $1 -BitBorrowOutput (f,g);
consider h being ManySortedSet of NAT such that
A1: for n being Element of NAT holds h . n = H3(n) from PBOOLE:sch 5();
deffunc H4( Nat) -> set = h . $1;
deffunc H5( set , Nat) -> Element of InnerVertices (BorrowStr ((f . ($2 + 1)),(g . ($2 + 1)),$1)) = BorrowOutput ((f . ($2 + 1)),(g . ($2 + 1)),$1);
set k = (0 -tuples_on BOOLEAN) --> TRUE;
A2: 0 -BitSubtracterStr (f,g) = 1GateCircStr (<*>,((0 -tuples_on BOOLEAN) --> TRUE)) by Th2;
then A3: InnerVertices H1( 0 ) is Relation by FACIRC_1:38;
A4: not InputVertices H1( 0 ) is with_pair by A2, FACIRC_1:39;
H4( 0 ) = 0 -BitBorrowOutput (f,g) by A1;
then A5: h . 0 in InnerVertices H1( 0 ) ;
A6: for n being Nat
for x being set holds InnerVertices H2(x,n) is Relation by FSCIRC_1:22;
A7: now
let n be Element of NAT ; :: thesis: for x being set st x = H4(n) holds
InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x}

let x be set ; :: thesis: ( x = H4(n) implies InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x} )
assume A8: x = H4(n) ; :: thesis: InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x}
A9: H4(n) = n -BitBorrowOutput (f,g) by A1;
then A10: x <> [<*(f . (n + 1)),(g . (n + 1))*>,and2a] by A8, Th19;
x <> [<*(f . (n + 1)),(g . (n + 1))*>,'xor'] by A8, A9, Th19;
hence InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x} by A10, Th16; :: thesis: verum
end;
A11: for n being Nat
for x being set st x = h . n holds
not (InputVertices H2(x,n)) \ {x} is with_pair
proof
let n be Nat; :: thesis: for x being set st x = h . n holds
not (InputVertices H2(x,n)) \ {x} is with_pair

let x be set ; :: thesis: ( x = h . n implies not (InputVertices H2(x,n)) \ {x} is with_pair )
assume A12: x = H4(n) ; :: thesis: not (InputVertices H2(x,n)) \ {x} is with_pair
n in NAT by ORDINAL1:def 12;
then A13: InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x} by A7, A12;
thus not (InputVertices H2(x,n)) \ {x} is with_pair :: thesis: verum
proof
let a be pair set ; :: according to FACIRC_1:def 2 :: thesis: not a in (InputVertices H2(x,n)) \ {x}
assume A14: a in (InputVertices H2(x,n)) \ {x} ; :: thesis: contradiction
then a in InputVertices H2(x,n) by XBOOLE_0:def 5;
then A15: ( a = f . (n + 1) or a = g . (n + 1) or a = x ) by A13, ENUMSET1:def 1;
not a in {x} by A14, XBOOLE_0:def 5;
hence contradiction by A15, TARSKI:def 1; :: thesis: verum
end;
end;
A16: now
let n be Nat; :: thesis: for S being non empty ManySortedSign
for x being set st S = H1(n) & x = h . n holds
( H1(n + 1) = S +* H2(x,n) & h . (n + 1) = H5(x,n) & x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) )

let S be non empty ManySortedSign ; :: thesis: for x being set st S = H1(n) & x = h . n holds
( H1(n + 1) = S +* H2(x,n) & h . (n + 1) = H5(x,n) & x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) )

let x be set ; :: thesis: ( S = H1(n) & x = h . n implies ( H1(n + 1) = S +* H2(x,n) & h . (n + 1) = H5(x,n) & x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) ) )
A17: n in NAT by ORDINAL1:def 12;
assume that
A18: S = H1(n) and
A19: x = h . n ; :: thesis: ( H1(n + 1) = S +* H2(x,n) & h . (n + 1) = H5(x,n) & x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) )
A20: x = n -BitBorrowOutput (f,g) by A1, A17, A19;
A21: H4(n + 1) = (n + 1) -BitBorrowOutput (f,g) by A1;
thus H1(n + 1) = S +* H2(x,n) by A17, A18, A20, Th7; :: thesis: ( h . (n + 1) = H5(x,n) & x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) )
thus h . (n + 1) = H5(x,n) by A17, A20, A21, Th7; :: thesis: ( x in InputVertices H2(x,n) & H5(x,n) in InnerVertices H2(x,n) )
InputVertices H2(x,n) = {(f . (n + 1)),(g . (n + 1)),x} by A7, A17, A19;
hence x in InputVertices H2(x,n) by ENUMSET1:def 1; :: thesis: H5(x,n) in InnerVertices H2(x,n)
A22: InnerVertices H2(x,n) = ({[<*(f . (n + 1)),(g . (n + 1))*>,'xor'],(2GatesCircOutput ((f . (n + 1)),(g . (n + 1)),x,'xor'))} \/ {[<*(f . (n + 1)),(g . (n + 1))*>,and2a],[<*(g . (n + 1)),x*>,and2],[<*(f . (n + 1)),x*>,and2a]}) \/ {(BorrowOutput ((f . (n + 1)),(g . (n + 1)),x))} by Th17;
H5(x,n) in {H5(x,n)} by TARSKI:def 1;
hence H5(x,n) in InnerVertices H2(x,n) by A22, XBOOLE_0:def 3; :: thesis: verum
end;
A23: for n being Nat holds
( InputVertices H1(n + 1) = (InputVertices H1(n)) \/ ((InputVertices H2(h . n,n)) \ {(h . n)}) & InnerVertices H1(n) is Relation & not InputVertices H1(n) is with_pair ) from CIRCCMB2:sch 11(A3, A4, A5, A6, A11, A16);
let n be Element of NAT ; :: thesis: ( InputVertices ((n + 1) -BitSubtracterStr (f,g)) = (InputVertices (n -BitSubtracterStr (f,g))) \/ ((InputVertices (BitSubtracterWithBorrowStr ((f . (n + 1)),(g . (n + 1)),(n -BitBorrowOutput (f,g))))) \ {(n -BitBorrowOutput (f,g))}) & InnerVertices (n -BitSubtracterStr (f,g)) is Relation & not InputVertices (n -BitSubtracterStr (f,g)) is with_pair )
h . n = n -BitBorrowOutput (f,g) by A1;
hence ( InputVertices ((n + 1) -BitSubtracterStr (f,g)) = (InputVertices (n -BitSubtracterStr (f,g))) \/ ((InputVertices (BitSubtracterWithBorrowStr ((f . (n + 1)),(g . (n + 1)),(n -BitBorrowOutput (f,g))))) \ {(n -BitBorrowOutput (f,g))}) & InnerVertices (n -BitSubtracterStr (f,g)) is Relation & not InputVertices (n -BitSubtracterStr (f,g)) is with_pair ) by A23; :: thesis: verum