let x1, x2, x3 be set ; for X being non empty finite set
for f being Function of (3 -tuples_on X),X
for S being with_nonpair_inputs Signature of X st ( x1 in the carrier of S or not x1 is pair ) & ( x2 in the carrier of S or not x2 is pair ) & ( x3 in the carrier of S or not x3 is pair ) holds
S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs
let X be non empty finite set ; for f being Function of (3 -tuples_on X),X
for S being with_nonpair_inputs Signature of X st ( x1 in the carrier of S or not x1 is pair ) & ( x2 in the carrier of S or not x2 is pair ) & ( x3 in the carrier of S or not x3 is pair ) holds
S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs
let f be Function of (3 -tuples_on X),X; for S being with_nonpair_inputs Signature of X st ( x1 in the carrier of S or not x1 is pair ) & ( x2 in the carrier of S or not x2 is pair ) & ( x3 in the carrier of S or not x3 is pair ) holds
S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs
let S be with_nonpair_inputs Signature of X; ( ( x1 in the carrier of S or not x1 is pair ) & ( x2 in the carrier of S or not x2 is pair ) & ( x3 in the carrier of S or not x3 is pair ) implies S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs )
assume A1:
( ( x1 in the carrier of S or not x1 is pair ) & ( x2 in the carrier of S or not x2 is pair ) & ( x3 in the carrier of S or not x3 is pair ) )
; S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs
A2:
not Output (1GateCircStr <*x1,x2,x3*>,f) in InputVertices S
by FACIRC_1:def 2;
per cases
( ( x1 in the carrier of S & x2 in the carrier of S & x3 in the carrier of S ) or ( x1 in the carrier of S & not x2 in InnerVertices S & x3 in the carrier of S ) or ( x2 in the carrier of S & not x1 in InnerVertices S & x3 in the carrier of S ) or ( x1 in the carrier of S & x2 in the carrier of S & not x3 in InnerVertices S ) or ( x1 in the carrier of S & not x2 in InnerVertices S & not x3 in InnerVertices S ) or ( x2 in the carrier of S & not x1 in InnerVertices S & not x3 in InnerVertices S ) or ( not x1 in InnerVertices S & not x2 in InnerVertices S & x3 in the carrier of S ) or ( not x1 is pair & not x2 is pair & not x3 is pair ) )
by A1;
suppose
( (
x1 in the
carrier of
S &
x2 in the
carrier of
S &
x3 in the
carrier of
S ) or (
x1 in the
carrier of
S & not
x2 in InnerVertices S &
x3 in the
carrier of
S ) or (
x2 in the
carrier of
S & not
x1 in InnerVertices S &
x3 in the
carrier of
S ) or (
x1 in the
carrier of
S &
x2 in the
carrier of
S & not
x3 in InnerVertices S ) or (
x1 in the
carrier of
S & not
x2 in InnerVertices S & not
x3 in InnerVertices S ) or (
x2 in the
carrier of
S & not
x1 in InnerVertices S & not
x3 in InnerVertices S ) or ( not
x1 in InnerVertices S & not
x2 in InnerVertices S &
x3 in the
carrier of
S ) )
;
S +* (1GateCircStr <*x1,x2,x3*>,f) is with_nonpair_inputs then
(
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = InputVertices S or ( not
{x2} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x2} \/ (InputVertices S) ) or ( not
{x1} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x1} \/ (InputVertices S) ) or ( not
{x3} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x3} \/ (InputVertices S) ) or ( not
{x1,x2} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x1,x2} \/ (InputVertices S) ) or ( not
{x2,x3} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x2,x3} \/ (InputVertices S) ) or ( not
{x1,x3} is
with_pair &
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) = {x1,x3} \/ (InputVertices S) ) )
by A1, A2, Th45, Th46, Th47, Th48, Th49, Th50, Th51;
hence
not
InputVertices (S +* (1GateCircStr <*x1,x2,x3*>,f)) is
with_pair
;
CIRCCMB3:def 11 verum end; end;