
theorem Th15:
  for x,y,c being set st
  x <> [<*y,c*>, and2] & y <> [<*x,c*>, and2a] & c <> [<*x,y*>, and2a]
  holds InputVertices BorrowStr(x,y,c) = {x,y,c}
proof
  let x,y,c be set;
  set xy = [<*x,y*>, and2a], yc = [<*y,c*>, and2], xc = [<*x,c*>, and2a];
  set S = 1GateCircStr(<*xy, yc, xc*>, or3);
A1: InnerVertices S = {[<*xy, yc, xc*>, or3]} by CIRCCOMB:42;
A2: InputVertices S = rng <*xy, yc, xc*> by CIRCCOMB:42
    .= {xy, yc, xc} by FINSEQ_2:128;
  set BI = BorrowIStr(x,y,c);
  assume that
A3: x <> yc and
A4: y <> xc and
A5: c <> xy;
  rng <*x,c*> = {x,c} by FINSEQ_2:127;
  then
A6: x in rng <*x,c*> by TARSKI:def 2;
  len <*xy, yc, xc*> = 3 by FINSEQ_1:45;
  then
A7: Seg 3 = dom <*xy, yc, xc*> by FINSEQ_1:def 3;
  then
A8: 3 in dom <*xy, yc, xc*> by FINSEQ_1:1;
  <*xy, yc, xc*>.3 = xc;
  then [3,xc] in <*xy, yc, xc*> by A8,FUNCT_1:1;
  then xc in rng <*xy, yc, xc*> by XTUPLE_0:def 13;
  then
A9: the_rank_of xc in the_rank_of [<*xy, yc, xc*>, or3] by CLASSES1:82;
  rng <*x,y*> = {x,y} by FINSEQ_2:127;
  then
A10: y in rng <*x,y*> by TARSKI:def 2;
A11: 1 in dom <*xy, yc, xc*> by A7,FINSEQ_1:1;
  <*xy, yc, xc*>.1 = xy;
  then [1,xy] in <*xy, yc, xc*> by A11,FUNCT_1:1;
  then xy in rng <*xy, yc, xc*> by XTUPLE_0:def 13;
  then
A12: the_rank_of xy in the_rank_of [<*xy, yc, xc*>, or3] by CLASSES1:82;
  rng <*y,c*> = {y,c} by FINSEQ_2:127;
  then
A13: c in rng <*y,c*> by TARSKI:def 2;
A14: 2 in dom <*xy, yc, xc*> by A7,FINSEQ_1:1;
  <*xy, yc, xc*>.2 = yc;
  then [2,yc] in <*xy, yc, xc*> by A14,FUNCT_1:1;
  then yc in rng <*xy, yc, xc*> by XTUPLE_0:def 13;
  then
A15: the_rank_of yc in the_rank_of [<*xy, yc, xc*>, or3] by CLASSES1:82;
A16: {xy, yc, xc} \ {xy, yc, xc} = {} by XBOOLE_1:37;
A17: {x, y, c} \ {[<*xy, yc, xc*>, or3]} = {x, y, c}
  proof
    thus {x,y,c} \ {[<*xy, yc, xc*>, or3]} c= {x,y,c};
    let a be object;
    assume
A18: a in {x,y,c};
    then a = x or a = y or a = c by ENUMSET1:def 1;
    then a <> [<*xy, yc, xc*>, or3] by A6,A9,A10,A12,A13,A15,CLASSES1:82;
    then not a in {[<*xy, yc, xc*>, or3]} by TARSKI:def 1;
    hence thesis by A18,XBOOLE_0:def 5;
  end;
  thus InputVertices BorrowStr(x,y,c)
  = ((InputVertices BI) \ InnerVertices S) \/
  ((InputVertices S) \ InnerVertices BI) by CIRCCMB2:5,CIRCCOMB:47
    .= {x,y,c} \/ ({xy, yc, xc} \ InnerVertices BI) by A1,A2,A3,A4,A5,A17,Th13
    .= {x,y,c} \/ {} by A16,Th12
    .= {x,y,c};
end;
