let x, y, c be non pair set ; for s being State of (BorrowCirc (x,y,c)) holds Following (s,2) is stable
set S = BorrowStr (x,y,c);
reconsider xx = x, yy = y, cc = c as Vertex of (BorrowStr (x,y,c)) by Th6;
let s be State of (BorrowCirc (x,y,c)); Following (s,2) is stable
set a1 = s . xx;
set a2 = s . yy;
set a3 = s . cc;
set ffs = Following (s,2);
set fffs = Following (Following (s,2));
A1:
Following (s,2) = Following (Following s)
by FACIRC_1:15;
A2:
y in InputVertices (BorrowStr (x,y,c))
by Th8;
then
(Following s) . y = s . yy
by CIRCUIT2:def 5;
then A3:
(Following (s,2)) . y = s . yy
by A1, A2, CIRCUIT2:def 5;
s . yy = s . y
;
then A4:
(Following (s,2)) . [<*x,c*>,and2a] = ('not' (s . xx)) '&' (s . cc)
by Lm2;
A5:
x in InputVertices (BorrowStr (x,y,c))
by Th8;
then
(Following s) . x = s . xx
by CIRCUIT2:def 5;
then A6:
(Following (s,2)) . x = s . xx
by A1, A5, CIRCUIT2:def 5;
s . xx = s . x
;
then A7:
(Following (s,2)) . [<*y,c*>,and2] = (s . yy) '&' (s . cc)
by Lm2;
A8:
c in InputVertices (BorrowStr (x,y,c))
by Th8;
then
(Following s) . c = s . cc
by CIRCUIT2:def 5;
then A9:
(Following (s,2)) . c = s . cc
by A1, A8, CIRCUIT2:def 5;
s . cc = s . c
;
then A10:
(Following (s,2)) . [<*x,y*>,and2a] = ('not' (s . xx)) '&' (s . yy)
by Lm2;
A11:
(Following (s,2)) . (BorrowOutput (x,y,c)) = ((('not' (s . xx)) '&' (s . yy)) 'or' ((s . yy) '&' (s . cc))) 'or' (('not' (s . xx)) '&' (s . cc))
by Lm2;
A12:
now for a being object st a in the carrier of (BorrowStr (x,y,c)) holds
(Following (s,2)) . a = (Following (Following (s,2))) . alet a be
object ;
( a in the carrier of (BorrowStr (x,y,c)) implies (Following (s,2)) . a = (Following (Following (s,2))) . a )assume A13:
a in the
carrier of
(BorrowStr (x,y,c))
;
(Following (s,2)) . a = (Following (Following (s,2))) . athen reconsider v =
a as
Vertex of
(BorrowStr (x,y,c)) ;
A14:
v in (InputVertices (BorrowStr (x,y,c))) \/ (InnerVertices (BorrowStr (x,y,c)))
by A13, XBOOLE_1:45;
thus
(Following (s,2)) . a = (Following (Following (s,2))) . a
verumproof
per cases
( v in InputVertices (BorrowStr (x,y,c)) or v in InnerVertices (BorrowStr (x,y,c)) )
by A14, XBOOLE_0:def 3;
suppose
v in InnerVertices (BorrowStr (x,y,c))
;
(Following (s,2)) . a = (Following (Following (s,2))) . athen
v in {[<*x,y*>,and2a],[<*y,c*>,and2],[<*x,c*>,and2a]} \/ {(BorrowOutput (x,y,c))}
by Th9;
then
(
v in {[<*x,y*>,and2a],[<*y,c*>,and2],[<*x,c*>,and2a]} or
v in {(BorrowOutput (x,y,c))} )
by XBOOLE_0:def 3;
then
(
v = [<*x,y*>,and2a] or
v = [<*y,c*>,and2] or
v = [<*x,c*>,and2a] or
v = BorrowOutput (
x,
y,
c) )
by ENUMSET1:def 1, TARSKI:def 1;
hence
(Following (s,2)) . a = (Following (Following (s,2))) . a
by A11, A10, A7, A4, A6, A3, A9, Lm1, Th13;
verum end; end;
end; end;
( dom (Following (Following (s,2))) = the carrier of (BorrowStr (x,y,c)) & dom (Following (s,2)) = the carrier of (BorrowStr (x,y,c)) )
by CIRCUIT1:3;
hence
Following (s,2) = Following (Following (s,2))
by A12, FUNCT_1:2; CIRCUIT2:def 6 verum